Layanan web: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k robot Adding: he |
Fitur saranan suntingan: 3 pranala ditambahkan. |
||
(107 revisi perantara oleh 73 pengguna tidak ditampilkan) | |||
Baris 1:
{{Underlinked|date=Januari 2023}}
{{Akan dikerjakan}}
'''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 ===
{{Main|AJAX}}
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 Web Token|JSON]] dan juga, atau sebagai pengganti, XML.
=== REST ===
{{Main|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:
{{Quote|text=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 [[Protokol independen|independen]]; dan
*layanan Web yang sewenang-wenang, di mana layanan tersebut dapat mengekspos serangkaian operasi yang sewenang-wenang.|author=W3C|source=Arsitektur layanan Web<ref>{{cite web |url=https://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#relwwwrest |title=Web Services Architecture § Relationship to the World Wide Web and REST Architectures |website=[[World Wide Web Consortium|W3C]] |access-date=11 November 2017}}</ref>|title=}}
=== 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 [[World Wide Web Consortium|W3C]]
* [[Web Services Flow Language]] (WSFL), digantikan oleh [[Business Process Execution Language|BPEL]]
* [[Sistem templat web|Templat Web]]
* [[WS-MetadataExchange]]
* [[XML Interface for Network Services]] (XINS), menyediakan format spesifikasi layanan web bergaya [[Plain Old XML|POX]]
=== API Web ===
{{Main|API Web}}
Sebuah [[Web API]] adalah sebuah pengembangan layanan Web yang di mana penekanan telah beralih ke komunikasi berbasis [[representational state transfer]] (REST) yang lebih sederhana.<ref>{{cite journal|last1=Benslimane|first1=D.|last2=Dustdar|first2=S.|last3=Sheth|first3=A.|author3-link=Amit Sheth|year=2008|title=Services Mashups: The New Generation of Web Applications|url=https://works.bepress.com/amit_sheth/292/download/|journal=[[IEEE Internet Computing]]|language=en-US|volume=10|issue=5|pages=13–15|doi=10.1109/MIC.2008.110|s2cid=8124905}}</ref> Restful API tidak memerlukan protokol layanan Web berbasis XML ([[SOAP]] dan WSDL) untuk mendukung antarmuka mereka.
== Fungsi layanan web ==
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 [[Protokol Internet|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.
----
* 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
* Definisi skema memberitahu pesan-pesan XML apa yang dapat digunakan
Pertukaran pesan dapat dimaksudkan sebagai pertukaran operasi.
Gambar 2: Pesan-pesan dan operasi-operasi
* Ini biasa untuk developer untuk mengelompokkan operasi-operasi terhubung menjadi antarmuka-antarmuka. Konsumen harus mengetahui pengelompokkan ini
* 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.
* Service dapat mendukung binding-binding ganda pada antarmuka yang ditentukan,
Gambar 3: Antarmuka dan binding-binding
* Konsumen harus mencari tahu semua detail-detail yang dijabarkan sebelum mereka dapat berinteraksi menggunakan Web Service.
* 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.
* 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 [https://interbola2.com vendor] {{Webarchive|url=https://web.archive.org/web/20210510081644/https://interbola2.com/ |date=2021-05-10 }}.
== 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 &
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
Baris 131 ⟶ 139:
Discovery
Aturan utama: menyediakan standard, jalur untuk menemukan dimana web service
Keuntungan: interoperabilitas, integrasi yang dinamis
=== 2.3
Kemampuan atribut [[metadata]] untuk service-service didaftarkan pada UDDI, dan lalu menjalankan
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.
==
=== 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
*
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 {{fact}}.
Layanan Web paling sesuai untuk
* Government to Government (G2G)
* Business to Business B2B (B2B
== Lihat pula ==
* [[SOAP]]
* [[WSDL]]
==
{{Reflist|30em}}
==
{{Commons category|Web services}}
{{Wikiversity}}
* [http://soapatterns.org/candidate_patterns/messaging_design_pattern Pola desain perpesanan] {{Webarchive|url=https://web.archive.org/web/20181009132036/http://soapatterns.org/candidate_patterns/messaging_design_pattern|date=2018-10-09}} documentation at [http://www.soapatterns.org/ SOA Patterns]
* [https://www.w3.org/2002/ws/ Aktivitas layanan Web] halaman pada [[W3C]]
* [https://www.w3.org/TR/ws-arch/ Arsitektur layanan Web], Catatan Kelompok Kerja W3C (11 Februari 2004)
* [http://www2008.org/papers/pdf/p795-almasriA.pdf Menyelidiki Layanan Web di World Wide Web], analisis yang dipresentasikan pada konferensi [[International World Wide Web Conference|WWW2008]].
* [https://csrc.nist.gov/publications/detail/sp/800-95/final Panduan untuk mengamankan layanan Web] (SP 800-95) pada [[National Institute of Standards and Technology|NIST]].{{Authority control}}
[[Kategori:Layanan web| ]]
|