Selasa, 17 Maret 2015

Web Service

Apa itu Web Service?

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 adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk pertukaran data, khususnya pada dua entities bisnis yang berbeda.
Definisi lain : Web service  adalah sistem software yang dirancang untuk mendukung interopabilitas mesin-ke-mesin yang dapat berinteraksi melalui jaringan.  Web service memiliki antarmuka yang dijelaskan dalam format mesin-processable (khusus WSDL). Sistem lain berinteraksi dengan  Web service dalam cara ditentukan oleh deskripsi dengan menggunakan pesan SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi XML dalam hubungannya dengan Web lainnya yang terkait standar.
Dalam pengertian yang sederhana , XML Web Services dapat di definisikan sebagai aplikasi yang diakses oleh aplikasi yang lain. Mungkin orang berpendapat itu semacam web site, tetapi itu bukan demikian. Ada perbedaan – perbedaan yang membedakan dengan web site.
Perbedaan tersebut dapat dilihat dibawah ini :

WEB SITE
  1. Memiliki web interface
  2. Dibuat untuk ber interaksi langsung dengan user
  3. Dibuat untuk bekerja pada web browser.
WEB SERVICES
  1. Tidak memiliki interface yang bagus
  2. Dibuat untuk ber interaksi langsung dengan applikasi yang lain baik beda OS / Konsep sekalipun.
  3. Dibuat untuk bekerja pada semua tipe client applikasi / perangkat device
Beberapa karakteristik dari web service adalah:
  • Message-based
  • Standards-based
  • Programming language independent
  • Platform-neutral
Beberapa key standard didalam web service adalah: XML, SOAP, WSDL and UDDI.
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.

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.
WSDL mendefinisikan service sebagai sebuah koleksi dari endpoints network. Sebuah definisi abstrak dari endpoints dan messages adalah ia bersifat terpisah dari pembangunan network atau penyatuan data format. Pembagian ini menyebabkan penggunaan kembali abstract description dari data yang akan dipertukarkan (message exchange) dan abstract collection dari operasi (ports) Protokol konkret dan spesfikasi data format bagi tipe port tertentu menentukan binding yang dapat digunakan kembali(reusable). Sebuah port adalah sebuah network address yang dikombinasikan reusable binding; sebuah service adalah koleksi dari port-port.

Sedangkan 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).
Semantik pada Web service adalah harapan bersama tentang perilaku layanan, khususnya dalam menanggapi pesan yang dikirim ke tujuan. Akibatnya, ini adalah “kontrak” antara entitas pemohon dan badan penyedia tentang tujuan dan konsekuensi dari interaksi. Meskipun kontrak ini merupakan keseluruhan perjanjian antara entitas penanya dan entitas penyedia tentang bagaimana dan mengapa masing-masing agen akan berinteraksi, itu belum tentu tertulis atau eksplisit dinegosiasikan. Ini mungkin eksplisit atau implisit, lisan atau tertulis, mesin processable atau manusia berorientasi, dan mungkin suatu perjanjian hukum atau kesepakatan informal (non-hukum).

Ada banyak cara bahwa entitas penanya mungkin terlibat dan menggunakan Web service. Secara umum, langkah-langkah yang luas berikut yang diperlukan, seperti yang diilustrasikan pada Gambar 1.  (1) pemohon dan penyedia entitas menjadi dikenal satu sama lain (atau setidaknya satu menjadi tahu untuk yang lain); (2) peminta dan penyedia entitas entah bagaimana setuju pada deskripsi layanan dan semantik yang akan mengatur interaksi antara pemohon dan agen penyedia; (3) deskripsi layanan dan semantik direalisasikan oleh pemohon dan agen penyedia, dan (4) pemohon dan agen penyedia bertukar pesan, sehingga melakukan beberapa tugas atas nama pemohon dan badan penyedia. (Ie, pertukaran pesan dengan agen penyedia merupakan wujud nyata dari berinteraksi dengan layanan Web penyedia entitas.)


Arsitektur Web service melibatkan teknologi berlapis banyak dan saling terkait. Ada banyak cara untuk memvisualisasikan teknologi ini, seperti halnya ada banyak cara untuk membangun dan menggunakan Web service. Gambar 2 di bawah ini memberikan sebuah ilustrasi dari beberapa keluarga teknologi.


Kapan Kita Gunakan Web Services ?
Web Services itu digunakan saat kita akan mentransformasi sebuat bisnis logik / sebuah class dan object yang terpisah dalam 1 ruang lingkup yang menjadi satu, sehingga tingkat keamanan dan security dapat di tangani dengan baik. Selain itu Web Service juga lebih mudah dalam process deploymentnya, karena tidak memerlukan registrasi khusus ke dalam sistem operasi. Web Service cukup diupload 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 mengurangi resiko terblokir oleh firewall. Kendala arsitektur COM/DCOM adalah memerlukan konfigurasi khusus di sisi firewall, dan  ini tidak perlu dilakukan untuk mengakses Web Service.

Beberapa vendor luar negeri mulai berkolaborasi satu sama lain dengan konsep web services , diantaranya : IBM, Microsoft , SUN , ORACLE Diantaranya contoh web services yang sudah jadi dan dipakai adalah web services keluaran Microsoft ( Microsoft Passport ) – web services untuk user name dan password yang sudah dipasang di web site  Microsoft dan HOTMAIL.
Mau contoh aplikasi sederhana web service, tunggu artikel berikutnya..!


Sumber : ilmukomputer.com, w3.org dan berbagai sumber.

1 komentar:

luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com