Tutorial WSDL: Deskripsi Layanan Web Bahasa dengan Contoh

Daftar Isi:

Anonim

Apa itu WSDL?

Web Services Description Language (WSDL) adalah file berbasis XML yang pada dasarnya memberi tahu aplikasi klien apa yang dilakukan layanan web. File WSDL digunakan untuk menjelaskan secara singkat apa yang dilakukan layanan web dan memberi klien semua informasi yang diperlukan untuk menyambung ke layanan web dan menggunakan semua fungsionalitas yang disediakan oleh layanan web.

Dalam tutorial ini, kita akan fokus pada poin terakhir yang merupakan bagian terpenting dari layanan web, dan itu adalah WSDL atau bahasa deskripsi layanan Web.

File WSDL digunakan untuk menjelaskan secara singkat apa yang dilakukan layanan web dan memberi klien semua informasi yang diperlukan untuk menyambung ke layanan web dan menggunakan semua fungsionalitas yang disediakan oleh layanan web.

Dalam tutorial ini, Anda akan belajar-

  • Struktur Dokumen WSDL
  • Elemen WSDL
  • Mengapa WSDL
  • Bagian Pesan WSDL
  • Port Type Binding
  • Membuat File WSDL
  • Menerbitkan Contoh Layanan Web

Struktur Dokumen WSDL

Dokumen WSDL digunakan untuk mendeskripsikan layanan web. Deskripsi ini diperlukan, agar aplikasi klien dapat memahami apa yang sebenarnya dilakukan layanan web.

  • File WSDL berisi lokasi layanan web dan
  • Metode yang diekspos oleh layanan web.

File WSDL itu sendiri dapat terlihat sangat kompleks bagi pengguna mana pun, tetapi berisi semua informasi yang diperlukan yang diperlukan aplikasi klien untuk menggunakan layanan web yang relevan.

Di bawah ini adalah struktur umum file WSDL

  • Definisi
  • TargetNamespace
  • Tipe Data
  • Pesan
  • Porttype
  • Binding
  • layanan

Satu hal penting yang perlu diperhatikan di sini adalah bahwa definisi pesan, yang diteruskan oleh protokol SOAP, sebenarnya didefinisikan dalam dokumen WSDL.

Dokumen WSDL sebenarnya memberi tahu aplikasi klien apa saja jenis pesan SOAP yang dikirim dan diterima oleh layanan Web.

Dengan kata lain, WSDL itu seperti kartu pos yang memiliki alamat lokasi tertentu. Alamat tersebut memberikan detail orang yang mengirimkan kartu pos. Karenanya, dengan cara yang sama, file WSDL adalah kartu pos, yang memiliki alamat layanan web yang dapat memberikan semua fungsionalitas yang diinginkan klien.

Di bawah ini adalah diagram struktur file WSDL

Struktur WSDL

Elemen WSDL

