Layanan Web dapat mengonversi aplikasi menjadi aplikasi web.
Dengan menggunakan layanan web, aplikasi Anda dapat mempublikasikan informasi kepada dunia atau menyediakan fitur.
Layanan Web dapat digunakan oleh aplikasi lain.
Layanan Web memungkinkan server Win 2K Departemen Akuntansi Anda untuk terhubung ke server UNIX vendor TI.
Platform Layanan Web Dasar adalah XML+HTTP.
Layanan Web Gunakan XML untuk kode data dan gunakan SOAP untuk mentransfer data.
Apa itu layanan web
WebService, seperti namanya, adalah layanan berbasis web. Ini menggunakan metode Web (HTTP) untuk menerima dan menanggapi beberapa permintaan dari sistem eksternal. Ini memungkinkan panggilan jarak jauh.
1: Dari perspektif mode kerja WebService, pada dasarnya tidak berbeda dari program web biasa (seperti ASP, JSP, dll.). Mereka adalah program berdasarkan protokol transmisi HTTP.
2: Data yang digunakan oleh WebService didasarkan pada format XML. Saat ini, layanan web standar terutama menggunakan protokol SOAP dalam format data. Protokol SOAP sebenarnya adalah protokol teks berdasarkan spesifikasi pengkodean XML.
Dukungan teknis untuk layanan web
Platform layanan web membutuhkan satu set protokol untuk memungkinkan pembuatan aplikasi terdistribusi. Platform apa pun memiliki metode representasi datanya dan sistem jenis. Untuk mencapai interoperabilitas, platform layanan web harus menyediakan sistem tipe standar untuk mengkomunikasikan berbagai jenis sistem di berbagai platform, bahasa pemrograman, dan model komponen. Saat ini perjanjian ini termasuk:
XML dan XSD
Extensible Markup Language XML adalah format dasar untuk mewakili data di platform layanan web. Selain mudah dibangun dan dianalisis, keuntungan utama XML adalah tidak ada hubungannya dengan platform dan vendor. XML dibuat oleh World Wide Web Association (W3C). XML SchemaxSD yang dikembangkan oleh W3C mendefinisikan serangkaian tipe data standar dan memberikan bahasa untuk memperluas set tipe data ini.
Platform layanan web menggunakan XSD sebagai sistem tipe data. Saat Anda membangun layanan web dalam bahasa seperti VB. NET atau C#, untuk mematuhi standar layanan Web, semua tipe data yang Anda gunakan harus dikonversi ke tipe XSD. Jika Anda ingin diteruskan antara platform yang berbeda dan perangkat lunak yang berbeda, Anda juga perlu membungkusnya dengan sesuatu. Hal semacam ini adalah protokol, seperti sabun.
SABUN
SOAP adalah protokal akses objek sederhana, yang merupakan protokol ringan untuk bertukar informasi pengkodean XML. Ini memiliki tiga aspek utama: XML-envelope mendefinisikan kerangka kerja untuk menggambarkan konten informasi dan cara memproses konten, mengkodekan objek program ke objek XML, dan menjalankan konvensi panggilan prosedur jarak jauh (RPC). Sabun dapat berjalan pada protokol transportasi lainnya. Misalnya, Anda dapat menggunakan SMTP, protokol email internet, untuk mengirimkan pesan SOAP, yang sangat menggoda. Header berbeda antara lapisan transportasi, tetapi muatan XML tetap sama.
Layanan Web berharap untuk mencapai kemampuan sistem yang berbeda untuk saling memanggil dengan cara "dialog perangkat lunak-perangkat lunak", melanggar keadaan yang tidak kompatibel antara aplikasi perangkat lunak, situs web dan berbagai perangkat, dan mencapai tujuan "integrasi musiman berdasarkan web".
WSDL
Layanan Web Deskripsi Bahasa WSDL adalah dokumen deskripsi formal yang disediakan dengan cara yang dapat dibaca mesin dan didasarkan pada XML. Ini digunakan untuk menggambarkan layanan web dan fungsinya, parameter, dan nilai mengembalikan. Karena didasarkan pada XML, WSDL dapat dibaca mesin dan dapat dibaca manusia.
Uddi
Tujuan UDDI adalah untuk menetapkan standar untuk e-commerce; UDDI adalah seperangkat standar dan spesifikasi dan spesifikasi Pusat Pendaftaran Informasi yang berbasis web yang disediakan untuk layanan web, dan juga mencakup serangkaian standar implementasi yang memungkinkan perusahaan untuk mendaftarkan layanan web mereka sendiri sehingga perusahaan lain dapat menemukan protokol akses. Memanggil RPC dan Pesan
Layanan web itu sendiri sebenarnya menerapkan komunikasi antar aplikasi. Kami sekarang memiliki dua cara komunikasi untuk aplikasi: Panggilan prosedur jarak jauh RPC dan pengiriman pesan. Saat menggunakan RPC, konsep klien adalah memanggil prosedur jarak jauh di server. Cara yang biasa adalah dengan instantiate objek jarak jauh dan memanggil metode dan propertinya. Sistem RPC mencoba untuk mencapai semacam transparansi lokasi: server memperlihatkan antarmuka objek jarak jauh, dan klien seperti antarmuka objek -objek ini yang digunakan secara lokal, sehingga menyembunyikan informasi yang mendasarinya, dan klien tidak perlu mengetahui mesin mana objek tersebut.
Bagaimana cara menerbitkan layanan web?
1. Gunakan JDK1.6.0_21 nanti untuk menerbitkan layanan layanan web. Dan lihat dokumen WSDL -nya melalui bilah alamat.
2. Hasilkan Kode Klien melalui WSimport, Panggil dan Lihat Hasil Jalankan. (Pelajari cara menelepon adalah fokus kami).
Perlu dicatat bahwa ketika JDK1.6._07 dirilis setelah versi JDK, kode harus sepenuhnya dijelaskan. Jika Anda menggunakan JDK1.6.0_21, karena sudah berisi WS2.1, Anda hanya dapat menambahkan anotasi @WebService ke kelas.
Berikut adalah dua kode yang berbeda:
WS dirilis pada JDK1.6.0_13 versi:
paket com.itcast; impor javax.jws.webmethod; impor javax.jws.webservice; impor javax.jws.soap.soapbinding; impor javax.jws.soap.soapbinding.style; impor javax.xml.ws.endpoint; @WebService (targetNeNespace = "http: // loalhost: 9999/helloWorld") @soapbinding (style = style.rpc) // hanya mendukung gaya rpc gaya public class helloworld {// berikut ini dijelaskan oleh @webmethod, metode @webmethod public string sayshell; } public static void main (string [] args) {endpoint.publish ("http: // localhost: 9999/helloworld", new helloworld ()); }} 2: Berikut ini adalah kode layanan web yang dirilis di JDK1.6.0_24:
paket com.itcast; impor javax.jws.webservice; impor javax.xml.ws.endpoint; @WebService // Perhatikan bahwa hanya ada anotasi ini, anotasi ini juga diperlukan. Gaya pesan sabun default adalah: dokumen kelas publik HelloWorld {public string sayshello () {return "helloWorld"; } public static void main (string [] args) {endpoint.publish ("http: // localhost: 9999/helloworld", new helloworld ()); }} Layanan layanan web pertama
paket com.itcast; impor javax.jws.webservice; impor javax.xml.ws.endpoint; / *** Aplikasi layanan webservice pertama*/ // dengan anotasi, ini menunjukkan bahwa kelas ini diterbitkan sebagai layanan web @webservice kelas publik helloWorld {public string sayshello () {return "hello world"; } // Dalam metode utama, gunakan javax.xml.ws.endpoint titik akhir untuk menerbitkan aplikasi public static void main (string [] args) {endpoint.publish ("http://127.0.1:9999/helloworld", new Helloworld ()); }}Deskripsi Kode: Semua metode yang terpapar non-statis dari kelas HelloWorld akan terpapar ke luar.
Deskripsi Alat WSimport:
Simport adalah alat yang dilengkapi dengan JDK, dan dapat menghasilkan kode panggilan sisi klien berdasarkan dokumen WSDL. Tentu saja, tidak peduli bahasa apa pun yang ditulis di layanan web sisi server, kode Java akan dihasilkan pada klien. Tidak masalah apa yang tertulis di sisi server.
WSIMPORT.EXE terletak di direktori Java_Home/bin.
Parameter umum adalah:
• -D <Rectory> - file .class akan dihasilkan. Parameter default.
• -S <Rectory> - File .java akan dihasilkan.
• -P <Nama paket baru yang dihasilkan> -Petikan kelas yang dihasilkan di bawah paket yang ditentukan.
(WSDLURL) - http: // server: port/service? wsdl, parameter yang diperlukan
menggunakan:
1: Anda dapat memeriksa nomor versi Anda saat ini melalui versi Java. Jika versinya terlalu rendah, Anda dapat menginstal versi JDK yang lebih tinggi.
Atau secara langsung menyalin direktori JDK yang diinstal ke mesin Anda seperti direktori d: /jdk1.6.0_24.
Karena variabel lingkungan sebelumnya telah diatur ke versi lama Direktori JDK sebelumnya, yaitu dua variabel lingkungan Java_home dan Path.
Anda dapat mengatur ulang variabel lingkungan ke: java_home = d: /jdk1.6.0_24, path =%java_home%/bin,
Setelah mengatur ulang variabel lingkungan, Anda harus membuka kembali jendela DOC (baris perintah) agar berlaku.
Jika Anda tidak ingin memodifikasi variabel lingkungan yang sudah dikonfigurasi, Anda dapat memasukkan perintah berikut di jendela baris perintah untuk membuat JDK1.6.0_24 berlaku:
Set Path = D: /Jdk1.6.0_24/bin;% Path% (cukup masukkan)
Kemudian periksa apakah jumlah versi JDK telah berubah melalui versi Java.
2: Pergi ke direktori yang relatif bersih, saya membuat nama direktori baru pada disk D yang disebut: WS, dan buka direktori ini.
3: Nyalakan layanan web Anda.
4: Masukkan perintah berikut:
WSimport s. http://127.0.0.1:9999/Helloworld?wsdl
Deskripsi Parameter: -S mengacu pada kompilasi file kode sumber, dan berikut (titik) mengacu pada meletakkannya di tempat sebelumnya.
HTTP terakhir ... mengacu pada alamat mendapatkan manual instruksi WSDL.
5: Saat ini, file .java dan file .class akan dihasilkan. (keduanya berisi nama paket asli). Salin kode ke proyek Anda. (Hanya salin file java)
6: Dalam proyek baru, kelas baru (dapat ditempatkan di bawah paket apa pun), hubungi kode yang dihasilkan di atas, lihat PPT di halaman berikutnya.
7: WSimport Parameter lain, parameter yang sering kita gunakan adalah -d, -s, -p
-D <Rectory> akan menghasilkan file .class.
Contoh: WSimport d. http://127.0.0.1:9999/Helloworld?wsdl
-s <Rectory> akan menghasilkan file .java.
Contoh: WSimport s. http://127.0.0.1:9999/Helloworld?wsdl
-p <nama paket> Ubah file yang dihasilkan (.java atau .class ke nama paket yang ditentukan)
Contoh: WSimport -S. -p com.beijing.itcast http://127.0.0.1:9999/helloworld?wsdl
Untuk parameter -p, perhatikan modifikasi nama paket. Itu menempatkan semua kelas yang dihasilkan di bawah paket yang ditentukan oleh -p. (Demo)
Perlu dicatat bahwa ketika hanya parameter -p yang digunakan, itu juga akan menggunakan -d pada saat yang sama untuk dikompilasi menjadi file .class. Jika parameter D ditulis atau tidak, itu ada di sana, dan itu tidak akan pernah pergi.
Kode sumber runmain.java adalah sebagai berikut:
paket com.leaf; impor com.itcast.hellororld; impor com.itcast.HelloworldService; /*** Panggilan kode jarak jauh dengan memanggil kelas yang dihasilkan*/kelas publik runmain {public static void main (string [] args) {// kembalikan antarmuka panggilan dari metode getHelloworldport dari helloworldserice helloworld = new helloworldservice (). GetHelloworldport (); String str = helloWorld.sayhello (); // Jalankan System Call.err.Println (str); // Return HelloWorld String}}Perbedaan antara layanan web dan program web biasa
1. WebService hanya menggunakan HTTP Post untuk mengirimkan data, dan tidak menggunakan GET;
1) Tipe konten dari posting TTTP adalah
(1) Aplikasi/X-WWW-Form-Urlencoded
2) Tipe Content of WebService adalah
(2) Teks/XML SOAP1.1
(3) Aplikasi/SOAP+XML SOAP1.2
2. WebService terbatas dari format transmisi data.
Data yang digunakan oleh WebService didasarkan pada format XML. Saat ini, layanan web standar terutama menggunakan protokol SOAP dalam format data. Protokol SOAP sebenarnya adalah protokol teks berdasarkan spesifikasi pengkodean XML.
Perbedaan antara server web dan server web:
Kita dapat menganggap layanan web sebagai aplikasi di server web; Di sisi lain, server web adalah wadah yang diperlukan untuk runtime WebService. Ini adalah perbedaan dan koneksi mereka.
Fitur WebService:
1. WebService menerima permintaan pelanggan melalui HTTP Post
2. Protokol SOAP umumnya digunakan antara WebService dan klien untuk mengirimkan data XML.
3. Ini dirancang untuk cross-platform atau cross-language.