Jurnal Web Service - Metode Rest
-
Upload
rian-cosmo -
Category
Documents
-
view
207 -
download
2
description
Transcript of Jurnal Web Service - Metode Rest
-
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
Beberapa waktu akhir-akhir ini, web service
menjadi semakin populer bagi para pengembang
aplikasi. Teknologi web service merupakan salah satu
cara setiap fungsi bisnis untuk berkomunikasi. Bukan
seperti model client/server tradisional, seperti web
server atau sistem laman web, Web service tidak
menyediakan GUI untuk para pengguna. Web service
hanya menyediakan business logic, proses, dan data
dalam antarmuka pemrograman antar jaringan [1].
Web services tidak memerlukan browser atau
HTML. Sehingga berikutnya Web service dapat
ditambahkan ke sebuah GUI (seperti laman web atau
aplikasi desktop). Web service adalah sebuah sofware
aplikasi yang tidak terpengaruh oleh platform, ia akan
menyediakan method-method yang dapat diakses oleh
network. Ia juga akan menggunakan XML untuk
pertukaran data, khususnya pada dua entities bisnis
yang berbeda. Adapun pengertian lain dari Web
Service Web service adalah sistem software yang
dirancang untuk mendukung interopabilitas mesin-ke-
mesin yang dapat berinteraksi melalui jaringan. Web
service memiliki antarmuka yang dijelaskan dalam
format mesin-processable (khusus WSDL). Sistem
lain berinteraksi dengan Web service dalam cara
ditentukan oleh deskripsi dengan menggunakan pesan
SOAP, biasanya disampaikan menggunakan HTTP
dengan serialisasi XML dalam hubungannya dengan
Web lainnya yang terkait standar Jadi pada dasarnya,
dengan memahami ketiga komponen tersebut
sebenarnya pembuatan web service itu relatif sangat
-
mudah, jika kita sudah memahami bagaimana
membuat aplikasi website [.
Web Services digunakan pada saat kita akan
mentransformasi sebuat bisnis logik dan object yang
terpisah dalam satu ruang lingkup yang menjadi satu
(dalam sebuah institusi), sehingga tingkat keamanan
data dapat ditangani dengan baik. Selain itu Web
Service juga lebih mudah dalam process
deploymentnya, karena tidak memerlukan registrasi
khusus ke dalam sistem operasi. Web Service cukup
diupload ke Web Server dan siap diakses oleh pihak-
pihak yang telah diberikan otorisasi. Web Service
berjalan di port 80 yang merupakan protokol standar
HTTP, dengan demikian mengurangi resiko terblokir
oleh firewall. Kendala arsitektur COM/DCOM adalah
memerlukan konfigurasi khusus di sisi firewall,
dan ini tidak perlu dilakukan untuk mengakses Web
Service. Beberapa vendor luar negeri mulai
berkolaborasi satu sama lain dengan konsep web
services , diantaranya : IBM, Microsoft , SUN ,
ORACLE Diantaranya contoh web services yang
sudah jadi dan dipakai adalah web services keluaran
Microsoft ( Microsoft Passport ) web services untuk
user name dan password yang sudah dipasang di web
site Microsoft dan HOTMAIL.
2. PEMBAHASAN
Saat ini terdapat dua tipe Web Service yaitu SOAP
Based Service dan REST Based Service. Saya akan
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,
dan bagaimana menyatukan sebuah message didalam
protokol transport. Proses layanan dengan arsitektur
SOAP memiliki tiga komponen utama, yaitu: service
provider, service requester, dan service broker. Dan
komponen pendukung yaitu: XML, SOAP-XML
(terdiri atas header dan body), 3WSDL, serta UDDI.
Soap mempunyai tiga karakteristik, yaitu
Extensibility
Security dan WS-routing adalah beberapa
ekstension yang dapat digunakan sebagai
security web service yang masih dalam tahap
development.
Neutrality
SOAP dapat digunakan pada berbagai
transport protocol seperti HTTP, SMTP, TCP
atau JMS (Java Messaging Service).
Independence
SOAP dapat diprogram pada berbagai bahasa
pemograman.
Contoh bagaimana prosedur SOAP dapat
digunakan suatu pesan SOAP dapat dikirimkan ke
suatu website yang mendukung web service, seperti
database harga real-estate, dengan parameter yang
diperlukan untuk pencarian. Site tersebut kemudian
akan mengembalikan dokumen dalam format XML
dengan data hasil, contoh : harga, lokasi, fiturs.
Dengan data hasil yang berupa suatu standard yang
dapat di parsing, data tersebut kemudian dapat
diintegrasikan secara langsung dengan website atau
aplikasi pihak ketiga
-
Pesan SOAP berbentuk seperti sebuah
envelope yang berisi header (optional) dan body
(required), seperti ditunjukkan pada gambar. Header
berisi blok informasi yang berhubungan dengan
bagaimana pesan tersebut diproses. Hal ini meliputi
pe-routingan dan delivery setting, authentication atau
authorization assertions, and transaction contexts.
Body berisi pesan sebenarnya yang dikirim dan
diproses. Semua yang dapat ditampilkan dengan
sintaks XML dapat dimasukkan dalam pesan body.
[2]
Ada beberapa rules (peraturan) didalam membuat
SOAP message (Pesan) :
Sebuah pesan SOAP harus di encoding
menggunakan XML
Sebuah pesan SOAP harus menggunakan
SOAP Envelope Namespace
Sebuah pesan SOAP harus menggunakan
SOAP encoding namespace
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.
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
Gambar. Struktur SOAP
-
Kekurangan SOAP
Karena format XML yanb verbose, SOAP bisa
jauh lebih lambat daripada teknologi
middleware bersaing seperti CORBA atau ICE.
Hal Ini mungkin tidak menjadi masalah ketika
hanya pesan kecil dikirim. Untuk
meningkatkan kinerja untuk kasus khusus dari
XML dengan objek biner tertanam, Transmisi
Pesan Mekanisme Optimization diperkenalkan.
Ketika mengandalkan HTTP sebagai protokol
transport dan tidak menggunakan WS-
Addressing atau ESB, peran pihak yang saling
berinteraksi tetap. Hanya satu pihak (klien)
dapat menggunakan layanan dari yang lain.
Pengembang harus menggunakan polling
bukan pemberitahuan dalam kasus-kasus yang
umum.
Sulit untuk dikembangkan, mebutuhkan
tools
Membutuhkan lebih banyak pernyataan/kode
program
Berikutnya adalah Restful Based Service protocol
yang baru. REST adalah salah satu software arsitektur
yang digunakan sebagai acuan ketika membuat
aplikasi berbasis web service. Filosofi REST
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
diidentifikasi, dapat berupa entitas, koleksi, atau yang
lain dimana nampak lebih bernilai ketika memiliki
URI sendiri. Metode REST telah dikembangkankan
oleh Fielding yang didasari oleh empat prinsip utama
teknologi, yaitu:
a. Resource identifier through Uniform Resource Identifier (URI),
b. uniform interface(sumberdaya CRUD menggunakan operasi PUT, GET, POST, dan
DELETE),
c. self-descriptive messages(sumberdaya tidak terikat sehingga dapat mengakses konten
HTML, XML, PDF, JPEG, plain text, meta
data, dll), serta
d. stateful interactions through hyperlinks(bersifat stateless)
Metode REST lebih sederhana karena
menggunakan format standar (HTTP, HTML,
XML, URI, MIME), namun jika diperlukan proses
pertukaran data, maka konten berupa teks dari hasil
eksekusi web servicedapat diolah dalam format
teks (seperti XML atau HTML) dengan
menggunakan utilitas komunikasi data berupa
koneksi socketprotokol HTTP. Utilitas ini
umumnya tersedia dalam pustaka komunikasi pada
bahasa pemrograman (seperti Java, Visual Basic,
Delphi, PHP, ASP, dan JSP) [5].
Keuntungan REST
bahasa dan platform agnostic
lebih sederhana/simpel untuk
dikembangkan ketimbang SOAP
mudah dipelajari, tidak bergantung
pada tools
ringkas, tidak membutuhkan layer
pertukaran pesan (messaging)
tambahan
REST mudah diimplementasikan
karena menggunakan metode yang
-
sama seperti ketika membuat web,
yaitu menggunakan HTML.
Sedangkan untuk pertukaran data,
REST tidak hanya dapat menggunakan
XML saja, tetapi juga dapat
menggunakan JSON [7].
Kelemahan REST
Mengasumsi model point-to-point
komunikasi - tidak dapat digunakan
untuk lingkungan komputasi
terdistribusi di mana pesan akan melalui
satu atau lebih perantara
Kurangnya dukungan standar untuk
keamanan, kebijakan, keandalan pesan,
dll, sehingga layanan yang mempunyai
persyaratan lebih canggih lebih sulit
untuk dikembangkan ("dipecahkan
sendiri")
Berkaitan dengan model transport
HTTP
Perbedaan Antara SOAP dan Restful
Perbedaannya SOAP RESTFUL
Penggunaannya
Pada aplikasi - aplikasi
Enterprise untuk
mengintegrasikan
penggunaan yang lebih luas
dan banyak aplikasi dan
tren yang lain adalah
mengintegrasikan dengan
legacy system (sistem lama
yg sudah ada sebelumnya).
Dalam internet, Google
konsisten dalam
mengimplementasikan web
service kecuali Blogger
yang menggunakan XML-
RPC.
Twitter, Yahoo,
termasuk Flickr,
del.icio.us, pubsub,
bloglines, technorati,
dan beberapa yang
lain.
Penggunaan
Bandwidth
Membutuhkan waktu yang
panjang, dan menyebabkan
membutuhkan Bandwidth
yang panjang.
Lebih ringan karena
pada antarmuka
RESTful adalah
request dan respon
dapat dipendekkan
Caching
Request SOAP
menggunakan POST dan
membutuhkan request
XML kompleks untuk
dibangun yang akan
membuat caching-respon
terasa sulit.
Karena berbasis
HTTP/Rest-ful API
dapat dikonsumsi
menggunakan
request GET
sederhana, server
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
implementasi yang lebih besar dan pengetahuan di sisi
klien, sedangkan web service berbasis HTTP atau
REST-API membutuhkan implementasi yang lebih
besar dan pengetahuan di sisi server. Adopsi API dapat
meningkatkan lebih jauh lagi jika interface berbasis
HTTP disediakan. Faktanya, HTTP berbasis API
dengan respon XML/JSON mewakili yang terbaik dari
kedua turunan dan mudah diimplementasikan dalam
server semudah mengkonsumsi melalui server .
Untuk mengkonsumsi web service, kadang-
kadang bingung mengimplementasikan mana yang
lebih mudah. Sebagai contoh Google AdWords web
service sangat sulit untuk dikonsumsi (dalam CF
apapun), karena menggunakan header SOAP, dan
sejumlah hal lain yang membuatnya sulit. Sebaliknya,
web service REST Amazon kadangkala rumit untuk
diuraikan (pase) karena sangat berulang, dan hasil
schema dapat sedikit bervariasi sesuai dengan apa
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 Service SOAP dan RESTful
mempunyai filosofi yang berbeda. 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.
DAFTAR PUSTAKA
[1] Snell,James,dkk 2001, Programming Web
Services with SOAP CANADA: O'Reilly,
[2] Purnamasar,SD 2008, Web service Sebagai
Solusi Integrasi Data pada Sistem Informasi
Universitas Bina Darma , No. 3.
[3] Richardson, Leonard,dkk 2007, RESTful Web
Services California : O'Reilly,
[4] Istiyanto,sutanta, 2012, MODEL
INTEROPERABILITAS ANTAR APLIKASI E-
GOVERNMENT, page 114.
[5] Pautasso, 2008, C., 2008, REST vs SOAP
Making the Right Architectural Decision, SOA
Symposium, Amsterdam.
[6] Chappel,D, Jewell,T, 2002,Java Web Services :
O'Reilly,
[7] Cerami, E. 2005. Web Service Essentials.
California: OReilly
[8] Lucky, 2008, XML Web services: Aplikasi
Desktop, Internet & Handphone, Jasakom, Jakarta.