Layanan ASP.NET+Web mewujudkan berbagi perangkat lunak
Penulis:Eve Cole
Waktu Pembaruan:2009-06-30 15:39:48
Abstrak Artikel ini mengusulkan metode baru berbagi perangkat lunak melalui berbagi fungsi perangkat lunak. Keuntungan dari metode ini adalah mewujudkan pembagian fungsi perangkat lunak dalam bentuk pemanggilan layanan Web jarak jauh tanpa menyalin perangkat lunak ke klien dan juga mengurangi biaya. Beberapa redundansi sumber daya pada jaringan juga kondusif untuk berbagi layanan Web yang ada dan mengintegrasikan sistem baru. Selain itu, artikel ini menganalisis efektivitas metode baru ini melalui contoh modul verifikasi identitas siswa.
perkenalan
Berbagi perangkat lunak tradisional adalah menyalin perangkat lunak dari server jaringan ke klien untuk mewujudkan berbagi perangkat lunak. Kerugian dari metode ini adalah setiap klien yang perlu menggunakan perangkat lunak harus menyalin perangkat lunak tersebut terlebih dahulu, sehingga terjadi redundansi ruang di jaringan menghasilkan sejumlah besar data terisolasi dan logika bisnis duplikat.
Layanan web memberikan solusi yang layak untuk mencapai interoperabilitas data dan sistem dengan mengaktifkan pertukaran data dan pemanggilan logika aplikasi jarak jauh menggunakan pesan XML, memungkinkan data melewati firewall, dan memindahkan data antar sistem yang heterogen.
Artikel ini mengusulkan metode baru berbagi perangkat lunak melalui berbagi fungsi perangkat lunak untuk mengatasi masalah berbagi perangkat lunak tradisional. Keuntungan dari metode ini adalah bahwa berbagi fungsi perangkat lunak dicapai dalam bentuk pemanggilan layanan Web jarak jauh tanpa menyalin perangkat lunak ke klien juga mengurangi redundansi sumber daya pada jaringan, dan juga kondusif untuk berbagi layanan Web yang ada dan mengintegrasikan sistem baru. Selain itu, artikel ini menganalisis efektivitas metode baru ini melalui contoh modul verifikasi identitas siswa.
Arti berbagi perangkat lunak
Dengan mempopulerkan dan berkembangnya aplikasi komputer, perangkat lunak komputer praktis telah dikembangkan dan diterapkan di berbagai industri dan skala kecil di perusahaan atau departemen. Perangkat lunak ini telah sangat meningkatkan efisiensi kerja dan tingkat manajemen modern perusahaan, dan telah menjadi inti dari operasi bisnis dan manajemen perusahaan. Namun penerapan perangkat lunak khusus secara luas di hampir setiap departemen di sebagian besar perusahaan telah menghasilkan sejumlah besar logika bisnis yang berguna namun terisolasi dan berulang. Jika duplikasi desain dapat dihindari selama desain dan pengembangan, dan pembagian fungsi perangkat lunak digunakan untuk mencapai fungsi yang sama dari setiap modul, hal ini akan sangat menghemat biaya pengembangan perangkat lunak dan memberikan landasan arsitektur yang baik untuk peningkatan dan integrasi sistem di masa mendatang. Selain itu, logika bisnis yang ada dapat dibagikan dengan aplikasi lain melalui sedikit perbaikan, sehingga mengurangi biaya pengembangan.
Karena lingkungan di mana setiap aplikasi dikembangkan beragam dan teknologi terus berkembang, berbagi aplikasi yang ada untuk membuat serangkaian fitur merupakan hal yang sulit di masa lalu. Untungnya, kemunculan teknologi Layanan Web telah memungkinkan terwujudnya berbagi perangkat lunak. Layanan Web dari fungsi perangkat lunak menyediakan logika bisnis yang dapat dibagikan dalam Internet, dan pada akhirnya membentuk keterbukaan berdasarkan berbagai layanan komponen fungsional. Selanjutnya kita akan membahas bagaimana menggunakan teknologi Layanan Web untuk mewujudkan berbagi perangkat lunak.
Berbagi perangkat lunak berdasarkan teknologi Layanan Web
1. Pengenalan teknologi Web Services
Layanan Web dapat dianggap sebagai API yang digunakan di Internet, yang dapat dengan mudah diintegrasikan dan dipanggil oleh aplikasi dan bahkan Layanan Web lainnya untuk membentuk layanan aplikasi baru. Ia memiliki enkapsulasi lengkap, kopling longgar, dan kemampuan integrasi tinggi. Tidak ada keraguan bahwa teknologi Layanan Web akan menjadi teknologi utama Web generasi berikutnya, yang merupakan perwujudan dari "perangkat lunak sebagai layanan".
Arsitektur Layanan Web adalah sebagai berikut, terdiri dari peminta layanan, agen layanan, dan penyedia layanan:
Penyedia layanan Web adalah pemilik layanan Web. Ia mendaftar ke agen layanan untuk mengkonfigurasi dan mempublikasikan layanan, dan menunggu dengan sabar untuk menyediakan fungsinya sendiri kepada layanan dan pengguna lain; , yang menggunakan Operasi pencarian untuk mengambil deskripsi layanan dari broker layanan, kemudian mengikat ke penyedia layanan dan memanggil atau berinteraksi dengan layanan Web.
Penyedia layanan Web setara dengan perantara, yang menghubungkan peminta layanan Web dengan penyedia layanan Web yang sesuai, biasanya UDDI. UDDI menyediakan mekanisme untuk menemukan layanan Web secara dinamis bagi peminta layanan.
2. Implementasi software sharing berbasis Web Services
Dalam proses pengembangan perangkat lunak, orang sering membagi perangkat lunak ke dalam modul-modul yang berbeda sesuai dengan fungsinya untuk memfasilitasi reorganisasi, penggunaan kembali, modifikasi dan peningkatan fungsi modul. Untuk mewujudkan berbagi perangkat lunak melalui teknologi Layanan Web, pertama-tama perlu membagi sistem terintegrasi menjadi modul-modul sesuai fungsinya, kemudian membuat layanan Web untuk mengimplementasikan modul-modul fungsional ini agar layanan Web dapat diakses, juga perlu dipublikasikan deskripsi layanan (menyebarkan layanan Web) sehingga modul lain dapat ditemukan dan dipanggil. Dengan cara ini, fungsi perangkat lunak yang diimplementasikan sebagai layanan Web dapat digunakan bersama oleh aplikasi dan bahkan layanan Web lainnya.
Ketika peminta layanan seperti aplikasi atau layanan Web lainnya perlu memanggil layanan Web, mereka terlebih dahulu mengambil deskripsi layanan atau menanyakan jenis layanan yang diperlukan di pusat registrasi layanan. Ketika layanan yang diperlukan ditemukan, deskripsi layanan dapat digunakan untuk mengikat ke penyedia layanan dan memanggil layanan terkait.
Produk andalan Microsoft yang baru diluncurkan, Visual Studio.NET, dikenal sebagai alat pilihan untuk mengembangkan layanan Web. Menggunakan Visual Studio.NET dapat dengan mudah membuat dan memanggil layanan Web. Di bawah ini akan diberikan contoh spesifik berbagi perangkat lunak berdasarkan teknologi Layanan Web.
3. Contoh penerapan software sharing: implementasi bersama modul verifikasi identitas siswa.
Saat ini terdapat banyak sistem perangkat lunak di perguruan tinggi dan universitas, seperti sistem pemilihan mata kuliah, sistem query nilai, sistem kursus online, sistem perpustakaan, sistem keuangan mahasiswa, dll. Karena setiap sistem tidak bergantung satu sama lain, setiap sistem memiliki modul verifikasi identitas siswa, yang mengakibatkan duplikasi fungsional desain, selain itu, setiap sistem tidak bergantung satu sama lain, dan siswa perlu mengingat kata sandi untuk sistem yang berbeda;
Mengingat situasi di atas dan jaringan kampus yang sangat berkembang saat ini, kami sepenuhnya dapat menggunakan layanan Web untuk mewujudkan berbagi modul verifikasi identitas siswa. Berikut ini akan memperkenalkan proses pembuatan dan pemanggilan layanan web otentikasi identitas siswa menggunakan bahasa C# menggunakan lingkungan Visual Studio.NET.
1) Pembuatan layanan Web
Modul otentikasi identitas siswa terdiri dari 1 layanan web:
Boolean ValidUser publik (string ID pengguna, string Pwd)
Layanan web ValidUser digunakan untuk memverifikasi identitas siswa. Tabel informasi dasar siswa Siswa telah dibuat di database Sql Server StudentsInfo, di mana bidang UserID dan Pwd masing-masing menyimpan kode pengguna dan kata sandi siswa.
Berikut ini akan memperkenalkan proses pembuatan layanan Web secara detail:
a Jalankan lingkungan pengembangan Visual Studio.NET dan buat proyek jenis "ASP.NET Web Service" baru WSStudentLogin.
b Implementasi kode khusus layanan Web.
menggunakan Sistem.Data.SqlClient;
//Hilangkan kode...
Layanan kelas publik1 : Sistem.Web.Layanan.Layanan Web
{
string KonStr="";
ConnStr="DATABASE=Info Siswa;SERVER=10.1.111.19;UID=sa;PWD=;";
//Hilangkan kode...
[Metode Web]
Boolean ValidUser publik (string ID pengguna, string Pwd)
{
Bendera Boolean=false;
string sqlStr="";
//Buat objek koneksi database
SqlConnection tempConn=SqlConnection baru(ConnStr);
sqlStr="pilih * dari siswa di mana ID='"+userID+"' dan pwd='"+Pwd+"';";
//Buat objek perintah
SqlCommand tempComm=baru SqlCommand(sqlStr,tempConn);
tempConn.Buka();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) bendera=benar;
tempReader.Tutup();
tempComm.Buang();
bendera kembali;
}
}
Perlu dicatat bahwa hanya metode yang dijelaskan dengan [WebMethod] yang merupakan layanan Web yang dapat dipanggil dari jarak jauh. Oleh karena itu, [WebMethod] di depan metode tidak dapat dihilangkan.
Untuk membuat layanan web tersedia bagi orang lain, layanan tersebut harus disebarkan ke server web yang dapat diakses oleh klien yang ingin Anda dukung. Untuk menyebarkan layanan web ke server selain server pengembangan, Anda dapat menambahkan proyek instalasi web atau menyalin file yang diperlukan ke server target. Karena keterbatasan ruang, artikel ini tidak membahas hal ini secara mendalam. Diasumsikan bahwa layanan Web dalam contoh ini disebarkan di server pengembangan.
Setelah membuat dan menyebarkan layanan Web, kita dapat memanggil layanan Web yang sesuai pada klien. Berikut ini menjelaskan cara menemukan dan mereferensikan fungsi layanan Web pada klien.
2) Panggilan layanan web
Proses penggunaan layanan Web sebenarnya adalah proses mengikat pengguna layanan Web ke layanan Web dan memanggil metodenya. Untuk menyederhanakan proses pengikatan. Visual Studio.NET menyediakan metode kelas proxy layanan. Kelas proksi layanan menghasilkan kelas lokal berdasarkan dokumen deskripsi layanan Web (XXX.WSDL). Selama proses eksekusi, klien menggunakan informasi di kelas proksi untuk mengakses layanan Web dan mengimplementasikan pemanggilan metode sebenarnya. Visual Studio.NET memberi kita cara sederhana untuk mencapai proses ini:
a Buat program klien akses layanan Web.
Program klien akses layanan web dapat berupa berbagai jenis aplikasi atau layanan Web lainnya. Di sini, kami membuat proyek baru WebApplication2 dengan tipe "ASP.NET WEB Application".
b.Referensi layanan.
Pertama, klik Tambahkan Referensi Web pada menu Proyek. Selanjutnya, karena layanan Web dalam contoh ini terletak di komputer lokal, kita klik tautan "Layanan Web di komputer lokal" di panel browser. Kemudian, klik link Service1 dari daftar yang disediakan untuk mengambil informasi tentang layanan web. Lalu, klik Tambahkan Referensi untuk menambahkan referensi web ke layanan web target. Visual Studio.NET akan mengunduh deskripsi layanan dan menghasilkan kelas proxy yang berfungsi sebagai antarmuka antara aplikasi dan layanan Web.
c.Contoh kode khusus untuk memanggil layanan Web dalam program klien.
private void Button1_Click(pengirim objek, System.EventArgs e) {//Membuat objek kelas proksi localhost.Service1 ClientProxy=localhost.Service1(); mencoba {//Akses layanan Web melalui objek kelas kode if (ClientProxy.ValidUser(TxtUserId.Teks,txtPwd.Teks)) Label1.Teks="OK"; kalau tidak Label1.Teks="KESALAHAN" ; } menangkap(e) {lempar e;} Akhirnya {ClientProxy.Buang();} } |
lainnya
Teknologi Layanan Web memberikan landasan teknis yang baik untuk realisasi berbagi perangkat lunak dan integrasi sistem berdasarkan sistem informasi yang ada. Namun, berbagi perangkat lunak berdasarkan teknologi Layanan Web perlu benar-benar praktis. Kita juga perlu menyelesaikan masalah berikut: pertama, keamanan dan keandalan, pertama, keandalan koneksi transmisi jaringan layanan Web, dan kedua, keandalan konten layanan Web, yaitu memastikan integritas dan kerahasiaan data. Yang kedua adalah pengendalian hak penggunaan layanan. Layanan web merupakan perwujudan dari "perangkat lunak sebagai layanan". semua perlu diselesaikan dalam penggunaan sebenarnya. Selain itu, permasalahan seperti daya dukung layanan Web, penerapan dan penemuan layanan Web, dan kegagalan penanganan panggilan layanan Web oleh pelanggan juga merupakan masalah yang perlu diselesaikan.
ringkasan
Makalah ini mengusulkan realisasi berbagi perangkat lunak dari perspektif berbagi fungsi perangkat lunak, membahas penggunaan teknologi Layanan Web untuk mewujudkan berbagi fungsi perangkat lunak jarak jauh, dan menggunakan modul verifikasi badan mahasiswa untuk menganalisis efektivitas dan keuntungan dari berbagi fungsi perangkat lunak. Penelitian tentang pembagian fungsi perangkat lunak sangat penting bagi realisasi komputasi terdistribusi, dan memerlukan penelitian lebih lanjut.