You are on page 1of 27

Web Services

Erick Kurniawan, S.Kom, M.Kom


Apa itu Web Services?
Adalah service yang mempertukarkan data
dalam format XML
Tersedia dan diakses melalui Internet /
intranet
Operating System & Programming Language
Independent
Antar muka yang mendeskripsikan koleksi
yang diakses dalam jaringan menggunakan
standar XML untuk pertukaran pesan
Web Services mengerjakan tugas yang
spesifik

Apa itu Web Services?
Web service mempertukarkan data antara
Service requestor (aplikasi yang
menggunakan data/service) dan service
provider (server penyedia data/service)
melalaui service registry (yang berisi
kumpulan service-service)
Menggunakan teknologi XML-RPC atau
SOAP, atau HTTP POST/GET

Apa itu Web Services?
Apa itu Web Services?
Web service berbeda dengan model aplikasi
terdistribusi tradisional seperti CORBA dan
RMI dimana method yang dipanggil
dieksekusi melalui jaringan
Tetapi web service menyediakan method
yang akan menghasilkan result berupa data
XML (bukan data biner)
Web service dapat dipanggil/digunakan
melalui web, aplikasi desktop, ataupun
aplikasi mobile
Websites vs Web Services
Website:
Memiliki web interface (rich interface)
Ditujukan untuk berinteraksi langsung dengan
user
Dijalankan pada web browser
Merupakan aplikasi front-end
Bersifat human-centric: user merupakan
faktor utama
Websites vs Web Services
Web Services:
Tidak memiliki interface yang bagus
Dibuat untuk berinteraksi langsung dengan
aplikasi yang lain yg berbeda OS / Arsitektur
sekalipun, bukan dengan user
back-end application
Application-centric: komunikasi terjadi antar
aplikasi
Web Services
Web service harus self-describing: jika kita
membuat web service, kita harus juga
mempublikasikan public interface ke service
tersebut
Minimalnya, service harus memiliki human-
readable documentation sehingga developer
lain dapat mengintegrasikan aplikasinya
dengan web service yang kita buat

Web Services
Jika kita membuat SOAP service, kita juga
wajib membuat public interface yang ditulis
dalam XML sehingga dapat digunakan untuk
mengidentifikasikan semua method yang
public, argumen-argumennya dan juga return
valuenya
Web service harus discoverable. Jika kita
membuat web service, harus ada mekanisme
sederhana agar service dan public method
yang kita buat dapat dikenal dan ditemukan
oleh aplikasi lain
Kelebihan Web Services
Interoperability (platform dan aplikasi)
Dapat mempublikasikan service dan method
sehingga mudah digunakan
Mendukung reusable-components
Web Services Layer
Service Transport:
Bagian ini bertanggung jawab untuk mengirim
message antar aplikasi.
Protokol yang ada: Hyper Text Transfer
Protocol (HTTP), Simple Mail, Transfer
Protocol (SMTP), File Transfer Protocol (FTP)

Web Services Layer
XML messaging dan encoding:
Bagian ini bertanggung jawab untuk
mengencode message dalam format XML
sehingga message dapat dimengerti dan
dipertukarkan.
Protokol yang ada: XML-RPC dan SOAP


