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