Layanan web
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini.
Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan.
|
Halaman ini sedang dipersiapkan dan dikembangkan sehingga mungkin terjadi perubahan besar. Anda dapat membantu dalam penyuntingan halaman ini. Halaman ini terakhir disunting oleh Grafis Printing (Kontrib • Log) 120 hari 194 menit lalu. Jika Anda melihat halaman ini tidak disunting dalam beberapa hari, mohon hapus templat ini. |
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
[sunting | sunting sumber]JavaScript dan XML Asinkron
[sunting | sunting sumber]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
[sunting | sunting sumber]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.
— W3C, Arsitektur layanan Web[1]
Layanan web yang menggunakan bahasa markup
[sunting | sunting sumber]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
API Web
[sunting | sunting sumber]Sebuah Web API adalah sebuah pengembangan layanan Web yang di mana penekanan telah beralih ke komunikasi berbasis representational state transfer (REST) yang lebih sederhana.[2] Restful API tidak memerlukan protokol layanan Web berbasis XML (SOAP dan WSDL) untuk mendukung antarmuka mereka.
Fungsi layanan web
[sunting | sunting sumber]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
[sunting | sunting sumber]- 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
[sunting | sunting sumber]- 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
[sunting | sunting sumber]- 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
[sunting | sunting sumber]- 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
[sunting | sunting sumber]- 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
[sunting | sunting sumber]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)
[sunting | sunting sumber]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
[sunting | sunting sumber]1.TahapPengembangan.
[sunting | sunting sumber]- 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
[sunting | sunting sumber]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 [butuh rujukan].
Layanan Web paling sesuai untuk
- Government to Government (G2G)
- Business to Business B2B (B2B
Lihat pula
[sunting | sunting sumber]Referensi
[sunting | sunting sumber]- ^ "Web Services Architecture § Relationship to the World Wide Web and REST Architectures". W3C. Diakses tanggal 11 November 2017.
- ^ Benslimane, D.; Dustdar, S.; Sheth, A. (2008). "Services Mashups: The New Generation of Web Applications". IEEE Internet Computing (dalam bahasa Inggris). 10 (5): 13–15. doi:10.1109/MIC.2008.110.
Pranala luar
[sunting | sunting sumber]- 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.