File WSDL berisi bagian utama berikut ini

  1. The tag digunakan untuk mendefinisikan semua tipe data yang kompleks, yang akan digunakan dalam pesan dipertukarkan antara aplikasi klien dan layanan web. Ini merupakan aspek penting dari aplikasi klien, karena jika layanan web bekerja dengan tipe data yang kompleks, maka aplikasi klien harus mengetahui cara memproses tipe data yang kompleks. Tipe data seperti float, angka, dan string adalah tipe data sederhana, tetapi mungkin ada tipe data terstruktur yang mungkin disediakan oleh layanan web.

    Misalnya, mungkin ada tipe data yang disebut EmployeeDataType yang bisa memiliki 2 elemen yang disebut "EmployeeName" dari jenis string dan "EmployeeID" dari jenis nomor atau bilangan bulat. Bersama-sama mereka membentuk struktur data yang kemudian menjadi tipe data yang kompleks.

  2. The tag digunakan untuk menentukan pesan yang dipertukarkan antara aplikasi client dan server web. Pesan-pesan ini akan menjelaskan operasi input dan output yang dapat dilakukan oleh layanan web. Contoh pesan dapat berupa pesan yang menerima ID Karyawan dari seorang karyawan, dan pesan keluarannya dapat berupa nama karyawan berdasarkan EmpoyeeID yang disediakan.

  3. The tag digunakan untuk merangkum setiap input dan output pesan dalam satu operasi logis. Jadi mungkin ada operasi yang disebut "GetEmployee" yang menggabungkan pesan input menerima EmployeeID dari aplikasi klien dan kemudian mengirimkan EmployeeName sebagai pesan output.

  4. The tag digunakan untuk mengikat operasi untuk tipe port tertentu. Ini agar ketika aplikasi klien memanggil tipe port yang relevan, maka akan dapat mengakses operasi yang terikat pada tipe port ini. Jenis port sama seperti antarmuka. Jadi, jika aplikasi klien perlu menggunakan layanan web, mereka perlu menggunakan informasi yang mengikat untuk memastikan bahwa mereka dapat terhubung ke antarmuka yang disediakan oleh layanan web tersebut.

  5. The tag adalah nama yang diberikan ke layanan web itu sendiri. Awalnya ketika aplikasi klien melakukan panggilan ke web service, maka akan dilakukan dengan memanggil nama web service tersebut. Misalnya, layanan web dapat ditemukan di alamat seperti http: //localhost/Guru99/Tutorial.asmx . Tag layanan sebenarnya memiliki URL yang ditetapkan sebagai http: //localhost/Guru99/Tutorial.asmx , yang sebenarnya akan memberi tahu aplikasi klien bahwa ada layanan web yang tersedia di lokasi ini.

Mengapa WSDL

Layanan web merupakan komponen penting dalam membangun aplikasi web modern. Tujuan utamanya adalah memungkinkan banyak aplikasi yang dibangun di atas berbagai bahasa pemrograman untuk saling berkomunikasi. Misalnya, kita dapat membuat aplikasi web .Net berbicara ke aplikasi Java melalui layanan Web.

Layanan web memiliki beberapa fitur utama berikut

  • Itu dibangun menggunakan bahasa pemrograman XML. Hampir semua teknologi modern seperti .Net dan Java memiliki perintah yang sesuai yang memiliki kemampuan untuk bekerja dengan XML. Karenanya, XML diambil sebagai bahasa yang paling tepat untuk membangun layanan web.
  • Layanan web berkomunikasi melalui HTTP. HTTP adalah protokol yang digunakan oleh semua aplikasi berbasis web. Oleh karena itu, masuk akal untuk memastikan bahwa layanan Web juga memiliki kemampuan untuk bekerja melalui protokol HTTP.
  • Layanan web sesuai dengan spesifikasi bahasa tertentu. Spesifikasi ini ditetapkan oleh W3C, yang merupakan badan pengatur untuk semua standar web.
  • Layanan web memiliki bahasa deskripsi yang dikenal sebagai WSDL, yang digunakan untuk mendeskripsikan layanan web.

File WSDL ditulis dalam XML lama biasa. Alasannya ada dalam XML adalah agar file tersebut dapat dibaca oleh bahasa pemrograman apa pun.

Jadi jika aplikasi klien ditulis dalam .Net, itu akan memahami file XML. Demikian pula, jika aplikasi klien ditulis dalam bahasa pemrograman Java, maka itu juga akan dapat menafsirkan file WSDL.

File WSDL inilah yang mengikat semuanya. Dari diagram di atas, Anda dapat melihat bahwa Anda dapat membuat layanan web dalam bahasa .Net.

Jadi di sinilah layanan diimplementasikan. Jika Anda tidak memiliki file WSDL dan ingin kelas Java menggunakan layanan web, Anda akan membutuhkan banyak upaya pengkodean untuk mencapai ini.

Tetapi sekarang dengan file WSDL yang ada dalam XML, yang dapat dipahami oleh bahasa pemrograman apa pun, Anda sekarang dapat dengan mudah memiliki kelas Java yang menggunakan layanan web .Net. Oleh karena itu, jumlah upaya pengkodean sangat berkurang.

Bagian Pesan WSDL

