Muslim Project
6/08/2017
0
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
Kekurangan SOAP
- 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:
- 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.
SOAP Transport
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.