School of Information Systems

Pernahkah Kalian Mendengar Istilah SOAP Web Services?

SOAP, memiliki kepanjangan Simple Object Access Protocol yang merupakan protokol berbasis XML (Extensible Markup Language) yang memungkinkan pengguna bertukar informasi melalui protokol tertentu antar aplikasi (misalnya HTTP). Dalam web services, SOAP bertindak sebagai protokol paket untuk pesan yang dibagikan oleh aplikasi pengguna dan secara jelas menentukan bagaimana header HTTP dan file XML dikodekan sehingga program di satu komputer dapat menjalankan program di komputer lain dan mengirim informasi dan bagaimana program yang disebut merespons. Dalam pesan SOAP yang akan dikirimkan, nama layanan dan parameter yang di input berbentuk elemen XML. Dikarenakan SOAP menggunakan protokol HTTP pada saat mengirimkan data maka dapat dikatakan bahwa SOAP merupakan gabungan antara HTTP dengan XML. Hal itu juga menyebabkan pengguna platform dapat saling bertukar data atau informasi dari sistem operasi dan perangkat lunak yang berbeda. SOAP menggunakan model pengiriman pesan yang bersifat request-response dimana parameter SOAP request diletakkan pada HTTP request dan parameter SOAP response diletakkan pada HTTP response. Pesan yang dikirimkan SOAP adalah dokumen XML yang berisi elemen-elemen sebagai berikut:

Sumber: (Ian J. Taylor & Harrison, 2009)

  • SOAP Envelope

SOAP Envelope merupakan elemen XML yang terletak dipaling atas dalam mengirimkan pesan dan harus ada dalam pesan SOAP. Elemen envelope biasanya membutuhkan dua namespace yaitu untuk envelope itu sendiri dan untuk encoding. Deklarasi namespace sangatlah penting dalam elemen ini, apabila terdapat atribut yang tidak mengikuti deklarasi namespace maka pesannya dianggap tidak valid. Demikian pula, elemen envelope mungkin saja berisi sub elemen tambahan. Jika ada, elemen ini juga harus memenuhi syarat namespace dan harus engikuti elemen Body.

  • SOAP Header

SOAP Header merupakan elemen opsional dalam pesan SOAP yang digunakan untuk meneruskan informasi terkait aplikasi dan akan diproses oleh SOAP pada saat pengiriman pesan. Apabila elemen ini disertakan maka harus memenuhi syarat namespace yang telah ditentukan. SOAP header memungkinkan fitur untuk ditambahkan kedalam pesan SOAP secara terdesentralisasi tanpa persetujuan sebelumnya antara pihak yang berkomunikasi. SOAP mendefinisikan beberapa atribut yang dapat digunakan untuk menunjukkan apa yang akan berurusan dengan fitur dan apakah itu opsional atau wajib. Namun, meskipun blok header ditentukan oleh aplikasi, atribut yang ditentukan oleh SOAP pada blok header akan menunjukkan bagaimana blok header diproses oleh node SOAP.

  • SOAP Body

SOAP Body merupakan elemen wajib dalam SOAP Envelope dimana membawa informasi yang ditujukan kepada penerima pesan. Elemen body dan elemen turunannya digunakan untuk bertukar informasi antara pengirim SOAP awal dan penerima SOAP akhir. Elemen lainnya dalam body ditentukan oleh web-service yang menggunakannya.

  • SOAP Fault

SOAP Fault merupakan elemen yang membawa informasi kesalahan dan status dalam pesan SOAP. Apabila terjadi kesalahan dalam web service, maka pesan kesalahan dikembalikan ke klien. Setiap pesan kesalahan dapat menyertakan XML yang menjelaskan kondisi kesalahan tertentu.

 

Source:

https://media.neliti.com/media/publications/129765-ID-implementasi-web-service-untuk-pengemban.pdf

https://www.codepolitan.com/mengenal-soap-web-services

https://www.ibm.com/docs/en/cics-ts/5.1?topic=systems-soap

Ian J. Taylor, & Harrison, A. B. (2009). Computer Communications and Networks. Springer.

Kajko-Mattsson, M., Lewis, G. A., & Smith, D. B. (2007). A framework for roles for development, evolution and maintenance of SOA-based systems. Proceedings – ICSE 2007 Workshops: International Workshop on Systems Development in SOA Environments, SDSOA’07, June 2007, 7–12. https://doi.org/10.1109/SDSOA.2007.1

Nur Anisa