WSDL terdiri dari bagian yang disebut "pesan" yang dilambangkan dengan elemen .

Elemen ini pada dasarnya digunakan untuk mendeskripsikan data yang dipertukarkan antara layanan web dan aplikasi klien.

Setiap layanan web akan selalu memiliki 2 jenis pesan,

  • Satu untuk input layanan web, dan yang lainnya untuk output layanan web.
  • Input digunakan untuk mendeskripsikan parameter yang diterima oleh web service. Ini adalah aspek penting dari aplikasi klien sehingga mengetahui nilai yang akan dikirim sebagai parameter ke layanan web.
  • Jenis pesan lainnya adalah pesan keluaran yang memberitahukan hasil apa yang disediakan oleh layanan web.

Setiap pesan, pada gilirannya, akan memiliki elemen yang digunakan untuk mendeskripsikan parameter yang digunakan oleh pesan masukan dan keluaran.

Di bawah ini adalah contoh sederhana, seperti apa tampilan pesan untuk layanan web. Fungsi layanan web adalah memberikan nama "Tutorial" setelah "ID Tutorial" dikirimkan sebagai parameter ke layanan web.

  1. Seperti yang bisa kita lihat, layanan web memiliki 2 pesan, satu untuk input dan yang lainnya untuk output.
  2. Pesan masukan ini dikenal sebagai TutorialNameRequest yang memiliki satu parameter bernama TutorialID. Parameter ini adalah jenis nomor yang ditentukan oleh xsd: jenis nomor
  3. Pesan keluaran ini dikenal sebagai TutorialNameResponse yang memiliki satu parameter bernama TutorialName. Parameter ini adalah tipe string yang ditentukan oleh xsd: tipe string

Port Type Binding

Port digunakan dalam WSDL untuk menentukan satu operasi lengkap yang ditawarkan oleh layanan web.

Pada topik sebelumnya, kita melihat bahwa layanan web kita menyediakan 2 pesan, satu untuk masukan bernama "TutorialNameRequest" dan yang lainnya untuk keluaran yang disebut "TutorialNameResponse." Bersama-sama bentuk pesan masukan dan keluaran dikenal sebagai satu operasi lengkap.

WSDL menyediakan elemen yang disebut yang digunakan untuk menentukan operasi yang disediakan oleh layanan Web.

Jadi dalam contoh kami di atas, kami dapat mencatat yang berikut:

  1. Nama Jenis port yang merangkum operasi diberikan sebagai "Tutorial_PortType."
  2. Operasi itu sendiri diberi nama "Tutorial". Jadi operasi kami pada dasarnya menyediakan TutorialName jika TutorialID diberikan sebagai parameter input.
  3. Berikutnya adalah 2 pesan kami, satu untuk input dan yang lainnya untuk output yang membentuk operasi kami

Selain elemen , ada juga elemen yang digunakan untuk menentukan bagaimana pesan akan ditransfer.

  1. Contoh di atas menunjukkan bahwa binding terdiri dari nama binding yang dalam kasus kami diberikan sebagai "TutorialSoapBinding". Mengikat dalam istilah sederhana adalah informasi yang digunakan aplikasi klien untuk mengikat dirinya sendiri ke layanan web. Setelah benar-benar terikat ke layanan web, ia kemudian memiliki kemampuan untuk memanggil berbagai operasi yang diekspos oleh layanan web.
  2. Lapisan transport diberikan sebagai http: // yang berarti pesan yang akan ditransfer melalui protokol HTTP.

Membuat File WSDL

File WSDL dibuat setiap kali layanan web dibuat dalam bahasa pemrograman apa pun.

Karena file WSDL cukup rumit untuk dibuat dari awal, semua editor seperti Visual Studio untuk .Net dan Eclipse untuk Java secara otomatis membuat file WSDL.

Di bawah ini adalah contoh file WSDL yang dibuat di Visual Studio.




TutorialService

File WSDL di atas terlihat sangat menakutkan bagi pengguna mana pun, kami akan membahas bagian-bagian yang berbeda secara rinci dalam tutorial berikutnya, tetapi untuk sekarang, mari kita lihat ringkasan tentang apa yang sebenarnya dilakukan setiap bagian dari file WSDL

