Materi Tugas Online pada Topik 6
Nama : AZHARI ; Nim : 201081169 ; Mata Kuliah : CIB-611 Perc.Sistem Berbasis Komponen
Dosen : Fransiskus Adikara, S.Kom, MMSi
SOAP ((Simple Object Access Protokol))
Pengertian dan Deskripsi detail dari SOAP (Simple Object Access Protokol)
API Flexibility & Simplicity
Penggunaan Bandwidth
SOAP membutuhkan XML wrapper untuk setiap request dan response
Security
Type Handling
Kompleksitas Client-Side
SOAP API membutuhkan library client, membutuhkanpengenalan dan butuh kebiasaan.
Kompeksitas Server-Side
Caching
SOAP menggunakan POST dan membutuhkan request XMLkompleks untuk dibangun.
Keuntungan SOAP
Kelemahan SOAP
Mekanisme Kerja dan Contoh Penggunaan dari SOAP (Simple Object Access Protokol)
A. Sebuah pesan SOAP (Simple Object Access Protokol) pada Envelope element yang mengidentifikasi dokument XML:
C. Struktur Sintax SOAP ( Simple Object Access Protokol ) :
Penggunaan SOAP
Nama : AZHARI ; Nim : 201081169 ; Mata Kuliah : CIB-611 Perc.Sistem Berbasis Komponen
Dosen : Fransiskus Adikara, S.Kom, MMSi
SOAP ((Simple Object Access Protokol))
Pengertian dan Deskripsi detail dari SOAP (Simple Object Access Protokol)
Simple Object Access Protokol adalah Protokol komunikasi yang sering di gunakan dalam web services, yang menjembatani pertukaran data antara sejumlah aplikasi web yang di bangun dengan sistem dan platform yang berbeda.
Simple Object Access Protokol menggunakan XML yang merupakan bahasa markup multiplatform untuk memunculkan data kedalam bentuk yang dapat di terima dan di kenal oleh sistem secara keseluruhan.
Simple Object Access Protokol memiliki format-format dari data yang di hubungkan antara platform yang saling bertukar sumber (data / informasi) dan pemanggilan Remote Procedure Call untuk menerima nilai return dari hasil eksekusi Remote Procedure Call untuk di komunikasikan antara client dan server dalam format XML.
Simple Object Access Protokol di gunakan pada aplikasi Enterprise untuk mengintegrasikan penggunaan yang lebih luas.
Simple Object Access Protokol memiliki kelebihan dengan mudah mengkonsumsi, rigit (lebih ketat), dalam checking harus mematuhi aturan penulisan dan membutuhkan tools pengembang.
API Flexibility & Simplicity
Membutuhkan spesifikasi khusus terhadap XML dan membutuhkan SOAP Toolkit untuk membentuk request dan menguraikan hasilnya (parsing).
Penggunaan Bandwidth
SOAP membutuhkan XML wrapper untuk setiap request dan response
Security
Memastikan dukungan web service agar mengirimkan remote procedure calls (RPC) melalui port standar HTTP, request akan menggunakan POST untuk mengkomunikasi dengan service yang di berikan tanpa melihat envelope SOAP (mengkonsumsi keduanya tidak disertakan pada pada firewall).
Type Handling
SOAP menyediakan aturan penulisan yang ketat dengan mempunyai sekumpulan tipe-tipe data, oleh karena itu menjamin bahwa return value (nilai kembali) akan tersedia secara langsung dalam tipe native melalui proses pada platform tertentu.
Kompleksitas Client-Side
SOAP API membutuhkan library client, membutuhkanpengenalan dan butuh kebiasaan.
Kompeksitas Server-Side
Banyak bahasa pemrograman membuat kompleksitas server side menjadi sangat mudah untuk menerangkan sebuah method melalui SOAP, lebih mudah untuk mengekspos seperangkat method menggunakan SOAP.
Caching
SOAP menggunakan POST dan membutuhkan request XMLkompleks untuk dibangun.
Keuntungan SOAP
- Bahasa, Platform dan transport agnostic.
- Dirancang untuk menangani lingkungan komputasi terdistribusi
- Merupakan standart yang berlaku untuk web service, sehingga mempunyai dukungan yang baik dari standar yang lain (WSDL, WS-*) dan tools dari berbagai vendor.
- Built-in error handling (faults).
- Extensibility.
Kelemahan SOAP
- Secara konsepsual lebih sulit, lebih "heavy-weight" dibanding REST.
- Lebih "verbose" (membutuhkan lebih banyak pernyataan / kode program).
- Sulit untuk di kembangkan, membutuhkan tools
SOAP (Simple Object Access Protokol) membutuhkan usaha implementasi yang lebih besar dan pengetahuan di sisi klien, dan sesungguhnya sebuah protokol komputasi terdistribusi berbasis XML, di mana REST cenderung masih sangat baru, desain berbasis web.
Mekanisme Kerja dan Contoh Penggunaan dari SOAP (Simple Object Access Protokol)
A. Sebuah pesan SOAP (Simple Object Access Protokol) pada Envelope element yang mengidentifikasi dokument XML:
- Element bersifat opsional dan memberikan informasi header "Element Header".
- Element yang merespon informasi dan berisi panggilan "Element Body".
- Element Opsional yang berisi pesan kesalahan pada waktu proses "Fault Element"
- Harus di tulis dalam bahasa XML.
- Selalu memiliki SOAP Envelope namespace.
- Selalu memiliki SOAP Encoding namespace.
- Harus selalu memiliki DTD Reference.
- Tidak boleh berisi XML Processing Intructions.
C. Struktur Sintax SOAP ( Simple Object Access Protokol ) :
SOAP Envelope
Sebuah dokumen XML yang terdiri dari :
Sebuah dokumen XML yang terdiri dari :
SOAP
wajib amplop
SOAP
header
SOAP
wajib tubuh
Dokumen
XML ini disebut sebagai sebuah pesan SOAP untuk sisa spesifikasi ini.
SOAP
encodingStyle Atribut.
EncodingStyle
SOAP atribut global dapat digunakan untuk menunjukkan aturan serialisasi yang
digunakan dalam pesan SOAP. 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
nilai sbb :
“http://schemas.xmlsoap.org/soap/encoding/”
“http://schemas.xmlsoap.org/soap/encoding/”
“http://my.host/encoding/restricted http://my.host/encoding/”
“http://schemas.xmlsoap.org/soap/encoding/”
“http://schemas.xmlsoap.org/soap/encoding/”
“http://my.host/encoding/restricted http://my.host/encoding/”
SOAP Header
SOAP
memberikan mekanisme yang fleksibel untuk memperpanjang pesan dalam suatu
desentralisasi dan cara modular tanpa pengetahuan antara pihak-pihak yang
berkomunikasi.
SOAP Aktor
Sebuah
pesan SOAP perjalanan dari originator ke tujuan akhir, yang berpotensi dengan
melewati serangkaian SOAP pesan perantara di sepanjang jalan. Sebuah SOAP
perantara adalah sebuah aplikasi yang mampu baik penerimaan dan penerusan pesan
SOAP. Keduanya perantara serta tujuan akhir diidentifikasi oleh URI.
SOAP mustUnderstand Atribut
Must Understand SOAP atribut global dapat digunakan untuk menunjukkan apakah sebuah header entri adalah wajib atau opsional bagi penerima untuk diproses. Penerima entri header didefinisikan oleh aktor SOAP atribut. Nilai atribut mustUnderstand baik “1″ atau “0″. Tidak adanya SOAP atribut mustUnderstand semantik setara dengan kehadirannya dengan nilai “0″.
Must Understand SOAP atribut global dapat digunakan untuk menunjukkan apakah sebuah header entri adalah wajib atau opsional bagi penerima untuk diproses. Penerima entri header didefinisikan oleh aktor SOAP atribut. Nilai atribut mustUnderstand baik “1″ atau “0″. Tidak adanya SOAP atribut mustUnderstand semantik setara dengan kehadirannya dengan nilai “0″.
Body SOAP
Elemen
Tubuh SOAP menyediakan mekanisme sederhana untuk bertukar informasi wajib
ditujukan untuk penerima akhir pesan. Khas menggunakan elemen Tubuh termasuk
menyusun RPC panggilan dan pelaporan kesalahan.
SOAP Fault
SOAP Fault elemen yang digunakan untuk membawa kesalahan dan / atau informasi status dalam pesan SOAP. Jika ada elemen Patahan SOAP HARUS muncul sebagai tubuh TIDAK HARUS masuk dan muncul lebih dari sekali dalam elemen Badan.
SOAP Fault elemen yang digunakan untuk membawa kesalahan dan / atau informasi status dalam pesan SOAP. Jika ada elemen Patahan SOAP HARUS muncul sebagai tubuh TIDAK HARUS masuk dan muncul lebih dari sekali dalam elemen Badan.
SOAP HTTP Binding
Seperti
yg dijelaskan sebelumnya, mekanisme kerja SOAP merupakan gabungan dari HTTP dan
XML. Sehingga method yg digunakan SOAP adalah HTTP request / response yg
memenuhi standar peraturan encoding SOAP. Sebuah SOAP request dapat berupa HTTP
POST atau HTTP GET request.
Content-Type
Header
Content-Type SOAP mendefinisikan MIME type dari pesan dan character encoding
(bersifat opsional) yg digunakan dalam XML body dari sebuah request dan
response.
Content-Length
Header
Content-Length SOAP request dan response menjelaskan jumlah bytes body.
Penggunaan SOAP
Berikut
adalah sebuah contoh SOAP, GetStockPrice request dikirim ke server. Request
tersebut memiliki parameter ‘StockName’ dan ‘Price’ yg akan dibalas dari
permintaan tersebut.
Penjelesan
dari contoh diatas :
Elemen ‘Envelope’ SOAP
Elemen ‘Envelope’ yg harus tercantum dalam SOAP adalah elemen utama dari sebuah pesan SOAP. Elemen inilah yg mendefinisikan dokumen XML sebagai pesan SOAP.
Elemen ‘Envelope’ yg harus tercantum dalam SOAP adalah elemen utama dari sebuah pesan SOAP. Elemen inilah yg mendefinisikan dokumen XML sebagai pesan SOAP.
Dari
contoh di atas adalah Element Tag <soap:Envelope xmlns:soap… >
Elemen ‘Body’ SOAP
Elemen ini berisi data pesan SOAP yg ditujukan kepada penerima, elemen ini harus ada pada setiap pesan SOAP. Anak elemen dari elemen ini harus sesuai standar XML namespace.
Elemen ini berisi data pesan SOAP yg ditujukan kepada penerima, elemen ini harus ada pada setiap pesan SOAP. Anak elemen dari elemen ini harus sesuai standar XML namespace.
Dari
contoh di atas adalah Element Tag <soap:Body> dan terdapat SOAP Body
“request” yaitu berupa element Tag <m:GetStockPrice>. Nama tag
‘GetStockPrice’ adalah sebuah fungsi yang akan dipanggil atau dijalankan,
dengan melewati satu parameter yaitu “IBM”.
Contoh
Hasil Balasan
Element SOAP Body ‘Response’ adalah Element
Tag <m:GetStockPriceResponse> berisi hasil dari request sebelumnya yaitu
dari fungsi ‘GetStockPrice’ dengan parameter “IBM” adalah senilai 34.5.