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.