Web Services Layer
Service description:
Bagian ini bertanggung jawab untuk
mendeskripsikan public interface sesuai
dengan web service yang spesifik.
Bagian ini dihandle melalui Web Service
Description Language (WSDL) dan XML
Schema
Web Services Layer
Service discovery:
Bagian ini bertanggung jawab untuk
memusatkan services ke dalam common
registry dan menyediakan kemudahan untuk
mempublikasikan interface dan kemudahan
dalam pencarian method.
Bagian ini dihandle oleh Universal
Description, Discovery, and Integration
(UDDI)
Security
Penggunaan HTTP dan BEEP (Block
Extensible Exchange Protocol)
Security: Confidentiality: apakah web service
menjamin dokumen XML conficidental?
Solusinya dilakukan enkripsi XML yang
distandarisasi oleh W3C di
http://www.w3c.org/Encryption, dilakukan
dengan menggunakan SSL dimana masing-
masing komponen dalam web service harus
dienkripsi sendiri-sendiri
Authentication
Apakah web service bisa menjamin bahwa
user yang connect itu authorized?
Menggunakan HTTP Authentication
SOAP Security Extensions : SOAP DSIG
(Digital Signature)
Menggunakan Security Assertion Markup
Language (SAML)
Menggunakan XKMS (XML Key Management
Service) yaitu service untuk mendistribusikan
dan mengatur public keys dan certificates
Service Requestor
Service requestor adalah kosumen dari web
services. Pengembangan service requestor:
Mengidentifikasi dan menemukan service
yang relevan sesuai dengan aplikasi yang
ada.
Biasanya dilakukan dengan pencarian
terhadap UDDI Business Directory yang berisi
service-service yang ada
Setelah mendapatkan service yang
diinginkan, langkah selanjutnya adalah
mencari service description
Service Requestor
Jika service itu adalah SOA, maka kita akan
menemukan WSDL document. Jika service itu
adalah XML-RPC, maka kita akan
menemukan human-readable instruction
untuk integrasi
Membuat client application. Contohnya, kita
membuat XML-RPC atau SOAP client sesuai
dengan bahasa pemrograman yang kita sukai
Jalankan client application yang kita buat dan
invoke the web service
Service Provider
Service provider adalah penyedia dari satu
atau lebih web service. Pengembangan
service provider:
Pengembangan fungsi-fungsi utama dari
service. Biasanya ini merupakan bagian yang
paling sulit, seperti misalnya koneksi
database, EJB, COM, dll
Kembangkan sebuah service wrapper untuk
fungsi-fungsi utama tersebut dalam bentuk
XML-RPC atau SOAP service wrapper
Service Provider
Kita harus menyediakan service description.
Jika kita membuat SOAP service kita harus
membuat file WSDL.
Jika kita membuat XML-RPC service, kita
harus membuat human-readable instructions
untuk integrasi
Deploy the service. Kita dapat menyesuaikan
dengan kebutuhan, apakah diinstal atau
berjalan dalam server standalone atau
diintegrasikan dengan web server yang telah
ada
Service Provider
Kita harus mempublikasikan keberadaan dan
spesifikasi service yang telah kita buat.
Biasanya dapat dilakukan dengan cara
mempublikasikan ke global UDDI directory
atau private UDDI directory

XML-RPC
Adalah mekanisme pengiriman method /
function dalam format XML melalui HTTP
dalam jaringan Internet
Client menentukan prosedur dan parameter
yang diinginkan ke dalam XML request,
sedangkan server akan meresponse entah itu
fault atau benar dalam XML response
Dikembangkan tahun 1998 oleh UserLand
Software (http://www.xmlrpc.com)
SOAP
Simple Object Access Protocol
SOAP merupakan protokol komunikasi
berbasis XML yang memperbolehkan aplikasi
saling bertukar informasi melalui HTTP
SOAP juga merupakan protokol untuk
mengakses web service
SOAP merupakan format untuk mengirimkan
message antar Internet, bersifat platform
independent, language independent, dan
merupakan standar W3C
SOAP
Elemen-elemen XML dalam SOAP:
Elemen wajib: Envelope yang
mengidentifikasi XML dokumen sebagai
SOAP message
Opsional elemen: Header yang berisi
informasi header
Elemen wajib: Body yang berisi informasi call
dan response
Elemen opsional: Fault yang berisi informasi
error yang terjadi
SOAP
SOAP Envelope menggunakan namespace
http://www.w3.org/2001/12/soap-envelope
Default namespace untuk SOAP encoding
dan data types adalah
http://www.w3.org/2001/12/soap-encoding
SOAP
SOAPs Syntax Rules:
SOAP harus dibuat dengan menggunakan
sintaks XML
SOAP harus menggunakan SOAP Envelope
namespace
SOAP harus menggunakan SOAP Encoding
namespace
SOAP tidak boleh mengandung DTD
SOAP tidak boleh mengadung XML
Processing Instruction
DEMO
Demo simple Web Services (C#)
Demo koneksi Web Services dan Database
(C# & SQL Server)

You might also like