14
2.3.1 Extensible Markup Language
XML merupakan
sebuah meta-language
untuk mendeskripsikan data, dan digunakan untuk merepresentasikan data
tanpa tergantung kepada sistem yang digunakan. Selain itu, XML juga dapat digunakan sebagai extention markup languages atau
digunakan sebagai ekstensi untuk file XML. XML merepresentasikan data ke dalam sebuah dokumen yang
terstruktur, karena dituliskan dengan menggunakan tag seperti halnya file HTML. Tag XML bersifat extensible yang memungkinkan
seorang desainer sistem untuk menuliskan sendiri tag XML-nya. Tag didefinisikan
menggunakan XML
schema language,
yang mendefinisikan struktur dari file XML tersebut.
Sebuah Document Type Definition schema adalah bagian dari spesifikasi XML. Pemanggilan schema yang ditulis dalam bahasa ini
disebut sebagai DTD. DTD ini juga mendefinisikan tag atau atribut mana yang sangat diperlukan dan mana yang bersifat optimal.
2.3.2 Simple Object Access Protocol SOAP
SOAP merupakan sebuah XML-based markup language yang digunakan untuk pergantian pesan antar aplikasi. Oleh karena itu,
SOAP berfungsi sebagai amplop yang digunakan untuk pertukaran data di dalam jaringan.
SOAP dapat dikatakan sebagai gabungan antara HTTP dan XML, karena pada umumnya SOAP menggunakan protocol HTTP
sebagai sarana komunikasi dan data yang dipertukarkan ditulis dalam format XML. Oleh karena itu SOAP memungkinkan pihak-pihak
yang mempunyai perbedaan platform, sistem operasi, dan software dapat melakukan pertukaran data.
15
2.3.3 NuSOAP
NuSOAP adalah sebuah kumpulan class-class PHP yang memungkinkan user untuk mengirim dan menerima pesan SOAP
melalui protokol HTTP. NuSOAP didistribusikan oleh NuSphere Corporation sebagai open source toolkit di bawah lisensi GNU
LGPL. Salah satu keuntungan dari NuSOAP adalah bahwa NuSOAP
bukan merupakan PHP extension, sehingga penggunaannya tidak membutuhkan registrasi khusus ke Sistem Operasi maupun web
server. NuSOAP ditulis dalam kode PHP murni sehingga semua developer web dapat mengunakan tool ini tanpa tergantung pada jenis
web server yang digunakan. NuSOAP merupakan toolkit web service berbasis komponen.
NuSOAP memiliki sebuah class dasar yang menyediakan method seperti serialisasi variabel dan pemaketan SOAP-Envelope. Interaksi
web service dilakukan dengan class client yang disebut dengan class “soapclient” dan class server yang disebut dengan class
“soap_server”. Class-class ini mengizinkan user untuk melakukan
proses pengiriman dan penerimaan pesan-pesan SOAP dengan bantuan beberapa class-class pendukung lainnya untuk melengkapi
proses tersebut. Operasi-operasi pengiriman pesan SOAP dijalankan dengan
melibatkan paramater nama operasi yang diinginkan melalui method call. Jika web service yang dituju menyediakan sebuah file WSDL,
maka class “soapclient” akan mengacu langsung pada URL file WSDL tersebut dan menggunakan class “wsdl” untuk mem-parsing
file WSDL dan mengekstrak seluruh datanya. Class “wsdl”
16 menyediakan method-method untuk mengekstrak data per-operasi
dan per-binding. Class “soapclient” menggunakan data dari file WSDL untuk
menerjemahkan parameter-parameternya sekaligus menyusun SOAP envelope ketika user mengeksekusi suatu pemanggilan service.
Ketika pemanggilan ini dieksekusi, class “soapclient” menggunakan “soap_transport_http” untuk mengirim pesan SOAP request dan
menerima pesan SOAP response. Selanjutnya pesan SOAP response yang diterima di-
parsing dengan menggunakan class “soap_parser” . Berikut ini adalah diagram proses web service dengan
menggunakan NuSOAP:
Gambar 2.4 Diagram proses web service dengan NuSOAP
2.3.4 Web Service Description Language WSDL