 
                                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.