PERKEMBANGAN ANTARA WEB SERVICE YANG MENGGUNAKAN PROTOCOL SOAP DAN REST Nurasanah 110155201072 Jln.Sultan Mahmud, no 57,Tanjungpinang,Kepri 29121 Emaili:
[email protected] Mahasiswa Program S1 Teknik Informatika ,FT, UMRAH
ABSTRAK Web services memungkinkan dua buah aplikasi untuk saling berkomunikasi meskipun aplikasi tersebut berbeda platform. Dengan menggunakan web services, aplikasi Java dapat menggunakan layanan yang diberikan oleh aplikasi berbahasa pemrograman lain. Dengan menggunakan web service, maka kita dapat mempublish function, procedure, message dan lain-lain melalui jaringan internet atau intranet. Dasar dari Web Service adalah XML dan HTTP. Ada terdapat dua standard protocol yang digunakan dalam komunikasi data di web service yaitu SOAP Based Service dan REST Based Service. Yang mana masing- masing protocol memiliki keunggulan dan kelemahan. Jika anda ingin membuat suatu web service yang memuaskan, anda dapat memutuskan dengan baik protocol apa yang harus anda gunakan. Kata kunci : SOAP, REST, Web service
1. PENDAHULUAN
menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk
Beberapa waktu akhir-akhir ini, web service
pertukaran data, khususnya pada dua entities bisnis
menjadi semakin populer bagi para pengembang
yang berbeda. Adapun pengertian lain dari Web
aplikasi. Teknologi web service merupakan salah satu
Service Web service adalah sistem software yang
cara setiap fungsi bisnis untuk berkomunikasi. Bukan
dirancang untuk mendukung interopabilitas mesin-ke-
seperti model client/server tradisional, seperti web
mesin yang dapat berinteraksi melalui jaringan. Web
server atau sistem laman web, Web service tidak
service memiliki antarmuka yang dijelaskan dalam
menyediakan GUI untuk para pengguna. Web service
format mesin-processable (khusus WSDL). Sistem
hanya menyediakan business logic, proses, dan data
lain berinteraksi dengan
dalam antarmuka pemrograman antar jaringan [1].
ditentukan oleh deskripsi dengan menggunakan pesan
Web service dalam cara
Web services tidak memerlukan browser atau
SOAP, biasanya disampaikan menggunakan HTTP
HTML. Sehingga berikutnya Web service dapat
dengan serialisasi XML dalam hubungannya dengan
ditambahkan ke sebuah GUI (seperti laman web atau
Web lainnya yang terkait standar Jadi pada dasarnya,
aplikasi desktop). Web service adalah sebuah sofware
dengan
aplikasi yang tidak terpengaruh oleh platform, ia akan
sebenarnya pembuatan web service itu relatif sangat
memahami
ketiga
komponen
tersebut
mudah, jika kita sudah memahami bagaimana
dan bagaimana menyatukan sebuah message didalam
membuat aplikasi website [.
protokol transport. Proses layanan dengan arsitektur
Web Services digunakan pada saat kita akan
SOAP memiliki tiga komponen utama, yaitu: service
mentransformasi sebuat bisnis logik dan object yang
provider, service requester, dan service broker. Dan
terpisah dalam satu ruang lingkup yang menjadi satu
komponen pendukung yaitu: XML, SOAP-XML
(dalam sebuah institusi), sehingga tingkat keamanan
(terdiri atas header dan body), 3WSDL, serta UDDI.
data dapat ditangani dengan baik. Selain itu Web
Soap mempunyai tiga karakteristik, yaitu
Service
juga
lebih
mudah
dalam
process
Extensibility
deploymentnya, karena tidak memerlukan registrasi
Security dan WS-routing adalah beberapa
khusus ke dalam sistem operasi. Web Service cukup
ekstension yang dapat digunakan sebagai
diupload ke Web Server dan siap diakses oleh pihak-
security web service yang masih dalam tahap
pihak yang telah diberikan otorisasi. Web Service
development.
berjalan di port 80 yang merupakan protokol standar
Neutrality
HTTP, dengan demikian mengurangi resiko terblokir
SOAP
oleh firewall. Kendala arsitektur COM/DCOM adalah
transport protocol seperti HTTP, SMTP, TCP
memerlukan konfigurasi khusus di sisi firewall,
atau JMS (Java Messaging Service).
dan ini tidak perlu dilakukan untuk mengakses Web Service.
Beberapa
vendor
luar
negeri
mulai
berkolaborasi satu sama lain dengan konsep web
dapat
digunakan
pada
berbagai
Independence SOAP dapat diprogram pada berbagai bahasa
pemograman.
services , diantaranya : IBM, Microsoft , SUN ,
Contoh bagaimana prosedur SOAP
ORACLE Diantaranya contoh web services yang
digunakan suatu pesan SOAP dapat dikirimkan ke
sudah jadi dan dipakai adalah web services keluaran
suatu website yang mendukung web service, seperti
Microsoft ( Microsoft Passport ) – web services untuk
database harga real-estate, dengan parameter yang
user name dan password yang sudah dipasang di web
diperlukan untuk pencarian. Site tersebut kemudian
site Microsoft dan HOTMAIL.
akan mengembalikan dokumen dalam format XML dengan data hasil, contoh : harga,
2. PEMBAHASAN
dapat
lokasi, fiturs.
Dengan data hasil yang berupa suatu standard yang dapat di parsing, data tersebut kemudian dapat
Saat ini terdapat dua tipe Web Service yaitu SOAP
diintegrasikan secara langsung dengan website atau
Based Service dan REST Based Service. Saya akan
aplikasi pihak ketiga
membahas tentang SOAP terlebih dahulu. SOAP (Simple Object Access Protocol) adalah sebuah XML-based mark-up language untuk pergantian pesan diantara aplikasi-aplikasi. SOAP berguna seperti sebuah amplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention,
Pesan
SOAP
berbentuk
seperti
sebuah
envelope yang berisi header (optional) dan body (required), seperti ditunjukkan pada gambar. Header
Ada beberapa rules (peraturan) didalam membuat
berisi blok informasi yang berhubungan dengan
SOAP message (Pesan) :
bagaimana pesan tersebut diproses. Hal ini meliputi pe-routingan dan delivery setting, authentication atau authorization assertions, and transaction
menggunakan XML
contexts.
Body berisi pesan sebenarnya yang dikirim dan
Sebuah pesan SOAP harus menggunakan SOAP Envelope Namespace
diproses. Semua yang dapat ditampilkan dengan sintaks XML dapat dimasukkan dalam pesan body.
Sebuah pesan SOAP harus di encoding
Sebuah pesan SOAP harus menggunakan SOAP encoding namespace
[2]
Sebuah pesan SOAP TIDAK harus berisi referensi DTD
Sebuah pesan SOAP TIDAK harus berisi XML Processing Instructions
Kelebihan SOAP
SOAP cukup fleksibel untuk memungkinkan penggunaan protokol transport yang berbeda. Stack standar menggunakan HTTP sebagai protokol transport, tetapi protokol lainnya seperti JMS dan SMTP juga bisa digunakan.
Gambar. Struktur SOAP
Karena terowongan Model SOAP baik di HTTP model get / respon, dapat dengan mudah melalui firewall dan proxy, tanpa modifikasi protokol SOAP, dan dapat menggunakan infrastruktur yang ada.
dirancang untuk menangani lingkungan komputasi terdistribusi
merupakan standar yang berlaku untuk web servis, sehingga mempunyai dukungan yang lebih baik dari standar yang lain (WSDL, WS-*) dan tools dari berbagai vendor
built-in error handling (faults)
extensibility
Kekurangan SOAP
oleh Fielding yang didasari oleh empat prinsip utama teknologi, yaitu:
Karena format XML yanb verbose, SOAP bisa jauh
lebih
lambat
daripada
middleware bersaing seperti CORBA atau ICE. Hal Ini mungkin tidak menjadi masalah ketika hanya
pesan
kecil
a.
teknologi
dikirim.
Identifier (URI), b.
XML dengan objek biner tertanam, Transmisi
c.
dan
tidak
menggunakan
WS-
Addressing atau ESB, peran pihak yang saling
CRUD
self-descriptive messages(sumberdaya tidak terikat sehingga dapat mengakses konten HTML, XML, PDF, JPEG, plain text, meta
Ketika mengandalkan HTTP sebagai protokol transport
interface(sumberdaya
DELETE),
Pesan Mekanisme Optimization diperkenalkan.
uniform
menggunakan operasi PUT, GET, POST, dan
Untuk
meningkatkan kinerja untuk kasus khusus dari
Resource identifier through Uniform Resource
data, dll), serta d.
stateful
interactions
through
hyperlinks(bersifat stateless)
berinteraksi tetap. Hanya satu pihak (klien) dapat menggunakan layanan dari yang lain. Pengembang
harus
menggunakan
bukan pemberitahuan dalam kasus-kasus yang
Sulit untuk dikembangkan, mebutuhkan
Membutuhkan lebih banyak pernyataan/kode
sederhana
karena
menggunakan format standar (HTTP, HTML,
pertukaran data, maka konten berupa teks dari hasil
teks
(seperti
XML
atau
HTML)
dengan
menggunakan utilitas komunikasi data berupa
program Berikutnya adalah Restful Based Service protocol yang baru. REST adalah salah satu software arsitektur yang digunakan sebagai acuan ketika membuat aplikasi berbasis
lebih
eksekusi web servicedapat diolah dalam format
tools
REST
XML, URI, MIME), namun jika diperlukan proses
umum.
Metode
polling
web
service. Filosofi REST
koneksi
socketprotokol
HTTP.
Utilitas
umumnya tersedia dalam pustaka komunikasi pada bahasa pemrograman (seperti Java, Visual Basic, Delphi, PHP, ASP, dan JSP) [5].
mendukung bahwa prinsip dan protokol yang sudah ada di Web cukup untuk membuat web servide yang kuat (robust). Hal ini berarti bahwa developer yang mengerti HTTP dan XML dapat mulai membangun web service tanpa membutuhkan toolkit di belakang apa yang biasanya digunakan dalam pengembangan aplikasi internet [3]. Dalam arsitektur REST, kunci resource
Keuntungan REST
bahasa dan platform agnostic
lebih sederhana/simpel untuk dikembangkan ketimbang SOAP
URI sendiri. Metode REST telah dikembangkankan
mudah dipelajari, tidak bergantung pada tools
ringkas, tidak membutuhkan layer pertukaran pesan (messaging)
diidentifikasi, dapat berupa entitas, koleksi, atau yang lain dimana nampak lebih bernilai ketika memiliki
ini
tambahan
REST mudah diimplementasikan karena menggunakan metode yang
sama seperti ketika membuat web,
Perbedaan Antara SOAP dan Restful
yaitu menggunakan HTML. Sedangkan untuk pertukaran data,
Perbedaannya
RESTFUL
Pada aplikasi - aplikasi
REST tidak hanya dapat menggunakan
Enterprise untuk
XML saja, tetapi juga dapat menggunakan JSON [7].
SOAP
Penggunaannya
mengintegrasikan penggunaan yang lebih luas dan banyak aplikasi dan
Kelemahan REST
Twitter, Yahoo, termasuk Flickr,
Mengasumsi model point-to-point
tren yang lain adalah
komunikasi - tidak dapat digunakan
mengintegrasikan dengan
untuk lingkungan komputasi
legacy system (sistem lama
terdistribusi di mana pesan akan melalui
yg sudah ada sebelumnya).
satu atau lebih perantara
Dalam internet, Google
Kurangnya dukungan standar untuk
konsisten dalam
keamanan, kebijakan, keandalan pesan,
mengimplementasikan web
dll, sehingga layanan yang mempunyai
service kecuali Blogger
persyaratan lebih canggih lebih sulit
yang menggunakan XML-
untuk dikembangkan ("dipecahkan
RPC.
sendiri")
Membutuhkan waktu yang
Lebih ringan karena
bloglines, technorati, dan beberapa yang lain.
panjang, dan menyebabkan
pada antarmuka
Penggunaan
membutuhkan Bandwidth
RESTful adalah
Bandwidth
yang panjang.
request dan respon
Berkaitan dengan model transport HTTP
del.icio.us, pubsub,
dapat dipendekkan
Caching
Request SOAP
Karena berbasis
menggunakan POST dan
HTTP/Rest-ful API
membutuhkan request
dapat dikonsumsi
XML kompleks untuk
menggunakan
dibangun yang akan
request GET
membuat caching-respon
sederhana, server
terasa sulit.
proxy/reverse-proxy dapat melakukan cache atas respon tersebut dengan mudah.
KESIMPULAN Dari penjelasan detail di atas dapat dikatakan bahwa SOAP tidak semudah itu, SOAP membutuhkan usaha
DAFTAR PUSTAKA
implementasi yang lebih besar dan pengetahuan di sisi
[1] Snell,James,dkk 2001, ‘Programming Web
klien, sedangkan web service berbasis HTTP atau
Services with SOAP’ CANADA: O'Reilly,
REST-API membutuhkan implementasi yang lebih
[2] Purnamasar,SD 2008,’ Web service Sebagai
besar dan pengetahuan di sisi server. Adopsi API dapat
Solusi Integrasi Data pada Sistem Informasi
meningkatkan lebih jauh lagi jika interface berbasis
Universitas Bina Darma’ , No. 3.
HTTP disediakan. Faktanya, HTTP berbasis API
[3] Richardson, Leonard,dkk 2007,’ RESTful Web
dengan respon XML/JSON mewakili yang terbaik dari
Services’ California : O'Reilly,
kedua turunan dan mudah diimplementasikan dalam
[4] Istiyanto,sutanta, 2012, ‘MODEL
server semudah mengkonsumsi melalui server .
INTEROPERABILITAS ANTAR APLIKASI E-
Untuk mengkonsumsi web service, kadangkadang bingung mengimplementasikan mana yang lebih mudah. Sebagai contoh Google AdWords web
GOVERNMENT’, page 114. [5] Pautasso, 2008, C., 2008, REST vs SOAP Making the Right Architectural Decision, SOA
service sangat sulit untuk dikonsumsi (dalam CF
Symposium, Amsterdam.
apapun), karena menggunakan header SOAP, dan
[6] Chappel,D, Jewell,T, 2002,’Java Web Services’ :
sejumlah hal lain yang membuatnya sulit. Sebaliknya,
O'Reilly,
web service REST Amazon kadangkala rumit untuk
[7] Cerami, E. 2005. Web Service Essentials.
diuraikan (pase) karena sangat berulang, dan hasil
California: O’Reilly
schema dapat sedikit bervariasi sesuai dengan apa
[8] Lucky, 2008, XML Web services: Aplikasi Desktop, Internet & Handphone, Jasakom, Jakarta.
yang Anda cari. Arsitektur mana yang Anda pilih, pastikan pilih
yang
termudah
bagi
developer
untuk
mengaksesnya, dan tersokumentasi dengan baik. Akhirnya ketika Anda meng-host layanan internet, hal tersebut adalah kompleksitas sisi klien yang paling penting untuk menarik klien untuk menggunakan web service Anda. Web mempunyai
Service filosofi
SOAP yang
dan berbeda.
RESTful SOAP
sesungguhnya sebuah protokol komputasi terdistribusi berbasis XML, dimana REST cenderung masih sangat baru, desain berbass web. Sebagai catatan SOAP tidak sekompleks yang dikatakan banyak sumber, SOAP dapat dikatakan kompleks ketika digunakan untuk banyak ekstensi.