Banyak pembuat aplikasi menyediakan komponen kepada pemrogram yang dapat digunakan kembali di program lain. Kami biasanya memperkenalkan komponen pihak ketiga ini ke dalam program kami sendiri dan memanggil fungsi yang sudah jadi untuk mengimplementasikan fungsi yang relatif kompleks. Faktanya, kami juga dapat mempublikasikan fungsi di komponen pihak ketiga melalui jaringan untuk memberikan layanan kepada lebih banyak pengguna dengan lebih nyaman.
Untuk pengembangan .NET, komponen pihak ketiga dapat dibungkus melalui teknologi ASP.NET (untuk manusia) atau Web Service (untuk mesin). Berikut ini penggunaan ASP.NET untuk menerbitkan fungsi Execute di komponen Matlab sebagai contoh. Premisnya adalah Matlab telah diinstal di server.
Buat situs ASP.NET baru di VS2005, klik kanan pada direktori situs di panel Solution Explorer, pilih Tambahkan Referensi, dan tambahkan komponen COM Matlab: Perpustakaan Tipe Aplikasi Matlab (versi XX).
Tambahkan TextBox, Button dan kontrol Literal ke halaman web. TextBox digunakan untuk memasukkan ekspresi, Tombol mengonfirmasi eksekusi, dan hasil keluaran literal. Tambahkan kode kejadian berikut untuk memanggil fungsi Execute di komponen Matlab untuk mengeksekusi pernyataan Matlab:
Sub Terproteksi Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Menangani Button1.Click
Dim matlab As New MLApp.MLApp
Dim strMatLab Sebagai String
strMatLab = TextBox1.Text
Redupkan strResult As String = matlab.Execute(strMatLab)
strResult = strResult.Replace(Chr(10), "<br>")
strResult = strResult.Replace(" ", " ")
Saya .Literal1.Teks = strResult
matlab.Quit()
End Sub
Jalankan situs ini di VS2005, masukkan ekspresi di halaman web yang muncul, seperti "dsolve('Dx=x^2+5')", dan hasilnya akan ditampilkan setelah mengklik tombol : "ans = 5^(1/2)*tan(5^(1/2)*t+5^(1/2)*C1)". Namun jika Anda menggunakan IIS untuk mempublikasikan situs ini, kesalahan akan terjadi saat runtime. Alasannya adalah ASP.NET tidak memiliki izin untuk membuat komponen. Berdasarkan pesan kesalahan, kita perlu menambahkan kalimat ke file web.config situs web:
<identity impersonate="true" userName="xx" password="xx"/>
Pengguna yang ditentukan di sini haruslah pengguna dengan izin yang relevan di sisi server. Jika tidak ditentukan, otentikasi akan dilakukan pada halaman klien. Tentu saja, tidak aman menyimpan nama pengguna dan kata sandi dalam teks biasa di web.config, dan harus dienkripsi dalam aplikasi nyata.
Dalam hal ini, kami telah menyelesaikan rilis online fungsi evaluasi ekspresi Matlab. Anda dapat memberi tahu teman yang belum menginstal Matlab untuk masuk ke situs web Anda guna menggunakan fungsi komputasi Matlab yang canggih. (Catatan: Contoh ini hanya untuk demonstrasi. Pernyataan dan toolbox Matlab yang kuat sudah cukup untuk memungkinkan pengguna jarak jauh mengakses sistem file Anda melalui halaman web ini.)
Karena sifat dari protokol HTTP dan karakteristik eksekusi sisi server, ini jenis pengemasan komponen pihak ketiga Umumnya cocok untuk menerbitkan fungsi pemrosesan data, tetapi tidak cocok untuk fungsi kontrol penerbitan. Pada saat yang sama, metode ini tidak cocok untuk layanan yang sangat real-time atau memerlukan pelestarian negara. Untuk alasan keamanan, kami juga dapat merangkum ulang komponen pihak ketiga dan menambahkan pemfilteran data dan penanganan pengecualian.
Prinsipnya sangat sederhana. Saya harap Anda dapat berdiskusi dengan saya tentang nilai solusi ini dalam penerapan praktis.
Referensi:
1. Li Honggen, menerapkan algoritma MATLAB di .NET
( http://www.microsoft.com/china/community/Column/25.mspx )
2. Matlab 7.1, dokumen bantuan terkait Matlab Web Server