Perbandingan SOAP dan REST sebagai Web Service

advertisement
23/10/2017
Pusdiklat BPS RI
Rubrik : Lainnya
Perbandingan SOAP dan REST sebagai Web Service
15 Oktober 2012, 0:10:20 oleh Wisnu Nurdiyanto
Apa SOAP dan apa REST
SOAP, mulanya didefinisikan sebagai Simple Object Access Protocol, adalah sebuah spesifikasi protokol
untuk pertukaran pesan/informasi terstruktur dalam implementasi web servis di jaringan komputer. SOAP
menggunakan Extensible Markup Language (XML) sebagai format pesannya, dan biasanya bergantung pada
protokol layer aplikasi lainnya, terutama Hypertext Transfer Protocol (HTTP) dan Simple Mail Transfer
Protocol (SMTP), untuk transmisi dan negosiasi pesan.
REpresentational State Transfer (REST) adalah sebuah arsitektur software untuk sistem terdistribusi semisal
web. REST telah berkembang sebagai model desain web servis yang dominan saat ini. Istilah
representational state transfer dikenalkan dan didefinisikan pada tahun 2000 oleh Roy Fielding dalam
desertasi doktoralnya. Beliau merupakan salah satu penulis utama spesifikasi HTTP versi 1.0 dan 1.1. Sesuai
konstrainnya, REST biasa disebut dengan “RESTful.”
Arsitektur REST memiliki enam konstrain berikut untuk diterapkan:
1.
2.
3.
4.
5.
6.
Client-server
Stateless (tidak ada data client yang disimpan selama proses komunikasi)
Dapat di-cache
Sistem berlapis
Code on demand (opsional)
Interface yang seragam
Web servis RESTful (disebut juga web API RESTful) adalah sebuah web servis yang diimplementasikan
menggunakan HTTP dan prinsip-prinsip REST. Web servis RESTful merupakan kumpulan resource yang
aspek-aspek sebagai berikut:
1. URI untuk web servis, seperti http://example.com/resources/
2. Tipe media internet yang didukung oleh web servis. Biasanya XML tetapi dapat juga berupa tipe lainnya
asalkan valid sesuai standar HTTP
3. Set operasi yang didukung oleh web servis dengan metode HTTP (misal: GET, PUT, POST, atau
DELETE)
4. API harus berbasis hypertext
Persamaan SOAP dan REST
Sebagai bentuk dari web service, SOAP dan REST memiliki kesamaan antara lain sebagai berikut:
●
●
Digunakan sebagai metode pertukaran pesan dalam komunikasi dengan web servis
Bisa menggunakan protokol web (HTTP, HTTPS)
1
23/10/2017
Perbedaan SOAP dan REST
Adapun perbedaan yang terdapat pada SOAP dan REST dapat dijelaskan pada tabel berikut:
Uraian
SOAP
REST
(1)
(2)
(3)
Protokol komunikasi
HTTP, HTTPS, SMTP, FTP
HTTP, HTTPS
Dalam jumlah request yang banyak, relatif Relatif hemat bandwidth, karena
Penggunaan bandwidth boros bandwidth. Hal ini karena banyaknya markup-markup ekstra seperti pada
markup dalam penulisan format XML
XML tidak dipakai
Tren penggunaan
Banyak mulai beralih ke REST, meski
masih tetap ada yang mempertahankan,
misalnya untuk integrasi aplikasi ke sistem
legasi pada sebuah perusahaan.
Mulai populer, banyak dipakai oleh
penyedia web servis terkemuka,
seperti twitter, yahoo!,
flickr,bloglines, technorati, google,
amazon, eBay, dsb
Aturan penulisan
Ketat, mengikuti spesifikasi XML (SOAP
v1.2)
Tidak ada spesifikasi khusus
Format respon
XML dengan spesifikasi SOAP. Agak sulit
bagi kita untuk membaca langsung dan
memahaminya.
XML, JSON, atau format plain teks
lainnya. Hal ini memudahkan
penerima respon membaca dan
memahaminya.
Attachment file
Bisa (karena dapat mengembalikan respon
dalam format binary)
Tidak bisa
Sifat web servis pada
umumnya
Tertutup, lebih ditujukan untuk vendor atau
Terbuka, bisa diakses siapa saja
perusahaan tertent
Caching web
Relatif sulit
Mudah, karena menggunakan URI
Penggunaan standar
Standar lama (XML, HTTP) dan baru
(SOAP) digunakan bersamaan
Standar yang sudah ada, seperti
XML dan HTTP
Tool pengembangan
Banyak, baik komersial maupun opensource
Beberapa, karena tidak begitu
dibutuhkan
Tool manajemen
Perlu, bahkan kadang harganya mahal
Menggunakan tool yang sudah ada
pada sistem jaringan
Ekstensibel
Bisa, banyak ekstensi termasuk standar
WS-*
Relatif tidak ekstensibel
Kemudahan
implementasi
Mudah jika kita sudah memiliki lingkungan
Mudah
berbasis SOAP
Informasi lebih lanjut mengenai SOAP dan REST bisa dilihat pada website masing-masing.
●
●
SOAP (http://www.w3.org/TR/soap)
REST (http://www.ics.uci.edu/~fielding/talks/webarch_9805)
Pusdiklat BPS : http://pusdiklat.bps.go.id
Versi Online : http://pusdiklat.bps.go.id/index.php?r=artikel/view&id=206
2
Download