Menerbitkan Contoh Layanan Web

Sekarang mari kita lihat contoh bagaimana kita dapat mempublikasikan layanan web dan mengkonsumsinya dengan menggunakan Visual Studio.

Dalam contoh ini, kami akan membuat layanan web dengan satu WebMethod. Metode ini akan menerima parameter Integer yang disebut "TutorialID". Metode Web kemudian akan mengembalikan string yang disebut "Layanan Web".

Kami kemudian akan membuat aplikasi berbasis konsol, yang akan menggunakan layanan web ini dan memanggil metode web kami yang sesuai.

Mari kita lihat langkah-langkah yang diperlukan untuk menjalankan contoh ini.

Langkah 1) Langkah pertama adalah membuat layanan web Anda. Langkah-langkah rinci tentang bagaimana proyek web Asp.Net dan layanan web dibuat telah dijelaskan di sini; Silakan ikuti langkah-langkah yang sama untuk membuat proyek dan layanan web yang sesuai. Bagian kuncinya adalah memasukkan kode di bawah ini ke dalam file layanan Web.

namespace webservic asmx{[WebService(Name = "Guru99 Web service")]public class TutorialService : System.Web.Services.WebService{[WebMethod]public string GetTutorialService(int TutoriallD){string TutorialName = "Web Services";return TutorialName;}}}

Penjelasan Kode:

  1. Di sini kami membuat WebMethod yang disebut "Guru99WebService." Dalam metode web ini, kami menyertakan parameter integer yang perlu dilewatkan setiap kali metode web ini dipanggil.
  2. Selanjutnya kita mendefinisikan variabel yang disebut "TutorialName" yang akan menampung nilai string "Layanan Web." Ini adalah nilai yang akan dikembalikan saat layanan web dipanggil.

Langkah 2) Setelah kami menentukan file layanan web, langkah selanjutnya adalah membuat proyek klien yang akan menggunakan layanan web ini.

Mari buat aplikasi konsol sederhana yang akan memanggil layanan web ini, aktifkan "Guru99WebService" dan kemudian tampilkan output dari metode web di layar log konsol. Ikuti langkah-langkah di bawah ini untuk membuat aplikasi konsol.

Klik kanan file solusi Visual Studio dan pilih opsi Add-> New project

Step3) Pada langkah ini,

  1. Pastikan untuk memilih opsi Visual C # Windows terlebih dahulu. Kemudian pilih opsi untuk membuat aplikasi konsol.
  2. Beri nama untuk proyek Anda yang dalam kasus kami telah diberikan sebagai "DemoApplication."

Setelah Anda mengklik tombol OK di layar di atas, Anda akan dapat melihat proyek di penjelajah Solusi di Visual Studio.

Langkah 4) Pada langkah ini, Anda akan mengatur aplikasi DemoApplication Console sebagai proyek startup. Ini dilakukan untuk memastikan bahwa aplikasi ini diluncurkan pertama kali ketika seluruh proyek Visual Studio dijalankan. Aplikasi Konsol ini pada gilirannya akan memanggil layanan web yang akan diluncurkan secara otomatis oleh Visual Studio.

Untuk menyelesaikan langkah ini, klik kanan proyek DemoApplication dan pilih opsi "Set as StartUp Project."

Langkah 5) Langkah selanjutnya adalah menambahkan referensi layanan "Guru99Webservice" ke aplikasi konsol kami. Ini dilakukan agar DemoApplication dapat mereferensikan layanan web dan semua metode web di layanan web.

Untuk melakukan ini, klik kanan file proyek DemoApplication dan pilih opsi menu Add-> Service Reference.

