Beranda > PHP > SOAP (Simple Object Access Protocol)

SOAP (Simple Object Access Protocol)

Setelah pembahasan mengenai Web Services semakin ramai dibicarakan orang, hal ini menjadi pertanda bahwa konsep keterbukaan antar aplikasi semakin diterima dengan baik. Setiap orang semakin menyadari akan pentingnya interoperabilitas antar berbagai aplikasi lintas platform. Hal ini dipicu dan didorong oleh berbagai bentuk model bisnis baru yang mulai diterapkan dalam dunia bisnis. Adalah ecommerce atau ebusiness yang memungkinkan terjadinya transaksi antar banyak pihak tanpa dihalangi oleh batasan geografi maupun batasan platform yang digunakan yang dimanfaatkan oleh para pelaku bisnis untuk mengembangkan pasar yang tadinya tidak pernah terpikirkan.

Akan tetapi, mewujudkan cita – cita tersebut adalah sebuah jalan panjang dengan berbagai tantangan yang harus dihadapi. Era reformasi atau keterbukaan di dunia TI ternyata juga tidaklah mudah. Konsep web services akan dapat berhasil dan berjalan baik apabila banyak hal yang disyaratkan terpenuhi. Salah satu penerapan web services adalah interoperabilitas atau disingkat interop, yakni melakukan sebuah proses pengaktifan fungsi atau pemanggilan sebuah method (method call) secara remote atau biasa dikenal dengan istilah Remote Procedure Call (RPC). Interop menjadi rumit dan penuh tantangan karena banyak pihak akan saling berinteraksi, dan setiap pihak yang akan berinteroperasi haruslah memenuhi berbagai kesepakatan. Yang paling utama dalam masalah interoperabilitas adalah mengenai :

Protokol transport yang digunakan untuk saling mengirimkan message.
Mekanisme untuk mengirimkan message yang berisikan berbagai parameter untuk mengaktifkan sebuah panggilan prosedur jarak jauh. Dan menerima response dari program yang diaktifkan.
Mengartikan setiap pesan yang diterima.

Sesungguhnya, upaya – upaya yang dilakukan untuk mewujudkan sebuah interop yang handal telah dan terus dilakukan oleh berbagai vendor. Teknologi – teknologi seperti Distributed Component Object Model (DCOM) dari Microsoft, CORBA, Internet Inter-ORB Protocol (IIOP) dari Object Managemen Group dan masih banyak lainnya adalah contohnya. Namun, tidak ada satupun dari berbagai inisiatif dan teknologi tersebut yang dapat diterima dengan mudah oleh para developer untuk membangun aplikasi – aplikasi yang saling berinteroperasi. Tantangan dan hal – hal seperti yang disebutkan di atas terlalu menyulitkan untuk dapat diimplementasikan, dan semakin sulit ketika teknologi – teknologi tadi coba disatukan atau diintegrasikan dengan teknologi yang berasal dari platform yang berbeda.

Kalau sekarang konsep web services dapat diterima, dan hanya dalam kurun waktu yang sangat singkat telah dilalui sebuah kurva belajar oleh para developer untuk mempelajari dan menerima konsep ini, tentunya ada hal yang cukup istimewa di sini. Protokol yang digunakan untuk menjalankan konsep web services dikenal dengan nama Simple Object Access Protocol atau yang biasa disingkat SOAP. SOAP menjadi sangat mudah diterima oleh berbagai pihak – terutama oleh berbagai vendor TI – dikarenakan protokol ini memanfaatkan berbagai teknologi yang sudah ada sebelumnya dan sudah banyak digunakan. Misalnya untuk protokol transport, yang paling banyak digunakan adalah HTTP, walaupun dimungkinkan untuk menggunakan protokol transport lainnya. Sedangkan untuk format data atau message digunakan XML yang tidak diragukan lagi manfaat dan perannya di dalam pertukaran data. Dengan demikian, tidaklah terlalu mengherankan bila kemudian SOAP dianggap sebagai solusi penyelamat untuk mengatasi berbagai masalah yang dihadapi oleh teknologi – teknologi pendahulunya.

Implementasi SOAP sendiri kemudian disadari tidaklah mudah dan sesederhana yang dibayangkan. Karena SOAP sendiri tidak lebih dari sekedar spesifikasi, yang mencoba untuk mendeskripsikan dan mendefinisikan setiap aspek dan mekanisme yang ada dalam sebuah RPC. Hal ini yang kemudian banyak membuat kerancuan dan kebingungan ketika seorang developer pertama kali mempelajari SOAP. Selain harus membiasakan diri dan menjadi fasih dengan spesifikasi SOAP, seorang developer juga harus fasih dengan spesifikasi dari tool atau program yang digunakan untuk menghasilkan sebuah message SOAP dan juga untuk membaca serta mengartikan sebuah message SOAP yang diterima. Benar, seorang developer akan memerlukan software atau tool untuk dapat berinteraksi dengan SOAP.

Di sinilah terjadi persaingan dalam hal implementasi SOAP, di mana beberapa vendor mengeluarkan seperangkat tool untuk menghasilkan dan menerima message SOAP seperti Microsoft yang mengeluarkan SOAP Toolkit dan sekarang sudah mencapai versi 2.0, Apache SOAP, PERL/SOAP Lite Client, dan sebagainya. Di sini terletak beberapa perbedaan dalam hal implementasi SOAP, di mana message SOAP yang dihasilkan oleh suatu toolkit belum tentu dapat diterima dan digunakan oleh pihak lain yang menggunakan platform berbeda. Banyak hal yang menyebabkan terjadinya masalah – masalah tersebut, dan tidak selalu hal tersebut merupakan masalah yang ada di SOAP itu sendiri, melainkan juga masalah – masalah dalam menginterpretasikan kode – kode syntax HTTP maupun syntax dari XML itu sendiri.

Yang patut disyukuri adalah, walaupun beberapa masalah terus ditemukan, namun jumlah kesuksesan dari hasil uji coba dan implementasi langsung di berbagai project terus menunjukkan angka yang lebih tinggi, sehingga keyakinan akan keuntungan yang dihasilkan dari implementasi SOAP dibandingkan teknologi pendahulunya tetap diyakini oleh berbagai pihak sebagai solusi yang lebih baik. Di samping tentu saja, upaya – upaya untuk menstandarisasikan mekanisme menjadi lebih universal juga terus dilakukan.

Kategori:PHP
  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: