Kamis, 12 Juni 2014

SOAP

SOAP,, Apa itu soap? bukannya itu busa sabun ? eit jangan salah paham dulu. Di dunia Programming ada yang namanya SOAP. Begini penjelasannya, cekidot.. 

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. SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HHTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.

Peran SOAP dalam teknologi web service : 
Peran SOAP di dalam teknologi web service adalah sebagai protocol pemaketan untuk pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya. 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.
Struktur SOAP
Struktur SOAP terbagi menjadi 3 , SOAP Envelope, SOAP Header dan SOAP Body

Berikut merupakan penggalan script SOAP Request :
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn



xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">


 
    IBM
 



   
Berikut merupakan contoh dari  SOAP Respone :

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn



xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">


 
    34.5
 




Arsitektur SOAP terdiri dari beberapa layer spesifikasi yaitu untuk format pesan menggunakan Message Exchange Pattens (MEP), layer khusus untuk protocol transport, model messaging processing dan protocol tambahan, SOAP sendiri adalah pengganti dari XML RPC(Remote Procedure Calling), namun dengan karakteristik sendiri. Tiga karakteristik SOAP: 
1. Extenssibility dapat menggunakan beberapa extension tambahan lain diantaranya antara lain security dan Web Service Routing (masih dalam tahap pengembangan) 
2. Neutrality, SOAP dapat digunakan di berbagai protocol transport seperti HTTP, SMTP atau TCP. 
3. Independence, SOAP tidak memiliki ketergantungan terhadap bahasa pemrograman tertentu, sehingga SOAP dapat dugunakan di berbagai model pemrograman 

SOAP memiliki kelebihan dan kekurangan, adapun kelebihannya adalah sebagai berikut :
1. Cukup fleksibel dalam hal penggunaan protocol transport yang berbeda 
2. Dapat bekerja baik dalam tunnel HTTP dalam mendapatkan atau mengirinkan pesan, oleh karena itu dapat bekerja dengan baik dalam berbagai kondisi firewall dan proxy tanpa perlu melakukan modifikasi dalam protocol dan tanpa perlu memodifikasi infrastruktur yang ada

Kekurangan SOAP adalah sebagai berikut :
1. Memiliki daya pemrosesan yang lebih rendah di bandingkan dengan tekhnologi middleware seperti CORBA. Hal ini tidak menjadi masalah jiga digunakan dalam skala kecil namun dalam skala besar perlu menjadi pertrimbangan tersendiri 
2. Jika menggunakan HTTP sebgai transport protocol dan tidak menggunakan WS-Addressing atau ESB (Enterprise Service Bus), klien terlibat dalam komunikasi bersifat fixed, hanya satu yang dapat menggunakan service. Dalam hal ini developer harus menggunakan polling, bukan lagi hanya notifikasi seperti kasus lain pada umumnya. 

Nah, info di atas mungkin dapat di pakai untuk membangun web yang berbasis Multi-tier, semoga dapat membantu kawan-kawan di dunia percodingan. Salam Programmer :)



Tidak ada komentar:

Posting Komentar