Langkah 6) Pada langkah ini, kami akan memberikan nilai berbeda yang diperlukan untuk menambahkan referensi layanan kami

  1. Pertama kita perlu memilih opsi temukan kita. Opsi ini secara otomatis akan mengambil file WSDL untuk layanan web TutorialService kami.
  2. Selanjutnya, kita harus memberi nama untuk referensi layanan kita. Dalam kasus kami, kami memberinya nama Guru99Webservice.
  3. Kemudian kita perlu memperluas opsi TutorialService.asmx sehingga kita dapat melihat metode 'GetTutorialService' di sisi kanan. Di sini TutorialService.asmx adalah nama file Visual Studio .Net kami yang berisi kode untuk layanan web kami.
  4. Kami kemudian akan melihat metode Web kami yang kami miliki di layanan web kami yang dikenal sebagai "GetTutorialService"

Ketika kami mengklik tombol 'OK', semua kode yang diperlukan untuk mengakses layanan web ini akan ditambahkan ke aplikasi DemoApplication Console kami seperti yang ditunjukkan di bawah ini.

Tangkapan layar menunjukkan bahwa "Guru99Webservice" berhasil ditambahkan ke aplikasi konsol kami.

Langkah 7) Langkah selanjutnya adalah menambahkan kode ke aplikasi konsol kami untuk mengakses metode web di layanan web kami. Buka file kode Program.cs yang hadir secara otomatis dengan aplikasi konsol dan tambahkan kode di bawah ini

namespace DemoApplication{class Program{static void Main(string[ ] args){var client = new Guru99Webservice.Guru99WebserviceSoapClient();Console.WriteLine(client.GetTutorialService(l));Console.ReadKey();}}}

Penjelasan Kode: -

  1. Bagian pertama adalah memilih file Program.cs. Ini adalah file utama yang dibuat oleh Visual Studio saat aplikasi konsol dibuat. File ini adalah apa yang dieksekusi ketika aplikasi konsol (dalam aplikasi demo kasus kami) dijalankan.
  2. Kami kemudian membuat variabel yang disebut "klien" yang akan disetel ke turunan referensi Layanan kami yang dibuat pada langkah sebelumnya. Dalam kasus kami, referensi layanannya adalah 'Guru99Webservice.Guru99WebserviveSoapClient ()'
  3. Kami kemudian memanggil Metode Web kami 'GetTutorialService' di layanan web TutorialService. Ingatlah bahwa metode GetTutorialService kami menerima parameter bilangan bulat, jadi kami hanya meneruskan parameter bilangan bulat ke metode web.
  4. Baris terakhir ini hanya untuk memastikan layar log konsol tetap aktif sehingga kita dapat melihat hasilnya. Perintah ini hanya akan menunggu beberapa masukan dari pengguna.

Keluaran

Ketika semua langkah di atas diikuti, dan DemoApplication dijalankan, output di bawah ini akan ditampilkan.

Dari output, kami dapat dengan jelas melihat bahwa DemoApplication memanggil layanan Web kami dan string yang dikembalikan oleh layanan Web ditampilkan di log Konsol kami.

Ringkasan

  • Bentuk lengkap WSDL adalah Bahasa Deskripsi Layanan Web
  • Dokumen WSDL adalah dokumen yang digunakan untuk menjelaskan layanan web. Ini adalah kunci bagi aplikasi klien untuk mengetahui di mana lokasi layanan web. Ini juga memungkinkan aplikasi klien untuk memahami metode yang tersedia di layanan web.
  • File WSDL sangat memudahkan layanan web untuk diimplementasikan dalam satu bahasa pemrograman dan dipanggil dari bahasa pemrograman yang berbeda.
  • Dokumen WSDL biasanya terdiri dari sebuah pesan. Untuk setiap metode web, ada 2 pesan, satu untuk masukan, dan yang lainnya untuk keluaran. Bersama-sama mereka membentuk operasi.
  • Web Services Description Language (singkatan dari WSDL) file biasanya dibuat di editor yang digunakan untuk bahasa pemrograman yang sesuai.
  • Kami telah melihat bagaimana kami dapat menggunakan layanan web di Visual Studio. Ini dapat dilakukan dengan membuat proyek lain yang merupakan aplikasi konsol. Kemudian dengan menambahkan referensi layanan, kami kemudian dapat mengakses metode web di layanan web kami.