Arsitektur Web Service
Arsitektur Web Service
Arsitektur Web Service
DEFINISI
Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung
interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai
suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk
informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut
melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web
service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat
diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
B. TUJUAN
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang
memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu
mengetahui detil pemrograman yang terdapat di dalamnya.
Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class
dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan
dapat ditangani dengan baik.
Web service memiliki kemudahan dalam proses deployment-nya, karena tidak memerlukan
registrasi khusus ke dalam suatu sistem operasi. Web service cukup di-upload ke web server dan
siap diakses oleh pihak-pihak yang telah diberikan otorisasi.
Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web
service tidak memerlukan konfigurasi khusus di sisi firewall.
Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry
agar layanan-layanan tersebut dapat tersedia.
Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service
yang telah di- register.
Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta
menggunakan layanan tersebut
Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:
Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian melakukan
binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang
disediakan oleh service provider
KOMPONEN-KOMPONEN WEB SERVICE
Web service secara keseluruhan memiliki empat layer komponen seperti pada gambar di atas:
Layer 2: Simple Object Access Protocol (SOAP), merupakan protokol akses objek berbasis XML
yang digunakan untuk proses pertukaran data/informasi antar layanan.
Layer 3: Web Service Definition Language (WSDL), merupakan suatu standar bahasa dalam
format XML yang berfungsi untuk mendeskripsikan seluruh layanan yang tersedia.
Layer 4: UDDI (Universal Description, Discovery and Integration) adalah sebuah service registry
bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk
pembentukan sebuah registry API bagi pendaftaran dan pengenalan service
1.TCP/IP
Setiap lapisan yang dimiliki oleh kumpulan protokol (protocol suite) TCP/IP diasosiasikan
dengan protokolnya masing-masing. Protokol utama dalam protokol TCP/IP adalah sebagai
berikut:
Protokol lapisan aplikasi: bertanggung jawab untuk menyediakan akses kepada aplikasi
terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration
Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File
Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network
Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa
implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi
berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over
TCP/IP (NetBT).
SOAP (Simple Object Access Protocol) adalah standar untuk bertukar pesan-pesan
berbasis XML melalui jaringan komputer atau sebuah jalan untuk program yang berjalan pada
suatu sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama maupun
berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data.
SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HHTP dan file
XML sehingga program pada suatu komputer dapat memanggil program pada pada komputer lain
dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.
SOAP adalah protokol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup
desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinisikan rangka
kerja pemesanan terekstrensi di mana menyediakan konstruksi pesan yang dapat dipertukarkan
pada protokol berbeda. Rangka kerja dirancang bebas dari model pemrograman dan spesifikasi
implementasi semantik.
<?xml version="1.0"?>
Pesan informasi, bisa mengandung element Header dan harus terdapat element Body ...
</soap:envelope> Element Envelope yang mendeklarasikan namespace (seperti di atas) harus
menggunakan namespace-qualified untuk atribut tambahan
SOAP RPC, yaitu bagaimana SOAP dapat digunakan seperti halnya XML-RPC. Dalam SOAP
sebenarnya dikenal 2 tipe aplikasi, yaitu RPC dan EDI (Electronic Document Exchange). SOAP
RPC (atau lebih dikenal sebagai “RPC-style” SOAP) menggunakan pesan SOAP sebagai
representasi nama prosedur berserta opsional parameternya dan nilai balik dari prosedur. SOAP
EDI (atau dikenal sebagai “document-style” SOAP) merupakan pesan SOAP yang
merepresentasikan transaksi bisnis seperti order pembelian, pembayaran pajak atau dokumen
sejenis lainnya.
Misalkan, server menyediakan fungsi hello($name) dimana nilai balik yang dihasilkan adalah
string “hello $name” ($name adalah parameter bertipe string). Berikut contoh request dari client
untuk pemanggilan fungsi hello dengan paramater “gedex”:
Setelah server menganggap pesan SOAP client valid, dan eksekusi prosedur memberikan nilai
balik, kini saatnya server memberikan response dalam pesan SOAP juga. Berikut contoh response
pesan SOAP atas request di atas:
3. Web Service Definition Language (WSDL)
Komponen-komponen WSDL:
A. Type, yaitu tipe data yang digunakan sebagai argumen dan return type
C. Port type, merupakan Sekumpulan operasi yang didukung oleh satu atau lebih endpoint.
D. Binding, digunakan untuk mendefinisikan protokol dan format pertukaran data untuk
operasi yang didefinisikan oleh Port type.
E. Port, digunakan untuk menspesifikasikan end-point yang digunakan untuk binding.
Service, merupakan koleksi endpoint yang berkaitan yang disediakan oleh Web
F. Service.
G. Operation, digunakan untuk mendefinisikan kemampuan yang didukung oleh servis
tertentu.
Karena WSDL adalah hanya terbaca mesin (misalnya hanya file XML), tool-tool dan
infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pngembang dapat
definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi
dengan web service yang menjabrkan. Pembangunan code tipe ini menyembunyikan detil-detil
membosankan yang terlibat pada pengiriman dan penrimaan pesan-pesan SOAP pada protokol-
protokol yang berbeda-beda dan menyebabkan web service dapat dicapai oleh massa. Microsoft®
.NET Framework menggunakan utilitas command- line bernama wsdl.exe yang mengenerasi
kelas-kelas dari definsi WSDL. Wsdl.exe dapat meng-generasi satu kelas untuk
menggunakanservice dan yang lainnya untuk mengimplementasikan service.(Apache axis
menggunkaan utilitas yang sama bernama WSDL2Java yang melakukan fungsi yang sama pada
kelas-kelas java.) Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi
dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa
pemrograman yang digunakan.
4.UDDI
UDDI adalah teknologi yang didukung oleh OASIS (Organization for the Advancement of
Structured Information Standards)
Setiap pemilik web service dapat mendaftarkan layanannya menggunakan teknologi ini, dan
dapat terhubung dengan web service yang lain.
Contohnya, suatu pemilik layanan forum dapat menggunakan layanan Facebook, sehingga setiap
pengguna forum dapat menggunakan akun Facebook-nya untuk mendaftar di forum tadi.
Komponen-komponen UDDI:
1. White Pages
Berisi nama dan deskripsi organisasi pemilik web service
Dapat berisi lokasi dan kontak
2. Yellow Pages
Berisi informasi klasifikasi layanan yang disediakan oleh web service
Klasifikasi dapat didasarkan pada SIC (Standard Industrial Classification), NAICS (North
American Industry Classification System), atau UNSPSC (United Nations Standard
Products and Service Codes)
3. Green Pages
Berisi spesifikasi layanan pada web service, antara lain alamat-alamat beserta parameter-
parameter yang dibutuhkan untuk mengakses web service tersebut.
Beberapa informasi tidak terkait secara langsung dengan web service, antara lain alamat email,
FTP, telepon, dan lain-lain.
4. UDDI Nodes
UDDI nodes adalah server-server yang mendukung spesifikasi UDDI dan termasuk dalam
UDDI registry.