SOAP (Simple Object Access Protocol)
 adalah standar untuk bertukar pesan-pesan berbasis XML melalui jaringan
 komputer atau sebuah jalan untuk program yang berjalan pada suatu 
sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama
 maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk 
pertukaran data, maka SOAP dapat berkomunikasi dengan berbagai aplikasi 
meskipun terdapat perbedaan sistem operasi, teknologi, dan bahasa 
pemrogramannya.
Sebenarnya peran SOAP di dalam teknologi
 web service sebagai protokol pemaketan untuk pesan-pesan (messages) 
yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya serta 
menspesifikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file
 XML sehingga program pada suatu komputer dapat memanggil program pada 
komputer lain dan mengirimkan informasi, dan bagaimana program yang 
dipanggil memberikan tanggapan.
Kelebihan SOAP- bahasa, platform, dan transport agnostic
- dirancang untuk menangani lingkungan komputasi terdistribusi
- merupakan standar yang berlaku untuk web servis, sehingga mempunyai dukungan yang lebih baik dari standar yang lain (WSDL, WS-*) dan tools dari berbagai vendor
- built-in error handling (faults)
- extensibility
- secara konseptual lebih sulit, lebih “heavy-weight” dibanding REST
- lebih “verbose” (membutuhkan lebih banyak pernyataan/kode program)
- sulit untuk dikembangkan, mebutuhkan tools
Struktur Dokumen SOAP
Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen berikut:
Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen berikut:

SOAP Document Structure
- Envelope element yang mengidentifikasi dokumen XML sebagai sebuah pesan SOAP.
- Header element yang berisi informasi header.
- Body element yang berisi panggilan dan merespon informasi.
- Fault element yang berisi pesan kesalahan yang terjadi pada waktu proses.
Spesifikasi yang digunakan tidak lebih 
seperti sebuah amplop biasa berbasis XML untuk informasi yang 
ditransfer, serta sekumpulan aturan bagi translasi aplikasi dan 
tipe-tipe data platform yang spesifik menjadi bentuk XML. Desain bentuk 
dari SOAP membuatnya cocok untuk berbagai pertukaran pesan pada 
aplikasi.
SOAP Message
Bagian header menyimpan informasi yang 
berhubungan dengan cara memproses message ini. Di dalamnya termasuk 
informasi mengenai pengaturan pengiriman, autentikasi dan autorisasi, 
dan konteks transaksinya. Sedangkan bagian body menyimpan message yang 
akan di prosesnya. Sintaks XML apapun dapat dimasukan ke dalam bagian 
body ini. Contoh SOAP Message:

SOAP merupakan protokol pemaketan data 
yang berada di atas layer network dan transport. Sebagai suatu protokol 
pemaketan data, SOAP menjadi fleksibel dalam penggunaan. Contohnya, 
sebuah web service SOAP berbasis Perl yaitu SOAP::Lite, mendukung 
pertukaran SOAP Message di beberapa protokol diantaranya HTTP, FTP, raw 
TCP, SMTP, POP3, MQSeries, dan Jabber.
SOAP melalui HTTP
Protokol HTTP merupakan protokol yang 
paling digunakan dalam mengirimkan SOAP Message. SOAP mendeskripsikan 
model pertukaran message khusus untuk di HTTP. Dengan begitu cara ini 
cocok dengan model SOAP RPC (Request-Response) dikarenakan HTTP 
merupakan protokol bertipe request-response.

Ilustrasi SOAP HTTP Request-Response
Contoh HTTP Request yang mengandung SOAP message:

Berikut adalah contoh HTTP Response yang mengandung SOAP Message:

Referensi :
w3schools xml SOAP
w3schools xml SOAP
 
 

0 comments:
Post a Comment