You are on page 1of 13

WEB SERVICE SOAP VS

REST, MANA YANG


LEBIH BAIK?

SOAP

SOAP singkatan dariSimple Object Access Protocol. SOAP adalah


protokol untuk pertukaran informasi dengan desentralisasi dan
terdistribusi. SOAP dibangun dengan menggunakan protokol
komunikasi
HTTP.
Karena
HTTP
didukung
oleh
semuabrowserdanserver, maka SOAP dapat berkomunikasi dengan
berbagai aplikasi meskipun terdapat perbedaan sistem operasi,
teknologi, dan bahasa pemrogramannya.

SOAP menspesifikan secara jelas bagaimana cara untuk mengencodeheaderHTTP


danfileXML
sehingga
program
pada
suatukomputerdapat memanggil program pada pada komputer lain
dan mengirimkan informasi, dan bagaimana program yang dipanggil
memberikan tanggapan.

STRUKTUR SOAP
Pesan SOAP

Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi


elemen-elemen berikut:

Envelope elementyang mengidentifikasi dokumen XML


sebagai sebuah pesan SOAP.

Elemenheaderyang berisi informasiheader. Elemen ini


bersifat opsional.

Elemenbodyyang berisi panggilan dan merespon informasi.

Fault elementyang berisi pesan kesalahan yang terjadi pada


waktu proses. Elemen ini opsional.

STRUKTUR SOAP

Berikut adalah peraturan penting dalam penulisan sintaks


SOAP:

1. Pesan
2. Pesan
namespace
3. Pesan
namespace
4. Pesan

SOAP HARUS ditulis dalam bahasa XML


SOAP HARUS selalu memiliki SOAP Envelope
SOAP HARUS selalu memiliki SOAP Encoding
SOAP HARUS selalu memiliki DTD reference

5. Pesan SOAP TIDAK BOLEH berisi XML Processing


Instructions

KEUNTUNGAN SOAP

bahasa, platform, dan transport agnostic

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

KELEMAHAN SOAP

secara konseptual lebih sulit, lebih "heavy-weight" dibanding


REST
lebih "verbose" (membutuhkan lebih banyak pernyataan/kode
program)
sulit untuk dikembangkan, mebutuhkan tools

REST

REST (Representational State Transfer) adalah suatudesign arsitektur


perangkat lunak yang digunakan untuk pendistibusian sistem
hipermediaseperti WWW (World Wide Web).REST arsitektur terdiri
dari client and server. Proses transfer data dimulai ketika client
melakukan request ke server, kemudian server memproses
permintaan dari client dan meresponse balik dengan mengirimkan
mengirimkan data yang sesuai dengan permintaan client.

REST pada dasarnya setiap URL unik adalah representasi dari


beberapa objek. Kita dapat memperoleh konten-konten objek tersebut
menggunakan HTTP GET, untuk menghapusnya, kita dapat
menggunakan POST, PUT, atau DELETE untuk memodifikasi objek
(dalam praktiknya, kebanyakan service menggunakan POST untuk ini).

KEUNTUNGAN REST

bahasa dan platform agnostic

lebih sederhana/simpel untuk dikembangkan ketimbang SOAP

mudah dipelajari, tidak bergantung pada tools

ringkas, tidak membutuhkan


(messaging) tambahan

secara desain dan filosofi lebih dekat dengan web

layer

pertukaran

pesan

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

REST VS SOAP

Keuntungan utama web service REST yaitu:

lightweigt, tidak membutuhkan XML markup tambahan

hasilnya dapat dibaca dengan mudah oleh manusia (human


readable result)

mudah untuk dikembangkan, tidak membutuhkan toolkit

SOAP juga mempunyai beberapa kelebihan:

mudah untuk dikonsumsi (kadang-kadang)

rigid (lebih kaku/ketat), dalam type-checking, harus mematuhi


aturan penulisan

membutuhkan tools pengembangan

SECURITY

Mungkin hal menarik dari perseteruan REST vs SOAP adalah sudut


pandang security (keamanan). Meskipun SOAP menegaskan bahwa
untuk mengirimkan remote procedure calls (RPC) melalui port standar
HTTP adalah cara yang baik untuk memastikan dukungan web service
melalui aturan-aturan yang ada. Namun, para pendukung REST
berpendapat bahwa praktik tersebut adalah sebuah kekurangan utama
yang membahayakan keamanan jaringan. Panggilan-panggilan REST
juga dapat melalui HTTP atau HTTPS, tetapi dengan REST, administrator
(firewall) dapat membedakan maksud dari setiap pesan dengan
menganalisis perintah HTTP yang digunakan saat request. Sebagai
contoh, request GET selalu dianggap aman karena ia tidak dapat,
menurut definisi, memodifikasi data apapun. Dan itu hanya dapat
meng-query kan data.

SECURITY

Request SOAP secara tipikal akan menggunakan POST untuk


mengkomunikasi dengan service yang diberikan. Dan tanpa
melihat envelope SOAP (tugas yang digunakan untuk
mengkonsumsi keduanya dan tidak disertakan pada
kebanyakan firewall) tidak ada cara untuk mengetahui apakah
request tersebut hanya ingin meng-query data atau
menghapus seluruh tabel dari database.

You might also like