Layanan web merupakan fenomena yang sangat panas saat ini. Banyak kelebihan yang ditawarkan oleh
web Service, terutama interoperabilitas tinggi dan penggunaannya yang dapat diakses kapanpun dan dimanapun selama mesin kita terhubung oleh jaringan internet.
Gambaran umum
= JavaScript dan XML Asinkron
=
Asynchronous JavaScript And XML (AJAX) adalah teknologi terkemuka untuk
Layanan web. Dikembangkan dari kombinasi peladen HTTP, klien JavaScript dan Plain Old XML (berbeda dari SOAP dan
Layanan web W3C), sekarang ini sering digunakan dengan JSON dan juga, atau sebagai pengganti, XML.
= REST
=
Representational State Transfer (REST) adalah arsitektur untuk
Layanan web yang dirancang baik yang dapat digunakan pada skala internet.
Dalam sebuah dokumen 2004, W3C menetapkan REST berikut sebagai fitur pembeda utama
Layanan web:
Kita dapat mengidentifikasi dua kelas terbesar dari
Layanan web:
Layanan web REST-yang patuh, di mana tujuan utama
Layanan ini adalah untuk memanipulasi representasi XML dari sumber daya
web menggunakan serangkaian operasi independen; dan
Layanan web yang sewenang-wenang, di mana
Layanan tersebut dapat mengekspos serangkaian operasi yang sewenang-wenang.
= Layanan web yang menggunakan bahasa markup
=
Terdapat beberapa
Layanan web yang menggunakan bahasa markup:
JSON-RPC.
JSON-WSP
Representational state transfer (REST) melawan remote procedure call (RPC)
web Services Conversation Language (WSCL)
web Services Description Language (WSDL), dikembangkan oleh W3C
web Services Flow Language (WSFL), digantikan oleh BPEL
Templat
web
WS-MetadataExchange
XML Interface for Network Services (XINS), menyediakan format spesifikasi
Layanan web bergaya POX
=
Sebuah
web API adalah sebuah pengembangan
Layanan web yang di mana penekanan telah beralih ke komunikasi berbasis representational state transfer (REST) yang lebih sederhana. Restful API tidak memerlukan protokol
Layanan web berbasis XML (SOAP dan WSDL) untuk mendukung antarmuka mereka.
Layanan web sepenuhnya berdasarkan standar
web dan XML.
web Service dapat membantu beberapa hal, seperti:
sebagai perantara pada integrasi platform sepanjang eksekusi mesin virtual;
integrasi antara
web dan OO middlewa;
integrasi dari aliran kerja terisolasi dan sevice-service (
web Services Flow Language - WSFL);
pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++);
standardisasi dari info konteks antara
web servis dan klien – integrasi servis horizontal di masa depan.
pemain utama dan standard-standard Microsoft: .NET SUN: Open Net Environment (ONE) IBM:
web Service Conceptual Architecture (WSCA) W3C:
web Service Workshop Oracle:
web Service Broker Hewlett-Packard:
web Service Platform;
;emampuan aplikasi, fungsi atau operasi yang di ekspos untuk program lain melalui standard yang terbuka, dan interoperable;
“payloads” didefinisikan sebagai XML;
“transports” melalui http atau Internet protocol terbuka lainnya;
mengakses data dari berbagai bahasa pemrograman, platform hardware atau system operasi;
middleware dari Internet.
Keuntungan penggunaan web Service
Format penggunaan terbuka untuk semua platform.
Mudah di mengerti dan mudah men-debug.
Dukungan interface yang stabil.
Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak.
Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai.
Routing and pengiriman.
Security.
management and monitoring.
schema and service design.
Akselerasi.
mudah untuk mengembangkan dengan semantic transport tambahan.
Terbuka, standard-standard berbasis teks.
Pencapaian modular.
Tidak mahal untuk diimplementasikan (relatif).
Mengurangi biaya integrasi aplikasi enterprise.
Implementasi yang incremental.
= 1.4 Overview
=
XML memungkinkan pengembang software untuk meng-expose sumber daya berharga pada bentuk yang memilki interoperabilitas tinggi, dimana sumber daya ini adalah semua tipe aplikasi atau pnyimpanan data yang digunakan oleh antar organisasi. Arsitektur XML
web services mendefinisikan mekanisme standard untuk menyediakan sumber daya melalui pengiriman pesan XML. Untuk mengakses sumber daya hanya dengan mentransmisikan pesan-pesan XML melalui protokol standard seperti TCP, HTTP, atau SMTP. Kata “
web Service” (singkatnya “service”) mengacu pada bagian kode yang mengimplementasikan interface XML menjadi sumber daya, dimana bias jadi sulit diakses (lihat gambar 1).
Gambar 1: Resources(Sumber daya) and services(
web Service)
Arsitektur ini memungkinkan untuk konsumen dengan dukungan XML terintegrasi dengan aplikasi
web Service. Bagaimanapun, untuk memenuhi ini, konsumen harus menentukan antarmuka XML yang tepat sepanjang dengan pesan pesan yang beraneka ragam dan mempunyai detail-detail yang tepat. Skema XML dapat memnuhi kebutuhan ini karena mengizinkan pengembang untuk menjabarkan struktur dari pesan-pesan XML. Skema XML sendiri, bagaimanapun, tidak dapat menjabarkan detail-detail tambahan menyangkut komunikasi dengan
web Service.
Definisi skema memberitahu pesan-pesan XML apa yang dapat digunakan tetapi tidak bagaimana pesan-pesan tersebut berhubungan satu sama lain. Sebagai contoh, jika ada elemen XML dinamai Add dan nama lain AddResponse, ini sepertinya kedua nama tersebut berhubungan tetapi tidak dapat mengindikasikan skemanya. Oleh sebab itu, sebagai tambahan untuk mengetahui pesan-pesan, konsumen harus juga mengetahui kemungkinan pertukaran pesan yang didukung oleh
web Service (contoh:., jika anda mengirim pesan Add, anda mendapatkan pesan kembali berupa AddResponse).
Pertukaran pesan dapat dimaksudkan sebagai pertukaran operasi. Operasi-operasi yang dilakukan konsumen kebanyakan pada point penting menginteraksikan service (Lihat gambar 2). Setiap kali menggunakan
web Service, akan dilakukan inspeksi daftar operasi yang didukung untuk mendapatkan semua proses yang tersedia.
Gambar 2: Pesan-pesan dan operasi-operasi
Ini biasa untuk developer untuk mengelompokkan operasi-operasi terhubung menjadi antarmuka-antarmuka. Konsumen harus mengetahui pengelompokkan ini memengaruhi cara mereka membuat kode. Ini sungguh penting untuk developer-developer yang bekerja dengan
web Service pada lingkup berorientasi objek karena antarmuka XML dapat memetakan menjadi antarmuka programmatis (atau kelas-kelas abstract) pada pilihan bahasa yang dipilih.
Konsumen juga harus mengetahui protocol komunikasi apa yang digunakan untuk pengiriman pesan menuju service, sepanjang mekanisme spesifik yang terlibat saat menggunakan protokol yang ditentukan seperti pada penggunaan perintah, header-header, kode error. Pembungkusan (binding) menspesifikasikan detail-detail konkret atas apa yang terjadi pada kabel (wire) dengan mensketsakan cara penggunaan antarmuka dengan protokol komunikasi khusus. Binding juga memengaruhi cara peasn-pesan abstract di enkodisasi pada wire dengan menspesifikasikan style dari service (document vs. RPC) dan mekanisme enkodisasi (literal vs. terenkodisasi).
Service dapat mendukung binding-binding ganda pada antarmuka yang ditentukan, tetapi setiap binding harus dapta diakses pada alamat unik yang diidentifikasikan oleh URI, juga ditujukan sebagai titik akhir dari
web Service (lihat gambar 3).
Gambar 3: Antarmuka dan binding-binding
Konsumen harus mencari tahu semua detail-detail yang dijabarkan sebelum mereka dapat berinteraksi menggunakan
web Service.
Sejarah
Sebelum kita memasukki sejarah tentang
web Service, adabaiknya kita terlebih dahulu mebahas masalah paradigma pekembangan bahasa pemrograman terlebih dahulu.
= 1.2 Sejarah bahasa pemrograman adalah
=
Pemrograman terstruktur.
Pemrograman berorientasi- objek.
Komputasi terdistribusi.
Pertukaran data elektronik.
World Wide
web.
web services.
= 1.3 Ada pun perusahaan yang mengusulkan konsep web service adalah
=
Hewlett-Packard's e-Speak pada 1999 adalah penyedia e-service.
Microsoft memperkenalkan nama "
web services" pada Juni 2000.
Microsoft “mempertaruhkan nama perusahaan" pada strategi
web service ini.
sekarang setiap vendor mulai menjadi “pemain”.
Untuk lebih lanjut mengenai perkembangan sejarah
web service yang mana cikal bakal terbentuknya dari arsitektur DCE, dapat dilihat pada gambar 4: Sejarah terbentuknya
web Service.
Dari gambar tersebut dapat dilihat bahwa XML
web Service mempunyai interoperabilitas yang sangat tinggi karena pengembang
web service terdiri dari banyak vendor Diarsipkan 2021-05-10 di Wayback Machine..
Mekanisme Kerja
Sebelum memasuki mekanisme kerja yang terjadi pada
web Service, akan dibahas terlebih dahulu komponen-kompenen yang mempunyai peranan penting pada
web Service, komponen-komponen tersebut dapat dilihat pada standard-standard
web service itu sendiri, dimana standard-standard
web service adalah sebagai berikut:
WSDL
web Services Description Language
http://www.w3.org/TR/wsdl
Deskripsi-deskripsi dari
web service
UDDI Universal Discovery, Description & Integration http://www.uddi.org/specification.html
Registry mengenai deskripsi servis
SOAP Simple Object Access Protocol
http://www.w3.org/TR/SOAP/
Protokol transport untuk berkomunikasi antar
web service
Standard-standard lain: WSRP, WSIA, WSXL…….
Selain standard-standard
web Service, juga ada Bagian-bagian
web Service (
web Service Dumpstack) yang mendeskripsikan task-task yang akan terjadi pada proses berjalannya
web service, dimana task-task tersebut antara lain: Wire Protocols, Description, Discovery. Untuk lebih lanjut mengenai bagian-bagian
web Service maka dapat dilihat ilustrasinya pada gambar 5: Bagian-bagian
web Service .
gambar 5: Bagian-bagian
web Service
keterangan:
Wire Protocols
Aturan utama: menyediakan standard, channel komunikasi flexible
Aturan tambahan: menyediakan standard, representasi wire-level data yang flexible
Keuntungan: interoperabilitas pada level terendah
Deskripsi
Aturan utama: menyediakan standard, jalan untuk menjabarkan apa dan bagaimana
web service melakukan yang harus dilakukan dengan fleksibel.
Keuntungan: interoperabilitas.
Discovery
Aturan utama: menyediakan standard, jalur untuk menemukan dimana
web service ditempatkan dan bagaimana mencari informasi tambahan tentang apa yang dilakukan
web service dengan fleksibel
Keuntungan: interoperabilitas, integrasi yang dinamis
= 2.3 UDDI (skema xml)
=
Kemampuan atribut metadata untuk service-service didaftarkan pada UDDI, dan lalu menjalankan queri-queri berdasarkan pada metadata tersebut yang menengahi secara mutlak menuju tujuan dari UDDI pada kedua waktu desain dan waktu pengekskusian.
UDDI (Universal Description, Discovery, and Integration) mempunyai tugas sebagai berikut:
Deskripsi yang Programmatic dari bisnis dan sevice yang didukung
Deskripsi yang Programmatic dari spesifikasi
web service
Model pemrograman dan schema.
Tahap Pengembangan dan Implikasi Bisnis
= 1.TahapPengembangan.
=
Sebelum melakukan pengembangan, harus diketahui dulu ruang lingkup pengembangan aplikasi berbasiskan
web Service menurut media protokolnya, adapun ruang lingkup aplikasi
web Service tersebut adalah”
Dalam korporasi firewall
Untuk aplikasi enterprise terintegrasi ringan
Antar korporasi firewall
Untuk digunakan pada
Layanan eksternal (contoh: passport)
Untuuk menyediakan data untuk partner-partner
Melalui
web
Aplikasi komposit
Komponen-komponen AliranKerja
Sedangkan tahap-tahap pengembangan
web Service itu sendiri adalah:
Discover – browse registry UDDI untuk mencari
web Service yang sudah ada untuk integrasi.
Create or Transform –buat
web Service dari project-project yang ada.
Build – satukan artifak yang ada sebagai SOAP dan service HTTP dan jabarkan pada WSDL.
Deploy – Aplikasikan menjadi server aplikasi Websphere atau Tomcat.
Test – Uji coba
web service baik local (stand alone computer) atau secara remote.
Develop – Bangun contoh aplikasi untuk memberi masukkan dalam membuat aplikasi klien
web service
Publish – publikasikan / upload
web Service pada bisnis registri UDDI.
= Implementasi
=
Umumnya
Layanan ini digunakan oleh organisasi yang besar dan kompleks untuk metode pertukaran datanya. Atau bisa juga oleh programmer yang "malas" dalam artian lebih senang menulis sedikit code daripada banyak baris untuk hasil yang sama, lebih senang bekerjasama daripada membangun aplikasi sendirian .
Layanan web paling sesuai untuk
Government to Government (G2G)
Business to Business B2B (B2B
Lihat pula
SOAP
WSDL
Referensi
Pranala luar
Pola desain perpesanan Diarsipkan 2018-10-09 di Wayback Machine. documentation at SOA Patterns
Aktivitas
Layanan web halaman pada W3C
Arsitektur
Layanan web, Catatan Kelompok Kerja W3C (11 Februari 2004)
Menyelidiki
Layanan web di World Wide
web, analisis yang dipresentasikan pada konferensi WWW2008.
Panduan untuk mengamankan
Layanan web (SP 800-95) pada NIST.