Home Konsep & Metode Perancangan Web Service, Guide Tour Dunia Maya
formats

Web Service, Guide Tour Dunia Maya

webservices

Dewasa ini Web Service sudah menjadi bagian dalam sebuah website. Kebutuhan akan kecepatan serta teknologi yang pesat menuntut integrasi antar website yang tinggi. Nah Web Service menjadi metode utama dari solusi tersebut. Mengapa demikian ?, yuk simak pembahasannya..

Introduction

Data dalam website adalah bagian penting yang harus dijaga, dengan adanya data tersebut semua transaksi dan kegiatan akan tercatat. Biasanya data-data disimpan dalam database, adapun database sendiri bisa didalam satu server atau pada server lain. Keberadaan database sangat-sangat sakral bagi aplikasi, karena didalam database lah semua data disimpan. tanpa adanya database, mustahil sebuah aplikasi dapat menyimpan data. Selain itu, disisi lain kemampuan atau fitur sebuah website terus menerus dikembangkan. Mulai dari fitur, keamanan, sampai ke performance website yang terus di upgrade. hal ini bertujuan untuk memenuhi kebutuhan pengguna dan menambah nilai lebih suatu website.

Ane ambil contoh sebuah situs yang sudah sangat terkenal, yaitu facebook.com. Awalnya facebook hanya digunakan sebagai media interaksi sosial saja. hanya berteman antar sesama pengguna facebook, membuat group, page, dan lain-lain. Teknologi yang berkembang membuat facebook bukan lagi sekedar situs jeiaring sosial saja. kita bisa lihat, facebook saat ini bisa digunakan untuk bermain game, mengunggah video, membuat aplikasi, membuat voting online, sampai ada yang membuat scam (penipuan) melalui facebook. Sehingga muncul pertanyaan, Apakah facebook men-share database mereka ? apakah pengguna bisa mengakses database facebook ? Apakah setiap orang yang membuat aplikasi dan game di facebook bisa menggunakan database facebook ? Lantas apa yang membuat facebook tetap aman dengan segudang fitur-fiturnya ?

Sebelum kita memulai, ada baiknya kita mengetahui dulu apa itu web service. Menurut W3.org mendefinisikan web service sebagai “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. web service memungkinkan 2 aplikasi atau lebih dapat saling bertukar (request) data tanpa harus berhubungan langsung dengan database. web service terdiri dari method yang meminta (request) kepada aplikasi lain mengenai data yang dibutuhkannya. request tersebut dikirim dan dibalas melalui protokol SOAP berbentuk WSDL.

Haduh apalagi itu soap dan WSDL…, tenang disini ane akan kupas semua sampai jelas..

 

Komponen-komponen dasar web Service

Darimana kita mulai belajar web service, saya sendiri lebih merujuk kepada yang dasar dulu, yaitu komponen dasar web service. Web service memiliki komponen utama antara lain XML, SOAP, WSDL, dan UDDI.

XML

XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.

Secara sederhana XML adalah suatu bahasa yang digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis XML didefinisikan sebagai suatu bahasa meta-markup yang menyediakan format tertentu untuk dokumen-dokumen yang mempunyai data terstruktur. Bahasa markup adalah mekanisme untuk mengenal secara terstruktur di dokumen. XML adalah suatu aplikasi profil dari SGML. Seperti yang didefinisikan dari ISO 8879, SGML adalah cara standart dan vendor-independent.

Contoh program XML :
Sebuah contoh dokumen XML seperti pada contoh dibawah ini :
<?xml version=”1.0″?>
<product barcode=”2394287410″>
<manufacturer>Verbatim</manufacturer>
<name>DataLife MF 2HD</name>
<quantity>10</quantity>
<size>3.5″</size>
<color>black</color>
<description>floppy disks</description>
</product>
jika dokumen tersebut kita buka menggunakan web browser, maka tampak seperti gambar dibawah ni :

contoh-xml Dokumen diatas menjelaskan sebuah data produk yang ada pada suatu supermarket. Produk tersebut memiliki kode barcode= 2394287410,manufacturer=Verbatim, name=DataLife MF 2HD, quantity=10, size=3.5″, color=black, description=floppy disks. (SUMBER)

WSDL

WSDL (Web Services Description Language) adalah sebuah XML-based language untuk mendeskripsikan XML. WSDL menyediakan service atau layanan yang mendeskripsikan service request dengan menggunakan protokol-protokol yang berbeda dan juga encoding. WSDL memfasilitasi komunikasi antar aplikasi. WSDL akan mendeskripsikan apa yang akan dilakukan oleh web service, bagaimana menemukannya dan bagaimana untuk mengoperasikannya.
Spesifikasi WSDL mendefinisikan tujuh tipe element:

  1. Types – element untuk mendefinisikan tipe data. Mereka akan mendefinisikan tipe data (seperti string atau integer) dari element didalam sebuah message.
  2. Message – abstract, pendefinisian tipe data yang akan dikomunikasikan.
  3. Operation – sebuah deskripsi abstract dari sebuah action yang didukung oleh service.
  4. Port Type – sebuah koleksi abstract dari operations yang didukung oleh lebih dari satu endpoints.
  5. Binding – mendefinisikan penyatuan dari tipe port (koleksi dari operasioperasi) menjadi sebuah protokol transport dan data format (ex. SOAP 1.1 pada HTTP). Ini adalah sebuah protokol konkret dan sebuah spesifikasi data format didalam tipe port tertentu.
  6. Port – mendefinisikan sebuah komunikasi endpoint sebagai kombinasi dari binding dan alamat network. Bagi protokol HTTP,  sebuah bentuk dari URL sedangkan bagi protokol SMTP, ini adalah sebuah form dari email address.
  7. Service – satu set port yang terkorelasi atau suatu endpoints. (SUMBER)

 

