Chapter 4 - Web Serive berbasis SOAP (Simple Object Access Protocol)

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.

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. 

Arsitektur SOAP

Pemrosesan SOAP

     Pesan SOAP berbentuk seperti sebuah envelope yang berisi header (optional) dan body (required). Header berisi blok informasi yang berhubungan dengan bagaimana pesan tersebut diproses. Hal ini meliputi pe-routingan dan delivery setting, authentication atau authorization assertions, and transaction contexts. Body berisi pesan sebenarnya yang dikirim dan diproses. Semua yang dapat ditampilkan dengan sintaks XML dapat dimasukkan dalam pesan body.

     Setiap elemen Envelope harus berisi tepat satu elemen Body. Elemen Body dapat berisi sebanyak mungkin child nodes yang diperlukan. Isi dari elemen Body adalah pesan. Elemen Body ditentukan dalam suatu cara dimana dapat berisi valid dan wellformed XML yang telah dibatasi oleh suatu namespace (qualified).

     Jika sebuah Envelope berisi elemen Header, harus berisi tidak lebih dari satu, dan harus tampak pada first child dari Envelope, sebelum elemen Body. Header dapat berisi valid, well-formed, dan dibatasi dengan namespace XML dimana hendak dimasukkan oleh pencipta pesan SOAP. Setiap elemen yang berada dalam Header disebut blok header. Tujuan dari blok header adalah untuk memberitahukan infomasi yang berhubungan dengan pemrosesan pesan SOAP.

Komentar