Anda di halaman 1dari 10

SOAP dan REST

Diajukan Untuk Memenuhi Salah Satu Tugas


Mata Kuliah Layanan Web

Oleh :

Aris Kurniawan

137006122

TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SILIWANGI
Jl. Siliwangi 24 Telp. (0265) 324445 Tasikmalaya 46155 email: informatika@ft.unsil.ac.id URL: http://www.unsil.ac.id

1. UNDERSTANDING SOAP AND REST


A. SOAP
SOAP singkatan dari Simple Object Access Protocol. SOAP adalah
protokol untuk pertukaran informasi dengan desentralisasi dan terdistribusi.
SOAP dibangun dengan menggunakan protokol komunikasi HTTP. Karena
HTTP didukung oleh semua browser dan server, maka SOAP dapat
berkomunikasi dengan berbagai aplikasi meskipun terdapat perbedaan system
operasi, teknologi, dan bahasa pemrogramannya.
Peran SOAP di dalam teknologi web service adalah sebagai protokol
pemaketan untuk pesan-pesan (messages) yang digunakan secara bersama
oleh aplikasi-aplikasi penggunanya. Spesifikasi yang digunakan tidak lebih
seperti sebuah amplop biasa berbasis XML untuk informasi yang ditransfer,
serta sekumpulan aturan bagi translasi aplikasi dan tipe-tipe data platform
yang spesifik menjadi bentuk XML. Desain bentuk dari SOAP membuatnya
cocok untuk berbagai pertukaran pesan pada aplikasi.
Penjelasan Struktur Sintax SOAP
- SOAP Envelope
Sebuah pesan SOAP adalah sebuah dokumen XML yang terdiri dari SOAP
wajib amplop, opsional SOAP header, dan SOAP wajib tubuh. Dokumen
XML ini disebut sebagai sebuah pesan SOAP untuk sisa spesifikasi ini.
Namespace pengidentifikasi untuk elemen dan atribut yang didefinisikan
dalam bagian ini adalah
-

http://schemas.xmlsoap.org/soap/envelope/.
SOAP encoding Style Atribut
Encoding Style SOAP atribut global dapat digunakan untuk menunjukkan

aturan serialisasi digunakan dalam pesan SOAP. MUNGKIN atribut ini


muncul di setiap elemen, dan elemen scoped dengan isi dan semua elemen
anak sendiri tidak mengandung atribut seperti itu, banyak sebagai deklarasi
namespace XML adalah scoped. Tidak ada standar pengkodean yang
ditetapkan untuk sebuah pesan SOAP.
Contoh
http://schemas.xmlsoap.org/soap/encoding/
http://schemas.xmlsoap.org/soap/encoding/
http://my.host/encoding/restricted http://my.host/encoding/

Berikut adalah peraturan penting dalam penulisan sintaks SOAP :


Pesan SOAP HARUS ditulis dalam bahasa XML
Pesan SOAP HARUS selalu memiliki SOAP Envelope namespace
Pesan SOAP HARUS selalu memiliki SOAP Encoding namespace
Pesan SOAP HARUS selalu memiliki DTD reference
Pesan SOAP TIDAK BOLEH berisi XML Processing Instructions

Kelebihan SOAP adalah :


- Keuntungan yang utama adalah kemampuan untuk terowongan (to
tunnel through) melalui firewall.
-

Simplicity / Kesederhanaan -> pesan SOAP yang sederhana, manusia


dibaca format XML. (Pesan SOAP cukup simple, memudahkan
pembaca dengan format XML).

Scalability / Skalabilitas -> The SOAP pesan scalable karena


menggunakan protokol HTTP untuk transportasi.

Language neutrality / Bahasa netralitas -> ini dapat dikembangkan


menggunakan bahasa apapun.

Interoperability and Platform Independence / Interoperabilitas dan


Platform yang Independen -> SOAP dapat dilaksanakan dalam bahasa
apapun dan dapat dijalankan di platform manapun.

Kekurangan SOAP adalah :


