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:
- 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.
Pesan SOAP Request di post ke server dengan HTTP Request, kemudian
server menjawab dengan HTTP Response yang berisi pesan SOAP 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