Web Service

advertisement
Web Service
Apa itu Web Service?

Entitas komputasi yang dapat diakses melalui jaringan internet maupun
intranet dengan standar protokol tertentu dalam platform dan antarmuka
bahasa pemrograman yang independen  didukung oleh XML

Definisi dari W3C
Sebuah software aplikasi yang dapat teridentifikasi oleh URI dan memiliki interface
yang didefiniskan, dideskripsikan, dan dimengerti oleh XML dan juga mendukung
interaksi langsung dengan software aplikasi yang lain dengan menggunakan
message berbasis XML melalui protokol internet
Kata kunci standard dalam web service  XML, SOAP, WSDL and UDDI.
Extensible Markup Language (XML)

Meta-language untuk deskripsi data.

Berbasis text.

Perbedaan dengan HTML  XML didesain untuk transportasi dan
penyimpanan data, HTML untuk menampilkan data
SOAP (Simple Object Access Protocol)

Protokol berbasis XML yang digunakan aplikasi untuk bertukar pesan
melalui HTTP.

Merupakan platform yang berdiri sendiri dan dirancang untuk
berkomunikasi melalui internet.
Latar Belakang SOAP

Penting untuk pengembangan aplikasi untuk memungkinkan komunikasi
internet antar program.

Cara yang lebih baik untuk berkomunikasi antara aplikasi adalah melalui
HTTP, karena HTTP didukung oleh semua browser dan server internet.

Menyediakan cara untuk berkomunikasi antara aplikasi yang berjalan
pada sistem operasi yang berbeda, dengan teknologi dan bahasa
pemrograman yang berbeda.
Struktur SOAP

Pesan SOAP dalam XML biasanya berisi

Envelope  untuk mengidentifikasi XML sebagai pesan SOAP

Header  informasi header

Body  informasi panggilan dan respon

Fault  status dan error yang terjadi
Struktur SOAP (Contoh)

Contoh
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
WSDL (Web Service Definition
Language)

Bahasa berbasis XML untuk mendeskripsikan Web services dan
bagaimana untuk mengaksesnya.

Menspesifikasikan lokasi service dan operasi (methods) yang disediakan
oleh web service.

Merupakan pintu komunikasi antara penyedia dan pemakai web service
Elemen WSDL

Message  sesuatu yang abstrak, definisi tipe data yang akan
dikomunikasikan
<message name=’getItemCountRequest’>
<part name=’upc’ type=’xsd:string’/>
</message>
<message name=’getItemCountResponse’>
<part name=’Result’ type=’xsd:integer’/>
</message>
Elemen WSDL (Lanjutan)

Operation  deskripsi abstrak dari suatu aksi yang didukung oleh service.
Pada dasarnya menunjukkan nama operasi web service dan pesan input
output
<operation name=’getItemCount’>
<input message=’tns:getItemCountRequest’/>
<output message=’tns:getItemCountResponse’/>
</operation>
Elemen WSDL (Lanjutan)

Port Type mendeskripsikan sebuah web service, operasi-operasi yang
dapat dijalankan, dan pesan-pesan yang dilibatkan pada Web Service.
<portType name=’InventoryPortType’>
<operation name=’getItemCount’>
<input message=’tns:getItemCountRequest’/>
<output message=’tns:getItemCountResponse’/>
</operation>
</portType>
Elemen WSDL (Lanjutan)

Binding protokol komunikasi yang digunakan oleh web service.
<binding name=’InventoryBinding’ type=’tns:InventoryPortType’>
<soap:binding style=’rpc’
transport=’http://schemas.xmlsoap.org/soap/http’/>
<operation name=’getItemCount’>
<soap:operation soapAction=’urn:xmethods-delayed-quotes#getItemCount’/>
<input>
<soap:body use=’encoded’ namespace=’urn:xmethods-delayed-quotes’
encodingStyle=’http://schemas.xmlsoap.org/soap/encoding/’/>
</input>
<output>
<soap:body use=’encoded’ namespace=’urn:xmethods-delayed-quotes’
encodingStyle=’http://schemas.xmlsoap.org/soap/encoding/’/>
</output>
</operation>
</binding>
Elemen WSDL (Lanjutan)

Port  Titik akhir tunggal (single endpoint) yang
didefinisikan sebagai sebuah 'binding' dan alamat
jaringan (network address)
<port name=’InventoryPort’ binding=’InventoryBinding’>
<soap:address
location=’http://localhost/soap/server/server.php’/>
</port>
Elemen WSDL (Lanjutan)

Service Sekumpulan endpoint yang saling berhubungan,
akan menunjukkan file/path mana yang akan ditempatkan
pada file WSDL ini
<service name=’InventoryService’>
<port name=’InventoryPort’ binding=’InventoryBinding’>
<soap:address
location=’http://localhost/soap/server/server.php’/>
</port>
</service>
UDDI

Directory untuk menyimpan informasi tentang web service dan
merupakan directory antarmuka web service yang mendeskripsikan
WSDL.

Komunikasi dilakukan menggunakan SOAP.
Download