Web Service dengan SOAP - WSDL
Di hari libur ini, aku pengen menuliskan sedikit tentang konseptual dari web service (asline judul skripsiku sih
). Seperti kita ketahui, sudah banyak situs2 terkenal yang menggunakan teknologi web service. seperti : Google dengan API-nya, Amazon dengan Amazon Web Service-nya, dll. (He..He..He..Rada serius dikit).
Apa web service itu?
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. (detailnya : disini, akakakakaa….).
Dari definisi diatas, terdapat kata kunci “interaction” dimana memiliki maksud bahwa web service dapat meng-komunikasi berbagai software dari berbagai mesin maupun platform yang berbeda. Untuk dapat menjalankan fungsi tersebut, sebuah web service memerlukan agen. Agen adalah potongan software atau hardware yang mengirim dan menerima pesan (message). Agen tersebut dapat ditulis dengan berbagai bahasa pemrograman.
Web service ini didasarkan kepada protokol SOAP, WSDL, dan NuSOAP sebagai SOAP ekstension untuk PHP. Dengan ketiga tool ini, akan diperoleh suatu web service opensource yang dapat digabungkan dengan software opensource lain untuk membangun aplikasi berbasis web yang lengkap.
Ok…Kita pilah satu - persatu nih, biar sedikit tampak jelas
.
SOAP (Simple Object Access Protocol)
SOAP adalah Lightweight XML-based protocol untuk mempertukarkan struktur informasi antar aplikasi terdistribusi melalui protokol-protokol native semacam HTTP.
Apa yang dilakukan SOAP?
- menentukan format XML,
- Cara data diproses,
- Menentukan aturan untuk mengenkode, untuk standar dan tipe data yang didefinisikan oleh aplikasi,
- Konvensi yang merepresentasikan remote procedure call, dan response.
Tiga bagian yang menyusun protokol SOAP,
- paket/amplop yang menggambarkan konten pesan dan bagaimana cara untuk menggunakannya,
- Sekumpulan aturan untuk serialisasi pertukaran data antar aplikasi,
- Prosedur yang merepresentasikan remote procedure call, yaitu, cara query dan respon ditampilkan,
WSDL (Web Service Definition Language)
WSDL adalah format XML untuk mendeskripsikan layanan network sebagai sekumpulan endpoint yang beroperasi pada pesan yang berisi informasi berorientasi dokumen, dan informasi berorientasi prosedur. WSDL diperluas supaya dapat menggambarkan endpoint serta pesannya dengan mengabaikan format pesan, protokol jaringan yang digunakan untuk berkomunikasi.
Arsitektur Web Service
Langkah yang dilakukan untuk mendefinisikan web service :
- Pemanggilan web browser yang membuat call procedure pada file WSDL dan klien layanan SOAP (SOAP Service Client),
- klien SOAP Service mengambil method dan parameter untuk membangun kontainer XML; kontainer ini dikirim melalui HTTP sebagai SOAP request,
- server SOAP Service menerima SOAP request; Soap_parser_class mengubah XML container dan menentukan method yang dipanggil serta parameter-parameter method ini,
- method kemudian dieksekusi pada server serta mengirimkan output,
- hasil/output kemudian dibungkus sebagai XML dan server mengirimkan XML result container sebagai respon untuk request POST oleh Soap_transport_http_class.
- client mengubah XML response container dan mengirimkan hasil ke aplikasi yang memanggilnya.
- aplikasi kemudian memproses hasil.
Seperti itulah sekilas tentang web service dengan SOAP dan WSDL. Mohon maap klo masih banyak kurangnya (sik newbie). Semoga bermanfaat..