- SOAP adalah lebih lambat dibandingkan CORBA atau RMI atau IIOP
karena panjang ke format XML yang telah mengikuti dan parsing
yang menyelimuti yang diperlukan. (SOAP is slower than CORBA or
RMI or IIOP due to the lengthy XML format that it has to follow and
the parsing of the envelop that is required.)
-

SOAP tergantung WSDL dan tidak memiliki standar mekanisme


untuk dinamis penemuan layana.

SOAP Syntax Rules


- A SOAP message MUST be encoded using XML
- A SOAP message MUST use the SOAP Envelope namespace
- A SOAP message MUST use the SOAP Encoding namespace
- A SOAP message must NOT contain a DTD reference
- A SOAP message must NOT contain XML Processing Instructions

A. REST
REST adalah salah satu jenis web service yang menerapkan konsep
perpindahan antar state. State disini dapat digambarkan seperti jika browser
meminta suatu halaman web, maka serverakan mengirimkan state halaman
web yang sekarang ke browser. Bernavigasi melalui linklink yang disediakan
sama halnya dengan mengganti state dari halaman web. Begitu pula REST
bekerja, dengan bernavigasi melalui link-link HTTP untuk melakukan
aktivitas tertentu, seakan-akan terjadi perpindahan state satu sama lain.
Perintah HTTP yang bisa digunakan adalah fungsi GET, POST, PUT atau
DELETE. Balasan yang dikirimkan adalah dalam bentuk XML sederhana
tanpa ada protokol pemaketan data, sehingga informasi yang diterima lebih
mudah dibaca dan diparsing disisi clien.
Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web
service yang berorientasi pada resource. Maksud orientasi pada resource
adalah orientasi yang menyediakan resource-resource sebagai layanannya
dan bukan kumpulan-kumpulan dari aktifitas yang mengolah resource
itu.Alasan mengapa REST tidak digunakan dalam skripsi ini karena orientasi
pada resourcenya itu,sedangkan aplikasi event calendar membutuhkan
pemanggilan metode yang bisa dikerjakan terhadap kumpulan resource event.
Selain itu, karena standarnya yang kurang sehingga tidak begitu cocok
diterapkan dalam aplikasi yang membutuhkan kerjasama antar aplikasi lain,
dimana standar yang baik akan sangat berguna karena berbicara dalam satu
bahasa yang sama. Beberapa contoh web service yang menggunakan REST
adalah: Flickr API(Application ProgramInterface), YouTube API, Amazon
API.
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.
-

Secara desain dan filosofi lebih dekat dengan web.

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")

2. REST VS SOAP
singkatan dari Simple Object Access Protocol.
-

HTTP berbasis API maksudnya adalah API yang dipanggil sebagai


satu atau lebih URI HTTP dan respon umumnya dalam format
XML/JSON. Skema responnya pun berbeda-beda setiap objeknya.

REST di sisi lain merupakan elemen penggunaan URI yang


distandarkan, dan juga menambah pentingnya verba HTTP yang
dipakai, seperti GET, POST, PUT, dan sebagainya

Meskipun pada tahun-tahun terakhir ini kita lihat pertumbuhan jumlah web
servis, meski publisitas SOAP sudah berkurang. Arsitek internet memiliki
alasan bagus telah meminggirkan SOAP, karena ada metode yang lebih baik
untuk membangun web servis dalam bentuk Representational State Transfer
(REST).
REST lebih merupakan filosofi tua ketimbang teknologi baru, tetapi
merupakan wujud yang kemudian lahir sebagai teknologi. SOAP terlihat
melompat, memulai fase berikutnya dari pengembangan internet dengan
sejumlah spesifikasi baru, sedang REST berfilosofi bahwa prinsip-prinsip
yang ada dan protokol web sudah cukup untuk membuat web servis yang
baik. Ini berarti bahwa pengembang yang paham tentang HTTP dan XML
dapat langsung mulai membangun web servis, tanpa perlu ada toolkit yang
biasanya tidak mereka gunakan untuk pengembangan aplikasi Internet.

