Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Arsitektur Web Service

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 10

A.

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.

Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:

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.

Web service memiliki tiga entitas dalam arsitekturnya, yaitu:

 Service Requester (peminta layanan)


 Service Provider (penyedia layanan)
 Service Registry (daftar layanan)
Arsitektur Web Service (Cont)

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

OPERASI-OPERASI WEB SERVICE

Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:

Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.

Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.

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 1: Protokol internet standar seperti HTTP, TCP/IP

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

TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar


komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari
satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri
sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga
merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan
dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada
perangkat lunak ini adalah TCP/IP stack.
Arsitektur TCP/IP tidaklah berbasis model referensi tujuh lapis OSI, tetapi menggunakan
model referensi DARPA. Seperti diperlihatkan dalam diagram, TCP/IP merngimplemenasikan
arsitektur berlapis yang terdiri atas empat lapis. Empat lapis ini, dapat dipetakan (meski tidak
secara langsung) terhadap model referensi OSI. Empat lapis ini, kadang-kadang disebut sebagai
DARPA Model, Internet Model, atau DoD Model, mengingat TCP/IP merupakan protokol yang
awalnya dikembangkan dari proyek ARPANET yang dimulai oleh Departemen Pertahanan
Amerika Serikat.

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).

Protokol lapisan antar-host: berguna untuk membuat komunikasi menggunakan sesi


koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol
dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol
(UDP).

Protokol lapisan internetwork: bertanggung jawab untuk melakukan pemetaan (routing)


dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam
lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control
Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).

Protokol lapisan antarmuka jaringan: bertanggung jawab untuk meletakkan frame-frame


jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi
transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring),
MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone
Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer
Mode (ATM).

2. Simple Object Access Protocol (SOAP)

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.

SOAP memiliki tiga bagian, yaitu:


SOAP Envelope, yang mendefinisikan dokumen XML sebagai pesan SOAP. Element Envelope
merupakan element root yang dapat menggunakan identifier namespace . Struktur dasar SOAP
Envelope kurang lebih seperti berikut:

<?xml version="1.0"?>

<soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap- envelope"


soap:encodingstyle="http://www.w3.org/2001/12/soap- encoding"> ...

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

lainnya (seperti soap:encodingStyle) serta sub-element-nya (opsional element <SOAP-


ENV:Header> dan element <SOAP-ENV:Body> yang wajib ada). Penggunaan atribut
encodingStyle bertujuan untuk mendefinisikan tipe data yang digunakan dalam dokumen. Atribut
ini dapat muncul di element SOAP manapun, dan efeknya akan terkena ke konten element yang
mendefinisikan atribut tersebut serta sub-element- nya.

Aturan encoding SOAP, yang mendefinisikan mekanisme serialisasi pesan SOAP.

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)

WSDL merupakan bahasa standard yang menyediakan mekanisme untuk


mendeskripsikan Service yang disediakan oleh sistem (Web Service), lokasi keberadaan service
tersebut dan bagaimana cara memperolehnya, secara terstruktur dalam format XML. WSDL dapat
dianalogikan sebagai IDL (interface definition language) dalam CORBA dan COM. Service
dideskripsikan sebagai koleksi dari entry-point atau port komunikasi.

Komponen-komponen WSDL:

A. Type, yaitu tipe data yang digunakan sebagai argumen dan return type

B. Message, digunakan untuk merepresentasikan definisi data yang ditransmisikan.

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 berperan sebagai service registry dalam suatu web service

UDDI adalah teknologi yang didukung oleh OASIS (Organization for the Advancement of
Structured Information Standards)

Berbasis XML dan platform-independent

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:

 White Pages (identitas web service)


 Yellow Pages (informasi kategori layanan web service berdasarkan taksonomi yang telah
ditentukan)
 Green Pages (informasi teknis web service)

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.

Anda mungkin juga menyukai