- Back to Home »
- Kuliah , Semester IV , Web Service »
- SOAP WSDL
Posted by :
Unknown
Kamis, 22 Mei 2014
Sejarah
tentang perkembangan webservice tidak lepas dari perkembangan sejarah dari SOAP
WSDL, dan sejarah perkembangannnya WSDL 1.0 (September 2000) telah dikembangkan
oleh IBM, Microsoft, dan Ariba untuk mendeskripsikan Web Service untuk toolkit
SOAP. Dikembangkan dengan mengkombinasikan bahasa deskripsi service
1. SOAP
a a)
Sejarah
SOAP
Sejarah
tentang perkembangan webservice tidak lepas dari perkembangan sejarah dari SOAP
WSDL, dan sejarah perkembangannnya WSDL 1.0 (September 2000) telah dikembangkan
oleh IBM, Microsoft, dan Ariba untuk mendeskripsikan Web Service untuk toolkit
SOAP. Dikembangkan dengan mengkombinasikan bahasa deskripsi service: NASSL
(Network Application Service Spesification Language) dari IBM dan SDL (Service
Description Language) dari Microsoft. WSDL 1.1 dirilis tahun 2001, merupakan
formalisasi dari WSDL 1.0. Tidak ada perubahan besar yang diperkenalkan antara
versi 1.0 dan 1.1. WSDL 1.2 (Juni 2003) merupakan draf kerja W3C, tetapi menjadi
WSDL 2.0. Menurut W3C, WSDL 1.2 lebih mudah dan lebih fleksibel untuk para
developer daripada versi sebelumnya. WSDL 1.2 berupaya untuk menghapus fitur
non-interoperable dan juga mendefinisikan binding HTTP 1.1 secara lebih baik.
WSDL tidak didukung oleh kebanyakan server/vendor SOAP.
WSDL
menyediakan sebuah kamus XML untuk menjabarkan detail-detail ini. WSDL
digunakan di mana skema XML tidak digunakan lagi dengan menyediakan jalur
pesan-pesan grup menjadi operasi-operasi dan operasi-operasi menjadi antarmuka.
Ini juga menyediakan jalur untuk medefinisikan binding-binding untuk setiap
antamuka dan kombinasi protokol sepanjang alamat titik akhir utnuk setiap
kalinya. Definisi WSDL yang lengkap terdiri dari seluruh informasi yang
dibutuhkan untuk meminta web service. Pengembang yang mau mempermudah yang lain
untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL. WSDL
memainkan peranan penting pada seluruh arsitektur web service semenjak
menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL
pada arsitektur DCOM). Walaupun teknik-teknik lain untuk menjabarkan Web
service ada, WS-I Basic Profile Versi 1.0 memadati penggunaan WSDL dan skema
XML untuk menjabarkan web service. Ini membantu untuk memastikan interoperbilitas
pada layer deskripsi servis.
Karena WSDL adalah mesin yang dapat dibaca
(misalnya hanya file XML), tool-tool dan infrastruktur dan dengan mudah dibuat
seputar ini. Saat ini pengembang-pengembang dapat definisi-definisi WSDL untuk
membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan web service
yang menjabrkan.
b)
KONSEP
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 sistem operasi, teknologi, dan bahasa
emrogramannya. Dan dalam system Osi Layer SOAP berada pada lapisan Transport
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.
c c)
Struktur
Pesan SOAP
Sebuah pesan SOAP adalah
sebuah dokumen XML yang berisi elemen-elemen berikut:
•
Envelope element yang mengidentifikasi dokumen XML sebagai sebuah pesan SOAP.
•
Elemen header yang berisi informasi header. Elemen ini bersifat opsional.
•
Elemen body yang berisi panggilan dan merespon informasi.
•
Fault element yang berisi pesan kesalahan yang terjadi pada waktu proses.
Elemen ini opsional.
a
d)
SOAP
Message Transmision
Transmisi
pesan SOAP melibatkan:
• SOAP Sender, membuat dan mengirimkan pesan
kepada SOAP receiver
• SOAP
Intermediaries, suatu perantara SOAP bersifat optional untuk menangkap pesanantara pengirim dan penerima. Pada bagian ini dapat dilakukan logging, catching dll
• SOAP Receiver, tujuan pesan dari pengirim.
Dari
gambar di atas terlihat bahwa arsitektur umum
•
Sender atau Client
•
Receiver atau Service provider
untuk
berkomunikasi klien harus mengetahui beberapa informasi
•
Lokasi webservices Server
•
Fungsi yang tersedia, signature parameter dan tipe return nya.
•
komunikasi protokol
•
Format input output
Service
provider akan membuat file XML standar yang mengkover kebutuhan di atas.Jika
file ini diberikan pada klien maka klien dapat mengakses web services.
disebut
Web Service Description Language.
a e)
WSDL
Web
Services Description Language (WSDL) adalah format XML untuk semua informasi
yang dibutuhkan untuk Service. Deskripsi service memiliki dua komponen utama:
Functional Description
Mendefinisikan rincian tentang bagaimana Web
Service dipanggil, di mana service dipanggil. Berfokus pada rincian sintaks
pesan dan bagaimana mengkonfigurasi protokol jaringan untuk memberikan pesan.
Nonfunctional
Description
Memberikan rincian sekunder untuk pesan
(seperti sebagai security policy), diperlukan instruksi tambahan pada header
SOAP. Karena WSDL merupakan XML maka baik user (manusia) maupun mesin dapat
membacanya dengan mudah. Dengan menggunakan file WSDL maka Anda akan memahami :
o
Port / Endpoint – URL dari web service
o
Input message format
o
Output message format
o
Security protocol yang harus diikuti
o
Protocol yang web service gunakan
a. a. Struktur
dokumen WSDL
Sebuah Dokumen WSDL adalah
kumpulan definisi dengan root elemen tunggal.
Layanan dapat didefinisikan
dengan menggunakan elemen XML berikut:
o
Types, seperti tipe data
o
Message, seperti methods
o
PortType, seperti Interfaces
o
Binding, seperti cara pengikatan Encoding
Scheme
o
Port, seperti URL
o
Service, seperti banyak URLs
Ø PortType Element
Definisi:
Elemen portType menggambarkan interface pada
webservice
• Sebuah Dokumen WSDL dapat berisi nol atau
banyak portType
• Elemen portType berisi satu nama atribut.
• Konvensi penamaan nameOfWebService PortType
• PortType berisi satu atau
lebih elemen operasi, dengan nama atribut dapat berisi input, output dan fault
elemen
contohnya :
<!-- Port Type
Definition Example -->
<portType
name="weatherCheckPortType">
<operation
name="checkTemperature">
<input
message="checkTemperatureRequest"/>
<output
message="checkTemperatureResponse"/>
</operation>
<operation
name="checkHumidity">
<input
message="checkHumidityRequest"/>
<output
message="checkHumidityResponse"/>
</operation>
</portType>
|
Ø Message Element
Definisi:
Message adalah kumpulan bagian argumen.
• Sebuah dokumen WSDL dapat berisi nol atau
banyak elemen pesan
• Setiap elemen pesan dapat
digunakan sebagai input, output atau fault message dalam suatu
operasi.
• Jenis atribut bagian dapat
berupa tipe data standar dari XSD Schema atau ditetapkan oleh pengguna.
Contohnya
<!-- Message
Definitions -->
<message
name="checkTemperatureRequest">
<part
name="location" type="xsd:string">
</message>
<message
name="checkTemperatureResponse">
<part
name="result" type="xsd:double">
</message>
<message
name="checkHumidityRequest">
<part name="location"
type="xsd:string">
</message>
<message
name="checkHumidityResponse">
<part
name="result" type="ns:HummidityType"
</message>
|
Ø Types Element
Tipe custom user data dapat didefinisikan
dengan cara yang abstrak.
• Tipe default di WSDL adalah XML Schema
(XSD)
• Sebuah dokumen WSDL dapat memiliki paling
banyak satu elemen jenis.
• Unsur jenis dapat berisi simpleType atau
complexType.
• Pada elemen-elemen tingkat
terendah, elemen didefinisikan dengan nama dan
jenis atribut.
Contohnya
<!-- Type Definitions
-->
<types>
<xsd:schema
targetNamespace="http://weather.com/ns"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType
name="HumidityType">
<xsd:sequence>
<xsd:element
name="loc" type="xsd:string">
<xsd:element
name="humd" type="xsd:double">
<xsd:element
name="temp" type="xsd:double">
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
|
Ø Binding Element
Definisi
:
Binding elemen menentukan pada service
requester tentang bagaimana membuat
pesan untuk protokol tertentu. Setiap
portType dapat memiliki satu atau lebih elemen yang terkait. Untuk portType
yang telah ditentukan, elemen yang mengikat harus menentukan pesan dan pasangan
transportnya. (SOAP / HTTP, SOAP / SMTP, dll).
contohnya
<binding
name="WeatherBinding" type="weatherCheckPortType">
<soap:binding
style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation
name="checkTemperature">
<soap:operation
soapAction="" />
<input>
<soap:body
use="encoded" namespace="checkTemperature"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body
use="encoded" namespace="checkTemperature"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
|
Ø Port Element
Port
element menentukan alamat network dari web service
•
Terdapat sebuah protokol, alamat khusus pada elemen terkait
•
Port harus bernama dan unik pada dokumen
Contohnya
:
<port
name="WeatherCheck"
binding="wc:WeatherCheckSOAPBinding">
<soap:address
location="http://host/WeatherCheck"/>
</port>
|
Ø Service Element
Elemen
service adalah kumpulan port elemen diidentifikasikan dengan satu nama
service.
• Sebuah Dokumen WSDL diperbolehkan
mengandung beberapa elemen service, tetapi secara biasanya terdapat satu.
• Setiap service harus diberi nama yang unik.
• Konvensi penamaan adalah GeneralInfoService
Contohnya
:
<!--
Service definition -->
<service
name="WeatherCheckService">
<port
name="WeatherCheckSOAP"
binding="wc:WeatherCheckSOAPBinding">
<soap:address
location="http://host/WeatherCheck"/>
</port>
<port
name="WeatherCheckSMTP"
binding="wc:WeatherCheckSMTPBinding">
<soap:address
location="http://host/WeatherCheck"/>
</port>
</service>
|
yang harus perhatikan dari SOAP WSDL adalah kesesuaian method yang dipanggil baik
dari signature parameter, return type dan portnya.
sumber :
§ F, M
Nurkamal. (2013). Web Service. Bandung : Politeknik Pos Indonesia
§ http://dini08.weblog.esaunggul.ac.id/2013/12/04/pengertian-dan-deskripsi-detail-dari-soap/