Pada arsitektur RESTful, resource kunci diidentifikasi dapat berupa


entitas, koleksi, atau apapun yang oleh desainer dirasa cocok untuk memiliki
URI sendiri. Metode standar pada kasus ini, verba HTTP dipetakan ke
resource dengan semantik khusus. Semua resource mengimplementasikan
interface yang seragam. Dimensi tipe konten, yang memungkinkan
representasi berbeda dari resource (seperti XML, HTML, dan plain teks)
sebagaimana kemungkinan link ke resource ke representasi resource.
Gunakan imajinasimu, misalnya dengan GET pada /customer/4711 akan
mengembalikan dokumen yang berisi link pada /order/xyz.

- Sepopuler apa REST DAN SOAP?


Semua web servis besar di internet sekarang ini menggunakan REST:
Twitter, web servis Yahoo, Flickr, del.icio.us, pubsub, bloglines, technorati,
dan beberapa lainnya. eBay dan Amazon memiliki web servis dengan REST
dan SOAP.
SOAP

banyak

digunakan

dalam

aplikasi

enterprise

untuk

mengintegrasikan macam-macam aplikasi dan tren lainnya ke sistem legasi


(yang

sudah

ada

mengimplementasikan

sebelumnya).

Di

internet,

Google

konsisten

web servisnya menggunakan SOAP, dengan

pengecualian Blogger yang menggunakan XML-RPC. Tetapi sekarang


Google sudah mulai berali ke REST.
Keuntungan utama dari web servis REST adalah:
- Ringan tidak banyak markup xml yang berlebihan
- Hasilnya mudah dibaca dan dipahami orang
SOAP juga memiliki keuntungan:
-

Mudah digunakan kadang


Kaku cek tipe, mengikuti sebuah kontrak
Perlu tool pengembangan khusus

3. HOW ABOUT SECURITY ?

SOAP mempertahankan konsep bahwa mengirim remote procedure call


(RPC) melalui port HTTP adalah cara yang bagus untuk memastikan web
servis mendukung berbagai batasan organisasi. Sementara itu, pendukung
REST

beralasan

bahwa

praktiknya,

cacat

desain

utamalah

yang

membahayakan keamanan jaringan. REST juga menggunakan HTTP atau


HTTPS, tetapi dengan REST administrator atau firewall dapat melihat
maksud setiap pesan dengan menganalisis perintah HTTP yang dipakai dalam
request. Sebagai contoh, request GET dapat selalu diartikan aman karena,
secara definisi, perintah ini tidak dapat memodifikasi data. Perintah ini hanya
bisa melakukan query terhadap data.
Request SOAP biasanya akan menggunakan perintah POST untuk
berkomunikasi dengan servis tertentu. Dan tanpa melihat ke dalam amplop
SOAP, sebuah perintah yangresource-consuming (konsumtif terhadap
sumber daya) dan tidak dilewatkan pada kebanyakan firewall, tak ada jalan

untuk mengetahui apakah request tersebut hanya ingin melakukan query data
atau menghapus seluruh tabel pada database.
Untuk autentifikasi dan autorisasi, SOAP memberatkan bagi developer
aplikasi. Sementara metodologi REST menganggap bahwa urusan tersebut
sudah di-support oleh web server. Melalui penggunaan sertifikasi standar
industri dan sistem manajemen identitas, seperti server LDAP, developer
dapat membuat layer network melakukan hal-hal yang berat.
4. EXAMPLE AND ARCHITECTURE
Sebagai Contoh mengenai 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 hasi, 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.

A. Contoh SOAP :

Contoh REST :

B. Arsitektur SOAP :

Arsitektur REST :
Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext
Transfer Protocol), melibatkan proses pembacaan laman web tertentu yang
memuat sebuah file XML atau JSON. File inilah yang menguraikan dan
memuat konten yang hendak disajikan. Setelah melalui sebuah proses definisi
tertentu, konsumen akan bisa mengakses antarmuka aplikasi yang
dimaksudkan.

Anda mungkin juga menyukai