Header Ads

Teknologi Web Services (SOAP vs RESTfull)

Teknologi web services   dapat dimanfaatkan untuk mendistribusikan data yang terdapat dalam sistem manajemen database melalui program kecil yang berfungsi sebagai Antarmuka Aplikasi Web (Web-API). Peran Antarmuka Aplikasi Web ini adalah sebagai penghubung antar Aplikasi Web (Website/Portal) dengan suatu database serta menterjemahkan format data dari suatu sistem manajemen database lokal ke dalam format data XML untuk didistribusikan melalui Web Server. Antarmuka Aplikasi Webdapat terdiri dari metode/fungsi/prosedur pendistribusian data lebih dari satu, dimana saat koneksi dilakukan dari suatu Aplikasi Web kepada Web-API harus ditentukan secara jelas fungsi mana yang akan diproses. Selain itu suatu Aplikasi Web yang berada di lokasi lain dapat membaca data melalui Web-API tanpa harus tahu jenis dan format data sumbernya. Koneksi yang dilakukan Aplikasi Web (Website/Portal) menuju Web-API dapat menggunakan sumberdaya koneksi yang disediakan masing-masing bahasa pemrograman, contohnya CURL, OpenSocket, SOAP-Client. 
Metode yang dapat dibentuk dan disediakan pada setiap Web-API tergantung pada jenis framework yang digunakan, diantaranya adalah SOAP dan RESTfull. Keduanya memiliki kemampuan untuk menterjemahkan data ke dalam format XML. Namun SOAP lebih ditujukan kepada penggunaan aplikasi vendor yang pengembangannya lebih tertutup, sementara RESTfull ditujukan kepada penggunaan aplikasi yang tidak terikat pada suatu vendor yang pengembangannya dapat lebih terbuka.
Representational State Transfer (REST) merupakan arsitektur software untuk distribusi hypermedia diantaranya World Wide Web. Istilah Representational State Transfer pertama kali diperkenalkan dan didefinisikan pada tahun 2000 oleh Roy T Fielding pada disertasi doktoralnya. Fielding merupakan salah satu dari penggagas spesifikasi HTTP 1.0 dan 1.1.
Salah satu karakteristik dari RESTFul Web Service adalah menggunakan HTTP, protokol yang digunakan lebih dari 60% browser di seluruh muka bumi ini untuk mengakses server. Ini merupakan salah satu alasan mengapa trend Web 2.0 lebih cenderung menjauhi SOAP. Mengapa menggunakan protokol seperti SOAP bila setiap hari sebagian besar penduduk bumi menggunakan HTTP.?
Selanjutnya adalah penggunaan standard HTTP method diantaranya
  • POST untuk membuat sumberdaya (resource) pada server.
  • GET untuk menerima sumberdaya.
  • PUT untuk merubah atau memperbaharui sumberdaya; dan
  • DELETE untuk menghapus sumberdaya.
Menggunakan HTTP method secara tepat?
Berikut dua contoh penggunaan method yang berbeda dengan menghasilhan efek samping yang sama.
GET /hapususer?nama=aisgo HTTP/1.1
Ini sangat tidak dianjurkan karena method GET merupakan safe method yang seharusnya dalam penggunaannya tidak menghasilkan efek samping terhadap server. Dan berikut ini adalah contoh penggunaan HTTP method secara tepat.
DELETE /user/aisgo HTTP/1.1
Sebagai pedoman umum, diharapkan mengikuti pedoman REST untuk menggunakan HTTP method secara eksplisit dengan menggunakan kata benda dalam URI, bukan kata kerja.
SOAP adalah protokol untuk mengirim/menerima data melalui HTTP dalam bentuk XML. SOAP tergantung pada sintaks yang didefinisikan pada WSDL.
Contoh:
  • Http POST ke aisgo.com/produk.asmx/ListAllProducts – mengembalikan XML daftar produk
  • Http POST ke aisgo.com/produk.asmx/GetProduct – mengembalikan XML produk berdasarkan pada SOAP XML dalam konten yang di-POST
  • Http POST ke aisgo.com/produk.asmx/UpdateProduct – mengubah produk berdasarkan pada SOAP XML dalam konten yang di-POST
RESTfull lebih cenderung pada pembentukan semua metode yang Anda inginkan menggunakan URL pada browser.
Contoh:
  • Http GET dari aisgo.com/produk – mengembalikan XML atau JSON daftar semua produk
  • Http GET dari aisgo.com/produk/10 – mengembalikan XML atau JSON untuk produk 10
  • Http POST ke aisgo.com/produk/10 – mengubah product 10 ke apa yang Anda Post dalam form HTML.

No comments:

Powered by Blogger.