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: