SlideShare a Scribd company logo
TUGAS
PEMROGRAMAN III

Disusun Oleh :

KIENDA DWI AJIE
1100631014 – MI/A
Definisi dan Program sederhana mengenai RPC (Remote Procedur
Call), SOAP (Simple Object Access Protocol), dan REST
(REpresentational State Transfer)

Remote Procedure Calls (RPC)
Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk
mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini
sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan
adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang
disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa
me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan
memberikan port apa yang digunakan oleh prosedur yang diminta client. RPC masih
menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural
programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC
menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN,
RPC secara default sudah ter- install kedalam sistemnya.
RPC mengasumsikan keberadaan dari low-level
protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi
suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR),
yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR
mengubah parameter dan hasil dari tiap servis RPC yang disediakan.
Protokol RPC mengijinkan pengguna untuk bekerja dengan prosedur remote sebagaimana
bekerja dengan prosedur lokal. Prosedur panggilan remote didefinisikan melalui rutin yang
terkandung didalam protokol RPC. Tiap pesan dari panggilan akan disesuaikan dengan pesan
balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan”
yang mengimplementasikan protokol non-RPC lain seperti panggilan remote batching dan
broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine
pada sisi server.
 Kelebihan & Kekurangan RPC
Kelebihan RPC
-

Relatif mudah digunakan Pemanggilan remote procedure tidak jauh berbeda
dibandingkanpemanggilanlocalprocedure.Sehinggapemrogramdapatberkonsentr
asi pada software logic, tidak perlu memikirkan low level details seperti soket,
marshalling&unmarshalling.

-

Robust(Sempurna)Sejakth1980-anRPCtelahbanyakdigunakan dlm pengembangan
mission-critical application yg memerlukan scalability, ault tolerance, & reliability.

Kekurangan RPC
-

Tidak fleksibel terhadap perubahan

-

Static relationship between client & server at run-time.

-

Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman
dibandingkan Object Oriented Proggraming

-

Kurangnya location transparency

-

Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by
reference.

-

Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).

-

Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg
terpisah.


Contoh source code Remote Procedure Call (RPC)
Code dari RPC_Server
Code dari RPC_Client
SOAP (Simple Object Access Protocol)
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 sistem operasi, teknologi, dan bahasa pemrogramannya.
SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file
XML sehingga program pada suatu komputer dapat memanggil program pada pada
komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil
memberikan tanggapan.
Secara konseptual SOAP dapat dianggap sebagai DCOM versi XML. SOAP merupakan
mekanisme lain yang memungkinkan penggunaan remote procedure call. SOAP bersifat
netral platform, netral bahasa dan tidak bergantung pada suatu objek model. Sehingga
SOAP-enabled distributed application dapat menjangkau beragam operating sistem, dimana
terdiri dari objek yang berasal dari vendor yang berbeda, ditulis pada bahasa yang berbeda,
dan didasarkan pada objek model yang berbeda.

 Kelebihan & Kekurangan SOAP
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
 Contoh source code SOAP (Simple Object Access Protocol)

REST (Representational State Transfer)
REST merupakan collection dari prinsip-prinsip arsitektur network yang menggambarkan
bagaimana mengakses resource yang didefinisikan. REST (Representational State Transfer).
Terminologi REST dikemukakan oleh Roy Fielding (salah satu penulis spesifikasi HTTP) dalam
disertasi Ph.D. nya untuk menggambarkan sebuah style arsitektur dari sistem network. Ada
dua pengartian REST, pertama: REST merupakan collection (saya menggunakan kata tetap
collection, bukan koleksi, karena AtomPub menggunakan element untuk mendeskripsikan
koleksi service) dari prinsip-prinsip arsitektur network yang menggambarkan bagaimana
resource didefinisikan dan dialamati (bagaimana mengakses resource yang didefinisikan).
Keuntungan lain menggunakan interface RESTful adalah request dan responnya dapat
dibuat singkat. SOAP membutuhkan atribut XML pada setiap request dan respon. Sekali
namespace dan pengetikan dideklarasikan, empat atau lima tanda kutip pada respon SOAP
diperlukan lebih dari 10 kali, sebanyak itu untuk mendapatkan hasil yang sama dengan REST.
REST lebih kepada filosofi lama, ketimbang sebuah teknologi yang baru. Tetapi dalam
kenyataannya datang kemudian dalam teknologi. Sedangkan SOAP nampak seperti
lompatan baru ke fase selanjutnya dalam pengembangan internet dengan sekumpulan
spesifikasi baru, filosofi REST mendukung bahwa prinsip dan protokol yang sudah ada di
Web cukup untuk membuat web servide yang kuat (robust).
 Contoh source code REST (Representational State Transfer)

More Related Content

What's hot

Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Edwin Prassetyo
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
idquygbaru
 
Tugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap restTugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap rest
Asfiyuli Wulandari
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_
Helmi Mahfudhatul
 
Tugas atpi aufar abi atpi
Tugas atpi aufar abi atpiTugas atpi aufar abi atpi
Tugas atpi aufar abi atpi
Febriy Y
 
Sister 04 - remote procedure call (rpc)
Sister   04 - remote procedure call (rpc)Sister   04 - remote procedure call (rpc)
Sister 04 - remote procedure call (rpc)
Febriyani Syafri
 

What's hot (7)

Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Tugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap restTugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap rest
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_
 
Tugas atpi aufar abi atpi
Tugas atpi aufar abi atpiTugas atpi aufar abi atpi
Tugas atpi aufar abi atpi
 
Sister 04 - remote procedure call (rpc)
Sister   04 - remote procedure call (rpc)Sister   04 - remote procedure call (rpc)
Sister 04 - remote procedure call (rpc)
 
UDP and TCP
UDP and TCPUDP and TCP
UDP and TCP
 

Viewers also liked

Matlab image processing
Matlab image processingMatlab image processing
Matlab image processing
tema_solution
 
Lo que dejaron las paso.... Recorriendo la Ciudad.
Lo que dejaron las paso.... Recorriendo la Ciudad.Lo que dejaron las paso.... Recorriendo la Ciudad.
Lo que dejaron las paso.... Recorriendo la Ciudad.
Laura Artaza
 
Junior administrative assistant performance appraisal
Junior administrative assistant performance appraisalJunior administrative assistant performance appraisal
Junior administrative assistant performance appraisal
marthalagger
 
Presente para sua mae
Presente para sua maePresente para sua mae
Presente para sua mae
Fer Nanda
 
Legal executive assistant performance appraisal
Legal executive assistant performance appraisalLegal executive assistant performance appraisal
Legal executive assistant performance appraisal
marthalagger
 
Presentacion exfuze germain
Presentacion exfuze germainPresentacion exfuze germain
Presentacion exfuze germain
Germain Medel Bernardino
 
Gift to you mother
Gift to you motherGift to you mother
Gift to you mother
Fer Nanda
 
Cine de animación
Cine de animaciónCine de animación
Cine de animación
Sandry Garcia
 
Molecules
Molecules Molecules
Molecules
Fashion360
 
Lawyer assistant performance appraisal
Lawyer assistant performance appraisalLawyer assistant performance appraisal
Lawyer assistant performance appraisal
marthalagger
 
5 s presentation dated 13 sept
5 s presentation dated 13 sept5 s presentation dated 13 sept
[RakutenTechConf2013] [C-1] Rakuten new infrastructure
[RakutenTechConf2013] [C-1] Rakuten new infrastructure[RakutenTechConf2013] [C-1] Rakuten new infrastructure
[RakutenTechConf2013] [C-1] Rakuten new infrastructure
Rakuten Group, Inc.
 
Office ergonomics by kapil
Office ergonomics by kapilOffice ergonomics by kapil
scrt
scrtscrt
scrt
oyuka_230
 
Tabla de asignación de archivos
Tabla de asignación de archivosTabla de asignación de archivos
Tabla de asignación de archivos
caro996
 
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013 Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013 ennikonov
 
Qfd implemented in machine sector dated 15 nov
Qfd implemented in machine sector dated 15 novQfd implemented in machine sector dated 15 nov
Qfd implemented in machine sector dated 15 nov
Malaviya National Institute of Technology, Jaipur
 
Эвелина Земляная (Билайн) - Trainings Expo 2013
Эвелина Земляная (Билайн) - Trainings Expo 2013Эвелина Земляная (Билайн) - Trainings Expo 2013
Эвелина Земляная (Билайн) - Trainings Expo 2013ennikonov
 
Jenis gear t1
Jenis gear t1Jenis gear t1
Jenis gear t1
nofamaramr
 

Viewers also liked (19)

Matlab image processing
Matlab image processingMatlab image processing
Matlab image processing
 
Lo que dejaron las paso.... Recorriendo la Ciudad.
Lo que dejaron las paso.... Recorriendo la Ciudad.Lo que dejaron las paso.... Recorriendo la Ciudad.
Lo que dejaron las paso.... Recorriendo la Ciudad.
 
Junior administrative assistant performance appraisal
Junior administrative assistant performance appraisalJunior administrative assistant performance appraisal
Junior administrative assistant performance appraisal
 
Presente para sua mae
Presente para sua maePresente para sua mae
Presente para sua mae
 
Legal executive assistant performance appraisal
Legal executive assistant performance appraisalLegal executive assistant performance appraisal
Legal executive assistant performance appraisal
 
Presentacion exfuze germain
Presentacion exfuze germainPresentacion exfuze germain
Presentacion exfuze germain
 
Gift to you mother
Gift to you motherGift to you mother
Gift to you mother
 
Cine de animación
Cine de animaciónCine de animación
Cine de animación
 
Molecules
Molecules Molecules
Molecules
 
Lawyer assistant performance appraisal
Lawyer assistant performance appraisalLawyer assistant performance appraisal
Lawyer assistant performance appraisal
 
5 s presentation dated 13 sept
5 s presentation dated 13 sept5 s presentation dated 13 sept
5 s presentation dated 13 sept
 
[RakutenTechConf2013] [C-1] Rakuten new infrastructure
[RakutenTechConf2013] [C-1] Rakuten new infrastructure[RakutenTechConf2013] [C-1] Rakuten new infrastructure
[RakutenTechConf2013] [C-1] Rakuten new infrastructure
 
Office ergonomics by kapil
Office ergonomics by kapilOffice ergonomics by kapil
Office ergonomics by kapil
 
scrt
scrtscrt
scrt
 
Tabla de asignación de archivos
Tabla de asignación de archivosTabla de asignación de archivos
Tabla de asignación de archivos
 
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013 Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013
Юлия Матвеева, Елена Кузьминова (Билайн) - Trainings Expo 2013
 
Qfd implemented in machine sector dated 15 nov
Qfd implemented in machine sector dated 15 novQfd implemented in machine sector dated 15 nov
Qfd implemented in machine sector dated 15 nov
 
Эвелина Земляная (Билайн) - Trainings Expo 2013
Эвелина Земляная (Билайн) - Trainings Expo 2013Эвелина Земляная (Билайн) - Trainings Expo 2013
Эвелина Земляная (Билайн) - Trainings Expo 2013
 
Jenis gear t1
Jenis gear t1Jenis gear t1
Jenis gear t1
 

Similar to Tugas pemr3 1100631014 rpc,soap,rest

Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan restUlil Uliland
 
KOMUNIKASI DATA
KOMUNIKASI DATAKOMUNIKASI DATA
KOMUNIKASI DATA
Pramudya Maulana
 
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Dimas Prawira
 
Tugas pemograman III
Tugas pemograman IIITugas pemograman III
Tugas pemograman III
ahmadferi1
 
Membandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptxMembandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptx
DEDEALAMSYAHSPd
 
Osi layers
Osi layersOsi layers
SOA introduction
SOA introductionSOA introduction
SOA introduction
Frans Caisar Ramadhan
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1gung_sono
 
Tugaas pemograman 3 1100631034
Tugaas pemograman 3   1100631034Tugaas pemograman 3   1100631034
Tugaas pemograman 3 1100631034ariunmuh
 
Ristanto 1100631048
Ristanto 1100631048Ristanto 1100631048
Ristanto 1100631048
Ristanto Dp
 
Web Services
Web ServicesWeb Services
Web Services
guest44af87
 
Zentyal adalah server_linux_untuk_small
Zentyal adalah server_linux_untuk_smallZentyal adalah server_linux_untuk_small
Zentyal adalah server_linux_untuk_small
arimayawulantara
 
Tugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariFebriy Y
 
Modul 9 protokol multimedia
Modul 9 protokol multimediaModul 9 protokol multimedia
Modul 9 protokol multimediaEkky Patria
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputerAmiroh S.Kom
 
07 tk 1073 layer transport
07   tk 1073 layer transport07   tk 1073 layer transport
07 tk 1073 layer transport
Setia Juli Irzal Ismail
 
Bab 5
Bab 5Bab 5
Bab 5
risal07
 
bab2.ppt
bab2.pptbab2.ppt
bab2.ppt
alisofyan13
 
Tugas7 ku-0316-rekweb
Tugas7 ku-0316-rekwebTugas7 ku-0316-rekweb
Tugas7 ku-0316-rekweb
Elisanendes
 
Tugas switching
Tugas switchingTugas switching
Tugas switching
Rizky d'Cyber
 

Similar to Tugas pemr3 1100631014 rpc,soap,rest (20)

Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan rest
 
KOMUNIKASI DATA
KOMUNIKASI DATAKOMUNIKASI DATA
KOMUNIKASI DATA
 
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
 
Tugas pemograman III
Tugas pemograman IIITugas pemograman III
Tugas pemograman III
 
Membandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptxMembandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptx
 
Osi layers
Osi layersOsi layers
Osi layers
 
SOA introduction
SOA introductionSOA introduction
SOA introduction
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1
 
Tugaas pemograman 3 1100631034
Tugaas pemograman 3   1100631034Tugaas pemograman 3   1100631034
Tugaas pemograman 3 1100631034
 
Ristanto 1100631048
Ristanto 1100631048Ristanto 1100631048
Ristanto 1100631048
 
Web Services
Web ServicesWeb Services
Web Services
 
Zentyal adalah server_linux_untuk_small
Zentyal adalah server_linux_untuk_smallZentyal adalah server_linux_untuk_small
Zentyal adalah server_linux_untuk_small
 
Tugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasari
 
Modul 9 protokol multimedia
Modul 9 protokol multimediaModul 9 protokol multimedia
Modul 9 protokol multimedia
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputer
 
07 tk 1073 layer transport
07   tk 1073 layer transport07   tk 1073 layer transport
07 tk 1073 layer transport
 
Bab 5
Bab 5Bab 5
Bab 5
 
bab2.ppt
bab2.pptbab2.ppt
bab2.ppt
 
Tugas7 ku-0316-rekweb
Tugas7 ku-0316-rekwebTugas7 ku-0316-rekweb
Tugas7 ku-0316-rekweb
 
Tugas switching
Tugas switchingTugas switching
Tugas switching
 

Tugas pemr3 1100631014 rpc,soap,rest

  • 1. TUGAS PEMROGRAMAN III Disusun Oleh : KIENDA DWI AJIE 1100631014 – MI/A
  • 2. Definisi dan Program sederhana mengenai RPC (Remote Procedur Call), SOAP (Simple Object Access Protocol), dan REST (REpresentational State Transfer) Remote Procedure Calls (RPC) Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client. RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya. RPC mengasumsikan keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap pesan dari panggilan akan disesuaikan dengan pesan balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplementasikan protokol non-RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.
  • 3.  Kelebihan & Kekurangan RPC Kelebihan RPC - Relatif mudah digunakan Pemanggilan remote procedure tidak jauh berbeda dibandingkanpemanggilanlocalprocedure.Sehinggapemrogramdapatberkonsentr asi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling&unmarshalling. - Robust(Sempurna)Sejakth1980-anRPCtelahbanyakdigunakan dlm pengembangan mission-critical application yg memerlukan scalability, ault tolerance, & reliability. Kekurangan RPC - Tidak fleksibel terhadap perubahan - Static relationship between client & server at run-time. - Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan Object Oriented Proggraming - Kurangnya location transparency - Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference. - Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time). - Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.
  • 4.  Contoh source code Remote Procedure Call (RPC) Code dari RPC_Server
  • 6. SOAP (Simple Object Access Protocol) 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 sistem operasi, teknologi, dan bahasa pemrogramannya. SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan. Secara konseptual SOAP dapat dianggap sebagai DCOM versi XML. SOAP merupakan mekanisme lain yang memungkinkan penggunaan remote procedure call. SOAP bersifat netral platform, netral bahasa dan tidak bergantung pada suatu objek model. Sehingga SOAP-enabled distributed application dapat menjangkau beragam operating sistem, dimana terdiri dari objek yang berasal dari vendor yang berbeda, ditulis pada bahasa yang berbeda, dan didasarkan pada objek model yang berbeda.  Kelebihan & Kekurangan SOAP 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
  • 7.  Contoh source code SOAP (Simple Object Access Protocol) REST (Representational State Transfer) REST merupakan collection dari prinsip-prinsip arsitektur network yang menggambarkan bagaimana mengakses resource yang didefinisikan. REST (Representational State Transfer). Terminologi REST dikemukakan oleh Roy Fielding (salah satu penulis spesifikasi HTTP) dalam disertasi Ph.D. nya untuk menggambarkan sebuah style arsitektur dari sistem network. Ada dua pengartian REST, pertama: REST merupakan collection (saya menggunakan kata tetap collection, bukan koleksi, karena AtomPub menggunakan element untuk mendeskripsikan koleksi service) dari prinsip-prinsip arsitektur network yang menggambarkan bagaimana resource didefinisikan dan dialamati (bagaimana mengakses resource yang didefinisikan). Keuntungan lain menggunakan interface RESTful adalah request dan responnya dapat dibuat singkat. SOAP membutuhkan atribut XML pada setiap request dan respon. Sekali namespace dan pengetikan dideklarasikan, empat atau lima tanda kutip pada respon SOAP diperlukan lebih dari 10 kali, sebanyak itu untuk mendapatkan hasil yang sama dengan REST. REST lebih kepada filosofi lama, ketimbang sebuah teknologi yang baru. Tetapi dalam kenyataannya datang kemudian dalam teknologi. Sedangkan SOAP nampak seperti lompatan baru ke fase selanjutnya dalam pengembangan internet dengan sekumpulan spesifikasi baru, filosofi REST mendukung bahwa prinsip dan protokol yang sudah ada di Web cukup untuk membuat web servide yang kuat (robust).
  • 8.  Contoh source code REST (Representational State Transfer)