Sebuah dokumen WSDL menguraikan web service menggunakan elemen utama:

Elemen Mendefinisikan
<types> Jenis data yang digunakan oleh layanan web
<message> Pesan-pesan yang digunakan oleh layanan web
<portType> Operasi dilakukan oleh web service
<binding> Protokol komunikasi yang digunakan oleh layanan web

Struktur utama dokumen WSDL terlihat seperti ini:

<definitions><types>
definition of types……..
</types><message>
definition of a message….
</message><portType>
definition of a port…….
</portType>

<binding>
definition of a binding….
</binding>

</definitions>

Sebuah dokumen WSDL juga dapat mengandung unsur-unsur lain, seperti elemen ekstensi, dan elemen layanan yang memungkinkan untuk grup bersama definisi layanan beberapa web dalam satu dokumen WSDL.

SOAP

SOAP (Simple Object Access Protocol) adalah sebuah XML-based mark-up language untuk pergantian pesan diantara aplikasi-aplikasi. SOAP berguna seperti sebuah amplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention, dan bagaimana menyatukan sebuah message didalam protokol transport.

Sebuah SOAP message terdiri dari SOAP Envelop dan bisa terdiri dari attachments atau tidak memiliki attachment. SOAP envelop tersusun dari SOAP header dan SOAP body, sedangkan SOAP attachment membolehkan non-XML data untuk dimasukkan kedalam SOAP message, di-encoded, dan diletakkan kedalam SOAP message dengan menggunakan MIME-multipart. (SUMBER)

UDDI

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. Ia menyediakan sebuah area umum dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang diberikan (web service). (SUMBER)

 

Layer Web Service

Secara kesuluruhan, web service memiliki 4 layer utama yaitu :
1. Layer 1, yaitu layer protokol internet seperti HTTP  dan TCP

2. Layer 2, yaitu layer SOAP (Simple Object Access Protocol), yang merupakan protokol akses objek berbasis XML. Digunakan untuk proses pertukaran data/informasi antar layanan.

3. Layer 3, yaitu Layer Web Service Definition Language (WSDL), yang merupakan suatu standar bahasa dalam format XML. Berfungsi untuk mendeskripsikan seluruh layanan yang tersedia.

4. Layer 4, yaitu UDDI (Universal Description, Discovery, and Integration), bagian inilah yang menyimpan informasi mengenai web service yang di deskripsikan oleh WSDL.

web-service1

Seluruh layer inilah yang saling terintegrasi menjadi sebuah web service.

Ketika web service di delivery melalui SOAP, masing-masing paket XML dibungkus dengan menggunakan bahasa WSDL. adapun bentuknya seperti gambar dibawah :

ws_body

Setiap paket web service memiliki SOAP header dan SOAP body. didalam SOAP header selalu memiliki header blok, lalu dibawahnya ada SOAP body yang memiliki informasi mengenai web service. Mulai bingung ?

dibawah adalah contoh bentuk XML web service.

soap-xml

Yang harus menjadi acuan adalah tidak semua XML itu berbentuk sama persis seperti source code pada pemrograman PHP atau java, seperti contoh dibawah beberapa bentuk XML lainnya.

SOAP_XML_2unformatted

 

Arsitektur Web Service

artwebservice2

 

Bagaimana Web Service bekerja ?

Secara konsep harfiah, arsitektur web service melibatkan teknologi bertingkat. Dimana keamanan data dan manajemen data berjalan bersamaan. Paket web service dikirim menggunakan protokol HTTP atau SMTP atau FTP sama dengan method bahasa pemrograman lain yang menggunakan parameter GET dan POST. Namun bagian yang membedakan adalah paket yang terkirim dibungkus dengan SOAP sehingga kalau kita coba trace misalnya menggunakan wireshark, yang terlihat hanya paket SOAP saja tidak bisa dilihat isinya.

kedua, Web service hanya mengirimkan informasi sesuai request si pengirim. tidak seperti aplikasi lain yang juga mengirimkan paket untuk layout (template) website. Sebagai contoh, apabila kita login pada halaman website facebook, browser akan mengirimkan request berupa username dan password kepada server untuk di cek pada database, apakah ada atau tidak. Selanjutnya server akan mengirim balik request tersebut beserta file-pendukung lain, seperti desain pesan error, css tampilan error, javascript pesan login kembali, dan html tampilan facebook. Hal inilah yang disebut template.

berbeda dengan web service, dimana request yang diterima server akan dikirim balik tanpa adanya hal tersebut. web service murni mengembalikan informasi yang diminta. Apabila request yang diminta tidak ada atau salah, server akan mengirimkan pesan kosong saja.

webservice1

 

Conclusion

Web service menjadi sangat powerfull karena web service mengirimkan paket dengan di “bungkus” menggunakan SOAP dan menggunakan WSDL sebagai bahasanya yang dapat diimplementasikan pada banyak bahasa pemrograman (OOP). Hal inilah yang menjadi alasan mengapa website sebesar facebook dapat memberikan layanan pengembangan aplikasi pihak ketiga (user) tanpa user harus berhubungan dengan database facebook.

Tertarik belajar web service ?

2 Responses

  1. Dikri

    wah pas banget ini materinya mudah dicerna, makasih gan udah share ilmunya… kebetulan juga ini ada tugas kampus harus bikin tutor tentang awalnya sih bingung tepi untung ada postingan ini jadi tertolong… hhee
    terimakasih banyak.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>