Layanan web: Perbedaan antara revisi
Fitur saranan suntingan: 3 pranala ditambahkan. |
|||
(26 revisi perantara oleh 21 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
{{Underlinked|date=Januari 2023}} |
|||
{{rapikan|topik=teknologi informasi}} |
|||
{{Akan dikerjakan}} |
|||
'''Layanan web''' merupakan fenomena yang sangat panas saat ini karena, 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 salah satunya. |
|||
'''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. |
|||
=== Pengertian === |
|||
== Gambaran umum == |
|||
Layanan web Sepenuhnya berdasarkan standard web dan xml. Web Service dapat membantu: |
|||
=== JavaScript dan XML Asinkron === |
|||
* Perantara pada integrasi platform sepanjang eksekusi mesin virtual. |
|||
{{Main|AJAX}} |
|||
* Integrasi antara Web dan OO middleware. |
|||
* Integrasi dari aliran kerja terisolasi dan sevice-service (Web Services Flow Language - WSFL). |
|||
* Pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++) |
|||
* (Masa depan: standardisasi dari info konteks antara web servis dan klien – integrasi servis horizontal). |
|||
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: |
|||
* Pemain utama dan standard-standard |
|||
* sebagai perantara pada integrasi platform sepanjang eksekusi [[mesin virtual]]; |
|||
Microsoft: .NET |
|||
* integrasi antara Web dan OO middlewa; |
|||
SUN: Open Net Environment (ONE) |
|||
* integrasi dari aliran kerja terisolasi dan sevice-service (Web Services Flow Language - WSFL); |
|||
IBM: Web Service Conceptual Architecture (WSCA) |
|||
* pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++); |
|||
W3C: Web Service Workshop |
|||
* standardisasi dari info konteks antara web servis dan klien – integrasi servis horizontal di masa depan. |
|||
Oracle: Web Service Broker |
|||
Hewlett-Packard: Web Service Platform |
|||
* 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; |
|||
* Kemampuan 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. |
|||
* Data diakses dari berbagai bahasa pemrograman , platform hardware atau system operasi. |
|||
* Middleware dari Internet. |
|||
* ;emampuan aplikasi, fungsi atau operasi yang di ekspos untuk program lain melalui standard yang terbuka, dan interoperable; |
|||
==== Keuntungan penggunaan Web Service ==== |
|||
* “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. |
* Format penggunaan terbuka untuk semua platform. |
||
* Mudah di mengerti dan mudah men-debug. |
* Mudah di mengerti dan mudah men-debug. |
||
Baris 48: | Baris 75: | ||
---- |
---- |
||
=== 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). |
* 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) |
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 |
* 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). |
* 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. |
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. |
||
Baris 59: | Baris 86: | ||
Gambar 2: Pesan-pesan dan operasi-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 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. |
* 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 |
* 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). |
* 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). |
||
Baris 65: | Baris 92: | ||
* Konsumen harus mencari tahu semua detail-detail yang dijabarkan sebelum mereka dapat berinteraksi menggunakan Web Service. |
* 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. |
* 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 === |
|||
---- |
|||
==== 1.2 Sejarah bahasa pemrograman adalah: ==== |
|||
* Pemrograman terstruktur. |
* Pemrograman terstruktur. |
||
* Pemrograman berorientasi- objek. |
* Pemrograman berorientasi- objek. |
||
Baris 78: | Baris 103: | ||
* Web services. |
* Web services. |
||
=== 1.3 Ada pun perusahaan yang mengusulkan konsep web service adalah === |
|||
---- |
|||
==== 1.3 Ada pun perusahaan yang mengusulkan konsep web service adalah: ==== |
|||
* Hewlett-Packard's e-Speak pada 1999 adalah penyedia e-service. |
* Hewlett-Packard's e-Speak pada 1999 adalah penyedia e-service. |
||
* Microsoft memperkenalkan nama "web services" pada Juni 2000. |
* Microsoft memperkenalkan nama "web services" pada Juni 2000. |
||
Baris 86: | Baris 109: | ||
* sekarang setiap vendor mulai menjadi “pemain”. |
* 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. |
* 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. |
* 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: |
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 |
WSDL Web Services Description Language |
||
http://www.w3.org/TR/wsdl |
http://www.w3.org/TR/wsdl |
||
Deskripsi-deskripsi dari web service |
Deskripsi-deskripsi dari web service |
||
UDDI Universal Discovery, Description & Integration |
UDDI Universal Discovery, Description & Integration http://www.uddi.org/specification.html |
||
Registry mengenai deskripsi servis |
Registry mengenai deskripsi servis |
||
SOAP Simple Object Access Protocol |
SOAP Simple Object Access Protocol |
||
http://www.w3.org/TR/SOAP/ |
http://www.w3.org/TR/SOAP/ |
||
Protokol transport untuk berkomunikasi antar web service |
Protokol transport untuk berkomunikasi antar web service |
||
Baris 104: | Baris 127: | ||
gambar 5: Bagian-bagian Web Service |
gambar 5: Bagian-bagian Web Service |
||
keterangan |
keterangan: |
||
Wire Protocols |
Wire Protocols |
||
Baris 118: | Baris 141: | ||
Aturan utama: menyediakan standard, jalur untuk menemukan dimana web service ditempatkan dan bagaimana mencari informasi tambahan tentang apa yang dilakukan web service dengan fleksibel |
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 |
Keuntungan: interoperabilitas, integrasi yang dinamis |
||
=== 2.3 |
=== 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. |
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: |
UDDI (Universal Description, Discovery, and Integration) mempunyai tugas sebagai berikut: |
||
Baris 127: | Baris 150: | ||
Model pemrograman dan schema. |
Model pemrograman dan schema. |
||
== |
== Tahap Pengembangan dan Implikasi Bisnis == |
||
=== 1.TahapPengembangan. === |
=== 1.TahapPengembangan. === |
||
Baris 142: | Baris 165: | ||
Aplikasi komposit |
Aplikasi komposit |
||
Komponen-komponen AliranKerja |
Komponen-komponen AliranKerja |
||
---- |
|||
Sedangkan tahap-tahap pengembangan Web Service itu sendiri adalah: |
Sedangkan tahap-tahap pengembangan Web Service itu sendiri adalah: |
||
Baris 160: | Baris 181: | ||
Layanan Web paling sesuai untuk |
Layanan Web paling sesuai untuk |
||
* Government to Government (G2G) |
* Government to Government (G2G) |
||
* Business to Business B2B (B2B |
* Business to Business B2B (B2B |
||
---- |
|||
== '''Kesimpulan''' == |
|||
Dari Makalah ini dapat diambil kesimpulan sebagai berikut: |
|||
* Web service adalah teknologi dengan risiko rendah (relatif) yang dapat digunakan untuk mengimplementasikan strategi bisnis berisiko tinggi. |
|||
* Web service berdasarkan middleware OO, XML dan konsep Internet Protokol, dan membantu pergerakkan dari sistem-sistem heterogen menuju sistem yang lebih homogen |
|||
* Banyak-vendor turut membuat standard |
|||
* Membuka semua jenis kesempatan untuk semua orang |
|||
* Incremental, non-intimidating, minimal technology play |
|||
* Kostumer memulai tanpa menunggu vendor-vendor |
|||
* Web service mentransformasikan web browser centris menjadi servis centris |
|||
* Tool-tool yang lebih baik bersifat open source |
|||
== Lihat pula == |
== Lihat pula == |
||
* [[SOAP]] |
* [[SOAP]] |
||
* [[WSDL]] |
* [[WSDL]] |
||
== Referensi == |
|||
{{Reflist|30em}} |
|||
== Pranala luar == |
|||
{{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| ]] |
[[Kategori:Layanan web| ]] |
Revisi terkini sejak 30 Juli 2024 12.15
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) 94 hari 448 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.