Wikipedia:Memulai halaman baru: Perbedaan antara revisi
k istilah |
Web Service |
||
Baris 17: | Baris 17: | ||
---- |
---- |
||
'''BAB I |
|||
==Cara-cara untuk memulai halaman baru== |
|||
PENDAHULUAN |
|||
=== Memulai halaman baru dari pranala (link) yang sudah ada, setelah menciptakannya, atau setelah pencarian === |
|||
Untuk memulai halaman baru, Anda bisa menggunakan ''link'' yang sudah ada di sebuah halaman. |
|||
LATAR BELAKANG''' |
|||
Pranala-pranala internal yang menuju halaman-halaman yang belum ada biasanya diciptakan dalam proses persiapan sebuah halaman, dan/atau untuk menggalakkan orang lain untuk memulainya. Pranala-pranala ini biasanya berwarna merah. |
|||
Web Service 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. |
|||
TUJUAN |
|||
Mengklik pranala seperti ini akan membawa Anda kepada mode penyuntingan halaman baru. |
|||
Tujuan dari penyusunan makalah ini adalah untuk membantu dalam proses pemahaman tentang Web Service : |
|||
BATASAN MASALAH |
|||
Sebelum mengklik pranala penyuntingan, putuskan apakah Anda ingin memberi halaman baru tersebut judul tersebut. Jika tidak, sunting dahulu pranala yang ada di halaman perujuknya. |
|||
Isi makalah yang akan kami buat memiliki beberapa batasan, yaitu : |
|||
Hanya membahas Pengertian ,Sejarah, Mekanisme Kerja, Pengembangan dan Implikasi Bisnis. |
|||
Anda tentu saja dapat menciptakan pranalanya sendiri, di halaman yang bersangkutan atau di halaman indeks. Meskipun begitu, Anda sebaiknya menciptakan pranala setelah selesai menulis halaman baru, khususnya jika pranala tersebut akan menggantikan sebuah pranala yang menuju ke halaman yang sudah ada. Dalam situasi seperti ini Anda dapat menciptakan pranala tetapi jangan klik 'Simpan halaman' tetapi gunakan 'Lihat pratayang' dahulu (agar dapat memastikan bahwa link tersebut bekerja). |
|||
Perlu diperhatikan juga bahwa pranala-pranala pada halaman yang bersangkutan membuat navigasi antar halaman menjadi lebih nyaman, dan juga membuat orang mengetahui adanya halaman baru tersebut. |
|||
===Memulai halaman baru melalui URL=== |
|||
Jika Anda mengetikkan URL (alamat internet) Wikipedia yang belum mempunyai isi/informasi, Anda akan menemukan sebuah halaman yang menampilkan pesan seperti [[MediaWiki:Noarticletext|ini]]. |
|||
Anda bisa menyunting halaman itu dengan mengklik 'sunting' di bagian atas halaman. |
|||
Cara yang mudah untuk membuat URL baru adalah dengan mengedit bagian terakhir URL untuk artikel lain dalam proyek yang sama. |
|||
'''Misalnya:''' |
|||
BAB II |
|||
Anda menggunakan URL halaman [[Raja]] yang berada di: |
|||
Pengertian dan Sejarah |
|||
Pengertian |
|||
http://wiki-indonesia.club/wiki/Raja |
|||
1.1 Apa itu Web Service ? |
|||
Lalu jika Anda ingin memulai halaman baru yang berjudul 'Halaman Baru', ganti bagian belakangnya menjadi: |
|||
Web Service Sepenuhnya berdasarkan standard web dan xml |
|||
http://wiki-indonesia.club/wiki/Halaman_Baru |
|||
Web Service dapat membantu: |
|||
=== Membuat pranala ke halaman lain === |
|||
Perantara pada integrasi platform sepanjang eksekusi mesin virtual. |
|||
Ketika Anda mengedit suatu artikel, jika ada suatu kata atau frasa memberi ide bahwa perlu ada artikel tersendiri untuk menjelaskannya lebih lanjut, beri saja dua kurung siku di sisi-sisinya, <code><nowiki>[[seperti ini]]</nowiki></code>. Kita sebut sebagai pe-"wiki"-an teks. Setelah Anda simpan artikel tadi, maka kata tadi secara ajaib akan dikaitkan dengan artikel lain yang sudah ada, atau akan menjadi satu kait berwarna merah seperti yang dijelaskan di atas, yaitu memungkinkan penambahan artikel baru. Demikianlah cara jitu untuk menulis artikel. |
|||
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: standarisasi dari info konteks antara web servis dan klien – integrasi servis horizontal). |
|||
=== Memulai halaman yang baru sama sekali === |
|||
Jika Anda ingin membuat satu halaman yang sama sekali baru, ada baiknya melakukan pencarian (search) terlebih dahulu menggunakan kotak "cari" (lihat di bagian kiri halaman ini, misalnya) dan lihat apakah belum ada sama sekali orang lain yang membuat halaman dengan topik tersebut ataupun yang mirip dengannya. |
|||
Pemain utama dan standard-standard |
|||
Carilah halaman yang sejenis, sehingga Anda tidak perlu membuat yang baru, atau mungkin juga Anda cukup membuat pengarah (redirection) ke entri yang sudah ada tadi. Sebagai contoh kalau Anda ingin menulis entri Soekarno atau Sukarno, ternyata sudah tersedia entri Soekarno mirip dengan yang Anda maksud, jadi tidak perlu membuat yang baru, cukup memasang [[Wikipedia:Pengalihan|halaman pengarah (redirection page)]]. |
|||
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. |
|||
Sekiranya belum ada seorang pun membuat halaman dengan subjek yang Anda maksud, silahkan cari topik-topik yang relevan (seringkali kategori umum, seperti [[Pendidikan]] atau [[Olah raga]]), sunting halaman ''itu'', kemudian (di tempat yang sesuai) tambahkan judul artikel yang anda akan buat dengan cara menaruh dua pasang kurung siku, <code><nowiki>[[seperti ini]]</nowiki></code>. Kemudian tekan tombol "Simpan halaman" di bagian bawah halaman. Di halaman yang baru saja Anda sunting akan terlihat pranala berwarna merah yang bisa diklik atau bisa juga muncul tanda tanya (tergantung dari preferensi yang Anda pasang); klik di tempat itu dan mulailah mengerjakan halaman tersebut! Kebiasaan yang baik ini akan menjaga ensiklopedia tetap terstruktur dengan rapi. |
|||
“payloads” didefinisikan sebagai XML. |
|||
===Menggunakan bak pasir=== |
|||
Cara lainnya adalah menggunakan [[Wikipedia:bak pasir|bak pasir]]! |
|||
“transports” melalui http atau Internet protocol terbuka lainnya. |
|||
* Sunting bak pasir (sandbox, tempat uji coba/bermain), kemudian buat sebuah pranala. |
|||
* Kemudian mulai/sunting halaman baru dengan mengklik pranala, serta menuliskan teks. |
|||
Data diakses dari berbagai bahasa pemrograman , platform hardware atau system operasi. |
|||
''Catatan'': Bak pasir (sandbox) secara teratur dihapus, jadi jangan lupa menandai halaman-halaman yang sudah Anda buat, untuk dapat menyuntingnya lagi di lain kesempatan. Jika Anda anggota yang terdaftar, akan muncul juga di bawah "''Sumbangan saya''" pada Quickbar di kanan atas halaman. |
|||
Middlewear dari Internet. |
|||
Ada baiknya juga halaman yang baru dituliskan diuji dengan pemeriksa ejaan (spell checker) sebelum dikirim. Anda mungkin juga merasa nyaman untuk membuat salinan dari halaman yang dimaksud, menyuntingnya, lalu menaruhnya kembali (paste) di halaman itu. |
|||
1.2 Contoh implementasi |
|||
Memulai topik yang sama sekali baru sangatlah bermanfaat dalam pengembangan Wikipedia lebih luas (dan lebih dalam). |
|||
General Motors |
|||
'''Catatan:''' Ingat bahwa Wikipedia adalah ensiklopedia dengan [[isi terbuka]]. |
|||
Mengintegrasikan manajemen kebutuhan pada lebih dari 8000 dealer-dealer. |
|||
Anda berkontribusi pada basis data informasi umum yang [[bebas]]. Anda secara otomatis menerima lisensi atas apa yang Anda tuliskan mengkuti [http://en.wiki-indonesia.club/wiki/GNU_Free_Documentation_License <I>GNU_Free_ Documentation_License</I>]; Anda hanya boleh melakukannya jika Anda memiliki hak cipta atas material (yang Anda karang sendiri), atau jika material itu milik umum. Silahkan baca selengkapnya di [http://en.wiki-indonesia.club/wiki/Wikipedia:Copyrights hak cipta] (dalam bahasa Inggris). '''Jangan cantumkan bahan yang dilindungi hak cipta tanpa seijin pemiliknya.''' |
|||
Dell |
|||
XML-based Web Services untuk menjadwalkan penyediaan data pada form yang dapat diproses langsung untuk jaringan penyuplai. |
|||
1.3 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 tapi 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 tapi 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:Contoh.jpg]] |
|||
Gambar 2: Pesan-pesan dan operasi-operasi |
|||
Ini biasa untuk developer untuk mengelompokkan operasi-operasi terhubung menjadi antarmuka-antarmuka. Konsumen harus mengetahui pengelompokkan ini mempengaruhi 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 konkrit atas apa yang terjadi pada kabel (wire) dengan mensketsakan cara penggunaan antarmuka dengan protokol komunikasi khusus. Binding juga mempengaruhi 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, tapi 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. |
|||
Gambar 3: Sejarah terbentuknya Web Service |
|||
BAB III |
|||
Mekanisme Kerja |
|||
Sebelum memasukki 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 di tempatkan dan bagaimana mencari informasi tambahan tentang apa yang dilakukan web service dengan fleksibel |
|||
Keuntungan: interoperabilitas, integrasi yang dinamis |
|||
2.1 Simple Object Access Protocol (SOAP) |
|||
SOAP adalah: |
|||
Jalan untuk program yang berjalan pada suatu OS untuk berkomunikasi dengan program pada OS Yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data. |
|||
SOAP menspesifikan secara jelas bagaimana cara untuk meng-encoding header HHTP dan file XML sehingga program pada suatu computer dapat menmanggil program pada pada computer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan response. |
|||
SOAP adalah protocol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinsiskan framework pemesanan terekstrensi. Dimana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Framework didesain bebas dari model pemrograman dan spesifikasi implementasi semantik. |
|||
gambar 6: Dasar pertukaran pesan SOAP. |
|||
Pada gambar diatas dapat dilihat proses pertukaran pesan pada SOAP, mulai dari permintaan layanan hingga Penyedia Layanan menyediakan program. |
|||
gambar 7: amplop SOAP |
|||
Amplop SOAP menerangkan isi dari grammar XML pada SOAP |
|||
1.2 WSDL (Web Services Description Language) |
|||
Pengertian: |
|||
WSDL adalah grammar XML yang simple untuk menjabarkan bagaimana cara berkomunikasi dengan web service |
|||
WSDL mendefinisikan pesan-pesan (baik yang abstract dan kongkrit) yang di kirim ke dan menuju web service |
|||
WSDL mendefinisikan koleksi-koleksi digital dari pesan-pesan (“port type”, “interface”) |
|||
WSDL mendefinisikan bagaiman “tipe port” yang ditentukan dijadikan wire protokol |
|||
WSDL mendefinisikan dimana servis di tempatkan |
|||
Web Services Description Language (WSDL) menyediakan sebuah kamus XML untuk menjabarkan detail-detail ini. WSDL digunakan dimana skema XML tidak digunkan lagi dengan menyediakan jalur pesan-pesan group menjadi operasi-operasi dan operasi-operasi menjadi antarmuka. Ini juga menyediakan jalur untuk medefinisikan binding-binding untuk setiap antamuka dan kombinasi protokol sepanjang alamt titik akhir utnuk setaip kalinya. Definisi WSDL yang lengkap terdiri dari seluruh informasi yang dibutuhkan untuk meminta Web service. Pengembang yang mau mempermudah yang lain untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL . |
|||
WSDL memainkan peranan penting pada seluruh arsitektur Web service semenjak menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL pada arsitektur DCOM). Walaupun teknik-teknik lain untuk menjabarkan Web service ada, WS-I Basic Profile Version 1.0 memandati penggunaan WSDL dan skema XML (lihat gambar 4) untuk menjabarkan Web service. Ini membantu untuk memastikan interoperbilitas pada layer deskripsi service. |
|||
Gambar 4: teknologi WS-I Basic Profile 1.0 |
|||
Karena WSDL adalah mesin yang dapat dibaca(misalnya, ini hanya file XML), tool-tool dan infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pngembang dapat definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan Web service yang menjabrkan. Pembangunan code tipe ini menyembunyikan detail-detail membosankan yang terlibat pada pengiriman dan penrimaan pesan-pesan SOAP pada protokol-protokol yang berbeda-beda dan menyebabkan Web service dapat dicapai oleh massa. |
|||
Microsoft® .NET Framework menggunakan utilitas command-line bernama wsdl.exe yang mengenerasi kelas-kelas dari definsi WSDL. Wsdl.exe dapat meng-generasi satu kelas untuk menggunakanservice dan yang lainnya untuk mengimplementasikan service.(Apache axis menggunkaan utilitas yang sama bernama WSDL2Java yang melakukan fungsi yang sama pada kelas-kelas java.) Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa pemrograman yang digunakan (Lijhat Gambar 8). |
|||
Gambar 8: WSDL dan generasi kode |
|||
WSDL 1.1 mempertimbangkan standard de-facto saat ini karena dukungan industri yang luas. Kebanyakkan toolkit-toolkit Web service mendukung WSDL 1.1, tapi ada sedikit masalah interoperabilitas pada implementasi berbeda. Kebanyakkanpembangun-pembangun percaya bahwa fleksibilitas yang luas dari WSDL (dan kompleksitas hasil) adalah sumber fundamental dari masalah ini. WS-I telah membantu memecahkan bebrapa dari masalah ini dengan memkasakan pengembang-pengembang untuk menggunakan bagian-bagian tepat dari spesifikasi dan tidak menganjurkan mereka untuk menggunakan yang lainnya. |
|||
W3C secara aktif bekerja pada versi WSDL “terdaftar” terakhir, WSDL 1.2, tapi saat ini hanya Working Draft dan tidak didukung oleh toolkit-toolkit mainstream, jika ada |
|||
Dasar WSDL |
|||
Definisi WSDL adalah dokumen XML dengan element definisi root dari http://schemas.xmlsoap.org/wsdl/ namespace. Elemen defines-definisi dapat berisis beberapa elemen-elemen lain termasuk tipe-tipe, pesan, portType, binding dan service, semua yang datang dari http://schemas.xmlsoap.org/wsdl/ namespace. Ilustrasi berikut mengilustarsikan srtuktur dari definisi WSDL: |
|||
<!-- WSDL definition structure --> <definitions name="MathService" targetNamespace="http://example.org/math/" xmlns="http://schemas.xmlsoap.org/wsdl/" > <!-- abstract definitions --> <types> ... <message> ... <portType> ... <!-- concrete definitions --> <binding> ... <service> ... </definition> |
|||
Melihat bahwa kita harus menspesifikasikan namespace target untuk definsi WSDL, seperti yang akan kita lakukan untuk definsi skema XML. Semua yang anda namai pada definsis WSDL (seperti pesan, portType, binding, dsb.) secara otomatis menjadi bagian dari target namespace definsi WSDL yang didefinsikan oleh atribut targetNamespace, jika kita mereferensikan sesuatu menggunakan nama pada file WSDL, kita harus mengingat nama yang memenuhi aturan. |
|||
Yang pertama dari tiga elemen (types, message, and portType) adalah seluruh definisi-definisi abstrak dari antarmuka Web Service. Elemen ini mengkonstitusikan antarmuka programatis yang biasa kita antarmukakan pada kode. Dua elemen terakhir (binding and service) menjabarkan detail-detail konkrit bagaimana antarmuka abstrak memetakan pesan pada wire. Detail-detail ini biasanya ditangani oleh infrastruktur, tidak oleh kode aplikasi. Tabel 1 menyediakan definisi-definisi untuk setiap inti elemen-elemen WSDL |
|||
Nama Element Deskripsi |
|||
types Penampung definsi tipe yang abstrak yang didefinisikan menggunkana skema XML |
|||
message Definisi dari pesan abstrak yang dapat terdiri dari banyak bagian, untuk setiap bagian mungkin dapat berbeda tipe |
|||
portType Kumpulan abstrak dari operasi yang didukung oleh satu atau lebih titik akhir (biasanya disebut antarmuka); operasi-operasi didefinsikan oleh pertukaran pesan-pesan. |
|||
binding Protocol konkrit dan spesifikasi format data pada portType |
|||
service Koleksi titikakhir terhubung, dimana titikakhir didefinsikan sebagai kombinasi dari binding dan alamat (URI) |
|||
Tabel 1. Elemen WSDL |
|||
Gambar 9: Elemen dan spesifikasi WSDL |
|||
Contoh – contoh: |
|||
Types |
|||
<definitions .... > <types> <xsd:schema .... />* </types> </definitions> |
|||
….. |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > <types> <xs:schema targetNamespace="http://example.org/math/types/" xmlns="http://example.org/math/types/" > <xs:complexType name="MathInput"> <xs:sequence> <xs:element name="x" type="xs:double"/> <xs:element name="y" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:complexType name="MathOutput"> <xs:sequence> <xs:element name="result" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="Add" type="MathInput"/> <xs:element name="AddResponse" type="MathOutput"/> <xs:element name="Subtract" type="MathInput"/> <xs:element name="SubtractResponse" type="MathOutput"/> <xs:element name="Multiply" type="MathInput"/> <xs:element name="MultiplyResponse" type="MathOutput"/> <xs:element name="Divide" type="MathInput"/> <xs:element name="DivideResponse" type="MathOutput"/> </xs:schema> </types> ... </definitions> |
|||
….. |
|||
Messages |
|||
<definitions .... > <message name="nmtoken"> * <part name="nmtoken" element="qname"? type="qname"?/> * </message> </definitions> |
|||
….. |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <message name="AddMessage"> <part name="parameter" element="ns:Add"/> </message> <message name="AddResponseMessage"> <part name="parameter" element="ns:AddResponse"/> </message> <message name="SubtractMessage"> <part name="parameter" element="ns:Subtract"/> </message> <message name="SubtractResponseMessage"> <part name="parameter" element="ns:SubtractResponse"/> </message> ... </definitions> |
|||
….. |
|||
Interfaces (portTypes) |
|||
<definitions .... > <portType name="nmtoken"> <operation name="nmtoken" .... /> * </portType> </definitions> |
|||
….. |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <portType name="MathInterface"> <operation name="Add"> <input message="y:AddMessage"/> <output message="y:AddResponseMessage"/> </operation> <operation name="Subtract"> <input message="y:SubtractMessage"/> <output message="y:SubtractResponseMessage"/> </operation> <operation name="Multiply"> <input message="y:MultiplyMessage"/> <output message="y:MultiplyResponseMessage"/> </operation> <operation name="Divide"> <input message="y:DivideMessage"/> <output message="y:DivideResponseMessage"/> </operation> </portType> ... </definitions> |
|||
Bindings |
|||
<wsdl:definitions .... > <wsdl:binding name="nmtoken" type="qname"> * <-- extensibility element providing binding details --> * <wsdl:operation name="nmtoken"> * <-- extensibility element for operation details --> * <wsdl:input name="nmtoken"? > ? <-- extensibility element for body details --> </wsdl:input> <wsdl:output name="nmtoken"? > ? <-- extensibility element for body details --> </wsdl:output> <wsdl:fault name="nmtoken"> * <-- extensibility element for body details --> </wsdl:fault> </wsdl:operation> </wsdl:binding> </wsdl:definitions> |
|||
MathInterface portType: |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> ... <-- extensibility element --> <operation name="Add"> ... <-- extensibility element --> <input> ... <-- extensibility element --> </input> <output> ... <-- extensibility element --> </output> </operation> ... </binding> ... </definitions> |
|||
MathInterface portType: |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ... </binding> ... </definitions> |
|||
….. |
|||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > <SOAP-ENV:Body> <m:Add xmlns:m="http://example.org/math/types/"> <x>3.14159265358979</x> <y>3.14159265358979</y> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
|||
….. |
|||
... <message name="AddMessage"> <part name="parameter" type="ns:MathInput"/> </message> <message name="AddResponseMessage"> <part name="parameter" type="ns:MathOutput"/> </message> ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="encoded"/> </input> <output> <soap:body use="encoded"/> </output> </operation> ... </binding> |
|||
….. |
|||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://example.org/math/types/" > <SOAP-ENV:Body> <m:Add xmlns:m="http://example.org/math/"> <parameter xsi:type="m0:MathInput"> <x xsi:type="xsd:double">3.14159265358979</x> <y xsi:type="xsd:double">3.14159265358979</y> </parameter> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
|||
Services |
|||
<definitions .... > <service .... > * <port name="nmtoken" binding="qname"> * <-- extensibility element defines address details --> </port> </service> </definitions> |
|||
….. |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <service name="MathService"> <port name="MathEndpoint" binding="y:MathSoapHttpBinding"> <soap:address location="http://localhost/math/math.asmx"/> </port> </service> </definitions> |
|||
….. |
|||
WSDL Editors |
|||
Gambar 6. definsi WSDL MathService dibuat dengan XML Spy 5.0 |
|||
Contoh Grammar XML lengkap : WSDL |
|||
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/"> <types> <xs:schema targetNamespace="http://example.org/math/types/" xmlns="http://example.org/math/types/" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xs:complexType name="MathInput"> <xs:sequence> <xs:element name="x" type="xs:double"/> <xs:element name="y" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:complexType name="MathOutput"> <xs:sequence> <xs:element name="result" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="Add" type="MathInput"/> <xs:element name="AddResponse" type="MathOutput"/> <xs:element name="Subtract" type="MathInput"/> <xs:element name="SubtractResponse" type="MathOutput"/> <xs:element name="Multiply" type="MathInput"/> <xs:element name="MultiplyResponse" type="MathOutput"/> <xs:element name="Divide" type="MathInput"/> <xs:element name="DivideResponse" type="MathOutput"/> </xs:schema> </types> <message name="AddMessage"> <part name="parameters" element="ns:Add"/> </message> <message name="AddResponseMessage"> <part name="parameters" element="ns:AddResponse"/> </message> <message name="SubtractMessage"> <part name="parameters" element="ns:Subtract"/> </message> <message name="SubtractResponseMessage"> <part name="parameters" element="ns:SubtractResponse"/> </message> <message name="MultiplyMessage"> <part name="parameters" element="ns:Multiply"/> </message> <message name="MultiplyResponseMessage"> <part name="parameters" element="ns:MultiplyResponse"/> </message> <message name="DivideMessage"> <part name="parameters" element="ns:Divide"/> </message> <message name="DivideResponseMessage"> <part name="parameters" element="ns:DivideResponse"/> </message> <portType name="MathInterface"> <operation name="Add"> <input message="y:AddMessage"/> <output message="y:AddResponseMessage"/> </operation> <operation name="Subtract"> <input message="y:SubtractMessage"/> <output message="y:SubtractResponseMessage"/> </operation> <operation name="Multiply"> <input message="y:MultiplyMessage"/> <output message="y:MultiplyResponseMessage"/> </operation> <operation name="Divide"> <input message="y:DivideMessage"/> <output message="y:DivideResponseMessage"/> </operation> </portType> <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Subtract"> <soap:operation soapAction="http://example.org/math/#Subtract"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Multiply"> <soap:operation soapAction="http://example.org/math/#Multiply"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Divide"> <soap:operation soapAction="http://example.org/math/#Divide"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="MathService"> <port name="MathEndpoint" binding="y:MathSoapHttpBinding"> <soap:address location="http://localhost/math/math.asmx"/> </port> </service> </definitions> |
|||
Gambar 10: WSDL - overview |
|||
1.3 UDDI (skema xml) |
|||
Kemampuan atribut metadata untuk service-service didaftarkan pada UDDI, dan lalu menjalankan quei-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 |
|||
Gambar 11: Contoh Skema Server UDDI. |
|||
BAB IV |
|||
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 – Aplikasikane menjadi server aplikasi Wensphere 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. |
|||
Untuk keterangan mengenai toolkit-toolkit untuk pembuatan aplikasi dapat dilihat ilustrasi dibawah ini. |
|||
Gambar 12: Toolkit – toolkit Web Services |
|||
Tahapan pembangunan Web Service pada dua platform dasar yang berbeda yaitu: |
|||
java: |
|||
Platform > JVM > servlet, jsp, jdbc, jndi, jms, rmi, corba, EJB, jax package etc. |
|||
.net |
|||
Wintel > CLR (common Language Runtime) > System.WebService, ASP.NET, DirectoryServices, System.Messaging, System.Runtime.Remoting, MSXML, SOAP, WSDL etc. |
|||
2. Implikasi Bisnis. |
|||
2.1 Trend Adopsi Web Service |
|||
Gambar 13: Trend adopsi Web Service |
|||
Dari gambar diatas dapat diambil kesimpulan bahwa pada saat ini pada umumnya oleh developer Web Service masih dalam tahap Riset. |
|||
1.2 Tantangan Terbesar Web Service |
|||
Gambar 14: Tantangan Terbesar Web Service |
|||
Dari gambar diatas dapat dilihat bahwa saat ini fokus pengembangan Web Service masih pada Nilai Bisnis, jadi salah satu tujuan di buatnya web service sudah tercapai. Sementara itu untuk dukungan vendor masih kecil, ini berarti interoperabilitas yang tinggi masih tetap dipertahankan. |
|||
1.3 Platform yang digunakan |
|||
Gambar 15: Tantangan Terbesar Web Service |
|||
Dari gambar diatas dapat dilihat bahwa oleh developer pengembangan web service dengan menggunakan IBM Websphere lebih digemari saat ini. |
|||
BAB V |
|||
Kesimpulan |
|||
Dari Makalah ini dapat diambil kesimpulan sebagai berikut: |
|||
Web service adalah teknologi dengan resiko rendah (relatif) yang dapat digunakan untuk mengimplementasikan strategi bisnis bersiko tinggi. |
|||
Web service berdasarkan middleware OO, XML dan onsep 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 |
|||
MAKALAH TUGAS BESAR |
|||
MATA KULIAH PEMROGRAMAN JARINGAN |
|||
“WEB SERVICE” |
|||
DI SUSUN OLEH : |
|||
JULIANUS TATO 613020005 |
|||
ABRAM DERISKO 613020012 |
|||
SYAFUAN 613020095 (cupu_bgt@lycos.com) |
|||
BAGA GUSDIANA 613020105 |
|||
REZQY CHANDRA 613030010 |
|||
MOCH SUPRIADI 613030031 |
|||
JURUSAN TEKNIK INFORMATIKA |
|||
SEKOLAH TINGGI TEKNOLOGI TELKOM |
|||
BANDUNG |
|||
2005 |
|||
== Lihat pula == |
== Lihat pula == |
Revisi per 3 Juli 2005 17.30
Berikut petunjuk untuk memulai halaman baru Wikipedia. Anda mungkin perlu juga mengetahui tentang:
- Wiki Markup: Bagaimana menyunting suatu halaman
- Cara pengeditan secara umum FAQ Penyuntingan
- Tips untuk berkontribusi di Wikipedia sebagai saran, petunjuk dan inspirasi umum.
Prinsip umum
- Sangat disarankan untuk memulai halaman dari pranala (link) yang sudah ada. (Ada yang dinamakan "pranala hantu (ghost links)" or "pranala merah (red links)" -- pranala yang telah dibuat pada teks, tetapi belum ada artikel yang menjelaskannya. Lihat keterangan lebih lanjut di bawah.
- Harap diingat untuk menyajikan konteks, yaitu menuliskan pengantar singkat di awal artikel. Janganlah menulis "Ini adalah novel ketiga dari..." -- sementara Anda mungkin telah mengikuti pranala dari novelis tenar X, pembaca lain mungkin tiba di halaman ini dari halaman lain.
- Pelajari konvensi penamaan wikipedia sebelum menamai suatu halaman baru. Penamaan yang benar menjamin halaman Anda akan dikaitkan dengan halaman yang berhubungan, dan membantu menghindari perubahan nama di masa mendatang.
- Mulailah dengan kalimat sempurna (lengkap), dan bukan seperti definisi di kamus. Tonjolkan kalimat atau kata yang menjadi judul di awal artikel (umumnya di kalimat pertama).
PERINGATAN: Jangan memasukkan artikel yang terlalu pendek, tidak ada kaitannya dengan judul, berisi kata-kata kotor, dan tidak memuat cukup informasi. Pelanggar akan diblokir aksesnya.
BAB I PENDAHULUAN
LATAR BELAKANG
Web Service 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.
TUJUAN Tujuan dari penyusunan makalah ini adalah untuk membantu dalam proses pemahaman tentang Web Service :
BATASAN MASALAH Isi makalah yang akan kami buat memiliki beberapa batasan, yaitu : Hanya membahas Pengertian ,Sejarah, Mekanisme Kerja, Pengembangan dan Implikasi Bisnis.
BAB II
Pengertian dan Sejarah
Pengertian
1.1 Apa itu Web Service ?
Web Service Sepenuhnya berdasarkan standard web dan xml
Web Service dapat membantu: Perantara pada integrasi platform sepanjang eksekusi mesin virtual. 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: standarisasi dari info konteks antara web servis dan klien – integrasi servis horizontal).
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.
Middlewear dari Internet.
1.2 Contoh implementasi
General Motors Mengintegrasikan manajemen kebutuhan pada lebih dari 8000 dealer-dealer. Dell XML-based Web Services untuk menjadwalkan penyediaan data pada form yang dapat diproses langsung untuk jaringan penyuplai.
1.3 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 tapi 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 tapi 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 mempengaruhi 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 konkrit atas apa yang terjadi pada kabel (wire) dengan mensketsakan cara penggunaan antarmuka dengan protokol komunikasi khusus. Binding juga mempengaruhi 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, tapi 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.
Gambar 3: Sejarah terbentuknya Web Service
BAB III Mekanisme Kerja
Sebelum memasukki 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 di tempatkan dan bagaimana mencari informasi tambahan tentang apa yang dilakukan web service dengan fleksibel Keuntungan: interoperabilitas, integrasi yang dinamis
2.1 Simple Object Access Protocol (SOAP) SOAP adalah: Jalan untuk program yang berjalan pada suatu OS untuk berkomunikasi dengan program pada OS Yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data.
SOAP menspesifikan secara jelas bagaimana cara untuk meng-encoding header HHTP dan file XML sehingga program pada suatu computer dapat menmanggil program pada pada computer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan response.
SOAP adalah protocol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinsiskan framework pemesanan terekstrensi. Dimana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Framework didesain bebas dari model pemrograman dan spesifikasi implementasi semantik.
gambar 6: Dasar pertukaran pesan SOAP.
Pada gambar diatas dapat dilihat proses pertukaran pesan pada SOAP, mulai dari permintaan layanan hingga Penyedia Layanan menyediakan program.
gambar 7: amplop SOAP
Amplop SOAP menerangkan isi dari grammar XML pada SOAP
1.2 WSDL (Web Services Description Language) Pengertian: WSDL adalah grammar XML yang simple untuk menjabarkan bagaimana cara berkomunikasi dengan web service WSDL mendefinisikan pesan-pesan (baik yang abstract dan kongkrit) yang di kirim ke dan menuju web service WSDL mendefinisikan koleksi-koleksi digital dari pesan-pesan (“port type”, “interface”) WSDL mendefinisikan bagaiman “tipe port” yang ditentukan dijadikan wire protokol WSDL mendefinisikan dimana servis di tempatkan
Web Services Description Language (WSDL) menyediakan sebuah kamus XML untuk menjabarkan detail-detail ini. WSDL digunakan dimana skema XML tidak digunkan lagi dengan menyediakan jalur pesan-pesan group menjadi operasi-operasi dan operasi-operasi menjadi antarmuka. Ini juga menyediakan jalur untuk medefinisikan binding-binding untuk setiap antamuka dan kombinasi protokol sepanjang alamt titik akhir utnuk setaip kalinya. Definisi WSDL yang lengkap terdiri dari seluruh informasi yang dibutuhkan untuk meminta Web service. Pengembang yang mau mempermudah yang lain untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL . WSDL memainkan peranan penting pada seluruh arsitektur Web service semenjak menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL pada arsitektur DCOM). Walaupun teknik-teknik lain untuk menjabarkan Web service ada, WS-I Basic Profile Version 1.0 memandati penggunaan WSDL dan skema XML (lihat gambar 4) untuk menjabarkan Web service. Ini membantu untuk memastikan interoperbilitas pada layer deskripsi service.
Gambar 4: teknologi WS-I Basic Profile 1.0 Karena WSDL adalah mesin yang dapat dibaca(misalnya, ini hanya file XML), tool-tool dan infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pngembang dapat definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan Web service yang menjabrkan. Pembangunan code tipe ini menyembunyikan detail-detail membosankan yang terlibat pada pengiriman dan penrimaan pesan-pesan SOAP pada protokol-protokol yang berbeda-beda dan menyebabkan Web service dapat dicapai oleh massa. Microsoft® .NET Framework menggunakan utilitas command-line bernama wsdl.exe yang mengenerasi kelas-kelas dari definsi WSDL. Wsdl.exe dapat meng-generasi satu kelas untuk menggunakanservice dan yang lainnya untuk mengimplementasikan service.(Apache axis menggunkaan utilitas yang sama bernama WSDL2Java yang melakukan fungsi yang sama pada kelas-kelas java.) Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa pemrograman yang digunakan (Lijhat Gambar 8).
Gambar 8: WSDL dan generasi kode WSDL 1.1 mempertimbangkan standard de-facto saat ini karena dukungan industri yang luas. Kebanyakkan toolkit-toolkit Web service mendukung WSDL 1.1, tapi ada sedikit masalah interoperabilitas pada implementasi berbeda. Kebanyakkanpembangun-pembangun percaya bahwa fleksibilitas yang luas dari WSDL (dan kompleksitas hasil) adalah sumber fundamental dari masalah ini. WS-I telah membantu memecahkan bebrapa dari masalah ini dengan memkasakan pengembang-pengembang untuk menggunakan bagian-bagian tepat dari spesifikasi dan tidak menganjurkan mereka untuk menggunakan yang lainnya. W3C secara aktif bekerja pada versi WSDL “terdaftar” terakhir, WSDL 1.2, tapi saat ini hanya Working Draft dan tidak didukung oleh toolkit-toolkit mainstream, jika ada
Dasar WSDL Definisi WSDL adalah dokumen XML dengan element definisi root dari http://schemas.xmlsoap.org/wsdl/ namespace. Elemen defines-definisi dapat berisis beberapa elemen-elemen lain termasuk tipe-tipe, pesan, portType, binding dan service, semua yang datang dari http://schemas.xmlsoap.org/wsdl/ namespace. Ilustrasi berikut mengilustarsikan srtuktur dari definisi WSDL:
<definitions name="MathService" targetNamespace="http://example.org/math/" xmlns="http://schemas.xmlsoap.org/wsdl/" > <types> ... <message> ... <portType> ... <binding> ... <service> ... </definition>
Melihat bahwa kita harus menspesifikasikan namespace target untuk definsi WSDL, seperti yang akan kita lakukan untuk definsi skema XML. Semua yang anda namai pada definsis WSDL (seperti pesan, portType, binding, dsb.) secara otomatis menjadi bagian dari target namespace definsi WSDL yang didefinsikan oleh atribut targetNamespace, jika kita mereferensikan sesuatu menggunakan nama pada file WSDL, kita harus mengingat nama yang memenuhi aturan. Yang pertama dari tiga elemen (types, message, and portType) adalah seluruh definisi-definisi abstrak dari antarmuka Web Service. Elemen ini mengkonstitusikan antarmuka programatis yang biasa kita antarmukakan pada kode. Dua elemen terakhir (binding and service) menjabarkan detail-detail konkrit bagaimana antarmuka abstrak memetakan pesan pada wire. Detail-detail ini biasanya ditangani oleh infrastruktur, tidak oleh kode aplikasi. Tabel 1 menyediakan definisi-definisi untuk setiap inti elemen-elemen WSDL
Nama Element Deskripsi types Penampung definsi tipe yang abstrak yang didefinisikan menggunkana skema XML message Definisi dari pesan abstrak yang dapat terdiri dari banyak bagian, untuk setiap bagian mungkin dapat berbeda tipe portType Kumpulan abstrak dari operasi yang didukung oleh satu atau lebih titik akhir (biasanya disebut antarmuka); operasi-operasi didefinsikan oleh pertukaran pesan-pesan. binding Protocol konkrit dan spesifikasi format data pada portType service Koleksi titikakhir terhubung, dimana titikakhir didefinsikan sebagai kombinasi dari binding dan alamat (URI) Tabel 1. Elemen WSDL
Gambar 9: Elemen dan spesifikasi WSDL Contoh – contoh: Types
<definitions .... > <types> <xsd:schema .... />* </types> </definitions> ….. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > <types> <xs:schema targetNamespace="http://example.org/math/types/" xmlns="http://example.org/math/types/" > <xs:complexType name="MathInput"> <xs:sequence> <xs:element name="x" type="xs:double"/> <xs:element name="y" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:complexType name="MathOutput"> <xs:sequence> <xs:element name="result" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="Add" type="MathInput"/> <xs:element name="AddResponse" type="MathOutput"/> <xs:element name="Subtract" type="MathInput"/> <xs:element name="SubtractResponse" type="MathOutput"/> <xs:element name="Multiply" type="MathInput"/> <xs:element name="MultiplyResponse" type="MathOutput"/> <xs:element name="Divide" type="MathInput"/> <xs:element name="DivideResponse" type="MathOutput"/> </xs:schema> </types> ... </definitions> ….. Messages <definitions .... > <message name="nmtoken"> * <part name="nmtoken" element="qname"? type="qname"?/> * </message> </definitions> ….. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <message name="AddMessage"> <part name="parameter" element="ns:Add"/> </message> <message name="AddResponseMessage"> <part name="parameter" element="ns:AddResponse"/> </message> <message name="SubtractMessage"> <part name="parameter" element="ns:Subtract"/> </message> <message name="SubtractResponseMessage"> <part name="parameter" element="ns:SubtractResponse"/> </message> ... </definitions> ….. Interfaces (portTypes) <definitions .... > <portType name="nmtoken"> <operation name="nmtoken" .... /> * </portType> </definitions> ….. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <portType name="MathInterface"> <operation name="Add"> <input message="y:AddMessage"/> <output message="y:AddResponseMessage"/> </operation> <operation name="Subtract"> <input message="y:SubtractMessage"/> <output message="y:SubtractResponseMessage"/> </operation> <operation name="Multiply"> <input message="y:MultiplyMessage"/> <output message="y:MultiplyResponseMessage"/> </operation> <operation name="Divide"> <input message="y:DivideMessage"/> <output message="y:DivideResponseMessage"/> </operation> </portType> ... </definitions> Bindings <wsdl:definitions .... > <wsdl:binding name="nmtoken" type="qname"> * <-- extensibility element providing binding details --> * <wsdl:operation name="nmtoken"> * <-- extensibility element for operation details --> * <wsdl:input name="nmtoken"? > ? <-- extensibility element for body details --> </wsdl:input> <wsdl:output name="nmtoken"? > ? <-- extensibility element for body details --> </wsdl:output> <wsdl:fault name="nmtoken"> * <-- extensibility element for body details --> </wsdl:fault> </wsdl:operation> </wsdl:binding> </wsdl:definitions> MathInterface portType: <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> ... <-- extensibility element --> <operation name="Add"> ... <-- extensibility element --> <input> ... <-- extensibility element --> </input> <output> ... <-- extensibility element --> </output> </operation> ... </binding> ... </definitions> MathInterface portType: <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ... </binding> ... </definitions> ….. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > <SOAP-ENV:Body> <m:Add xmlns:m="http://example.org/math/types/"> <x>3.14159265358979</x> <y>3.14159265358979</y> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ….. ... <message name="AddMessage"> <part name="parameter" type="ns:MathInput"/> </message> <message name="AddResponseMessage"> <part name="parameter" type="ns:MathOutput"/> </message> ... <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="encoded"/> </input> <output> <soap:body use="encoded"/> </output> </operation> ... </binding> ….. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://example.org/math/types/" > <SOAP-ENV:Body> <m:Add xmlns:m="http://example.org/math/"> <parameter xsi:type="m0:MathInput"> <x xsi:type="xsd:double">3.14159265358979</x> <y xsi:type="xsd:double">3.14159265358979</y> </parameter> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Services <definitions .... > <service .... > * <port name="nmtoken" binding="qname"> * <-- extensibility element defines address details --> </port> </service> </definitions> ….. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/" > ... <service name="MathService"> <port name="MathEndpoint" binding="y:MathSoapHttpBinding"> <soap:address location="http://localhost/math/math.asmx"/> </port> </service> </definitions> ….. WSDL Editors
Gambar 6. definsi WSDL MathService dibuat dengan XML Spy 5.0 Contoh Grammar XML lengkap : WSDL <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:y="http://example.org/math/" xmlns:ns="http://example.org/math/types/" targetNamespace="http://example.org/math/"> <types> <xs:schema targetNamespace="http://example.org/math/types/" xmlns="http://example.org/math/types/" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xs:complexType name="MathInput"> <xs:sequence> <xs:element name="x" type="xs:double"/> <xs:element name="y" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:complexType name="MathOutput"> <xs:sequence> <xs:element name="result" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="Add" type="MathInput"/> <xs:element name="AddResponse" type="MathOutput"/> <xs:element name="Subtract" type="MathInput"/> <xs:element name="SubtractResponse" type="MathOutput"/> <xs:element name="Multiply" type="MathInput"/> <xs:element name="MultiplyResponse" type="MathOutput"/> <xs:element name="Divide" type="MathInput"/> <xs:element name="DivideResponse" type="MathOutput"/> </xs:schema> </types> <message name="AddMessage"> <part name="parameters" element="ns:Add"/> </message> <message name="AddResponseMessage"> <part name="parameters" element="ns:AddResponse"/> </message> <message name="SubtractMessage"> <part name="parameters" element="ns:Subtract"/> </message> <message name="SubtractResponseMessage"> <part name="parameters" element="ns:SubtractResponse"/> </message> <message name="MultiplyMessage"> <part name="parameters" element="ns:Multiply"/> </message> <message name="MultiplyResponseMessage"> <part name="parameters" element="ns:MultiplyResponse"/> </message> <message name="DivideMessage"> <part name="parameters" element="ns:Divide"/> </message> <message name="DivideResponseMessage"> <part name="parameters" element="ns:DivideResponse"/> </message> <portType name="MathInterface"> <operation name="Add"> <input message="y:AddMessage"/> <output message="y:AddResponseMessage"/> </operation> <operation name="Subtract"> <input message="y:SubtractMessage"/> <output message="y:SubtractResponseMessage"/> </operation> <operation name="Multiply"> <input message="y:MultiplyMessage"/> <output message="y:MultiplyResponseMessage"/> </operation> <operation name="Divide"> <input message="y:DivideMessage"/> <output message="y:DivideResponseMessage"/> </operation> </portType> <binding name="MathSoapHttpBinding" type="y:MathInterface"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Add"> <soap:operation soapAction="http://example.org/math/#Add"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Subtract"> <soap:operation soapAction="http://example.org/math/#Subtract"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Multiply"> <soap:operation soapAction="http://example.org/math/#Multiply"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="Divide"> <soap:operation soapAction="http://example.org/math/#Divide"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="MathService"> <port name="MathEndpoint" binding="y:MathSoapHttpBinding"> <soap:address location="http://localhost/math/math.asmx"/> </port> </service> </definitions>
Gambar 10: WSDL - overview
1.3 UDDI (skema xml)
Kemampuan atribut metadata untuk service-service didaftarkan pada UDDI, dan lalu menjalankan quei-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
Gambar 11: Contoh Skema Server UDDI.
BAB IV 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 – Aplikasikane menjadi server aplikasi Wensphere 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.
Untuk keterangan mengenai toolkit-toolkit untuk pembuatan aplikasi dapat dilihat ilustrasi dibawah ini.
Gambar 12: Toolkit – toolkit Web Services Tahapan pembangunan Web Service pada dua platform dasar yang berbeda yaitu: java: Platform > JVM > servlet, jsp, jdbc, jndi, jms, rmi, corba, EJB, jax package etc. .net Wintel > CLR (common Language Runtime) > System.WebService, ASP.NET, DirectoryServices, System.Messaging, System.Runtime.Remoting, MSXML, SOAP, WSDL etc.
2. Implikasi Bisnis. 2.1 Trend Adopsi Web Service
Gambar 13: Trend adopsi Web Service
Dari gambar diatas dapat diambil kesimpulan bahwa pada saat ini pada umumnya oleh developer Web Service masih dalam tahap Riset.
1.2 Tantangan Terbesar Web Service
Gambar 14: Tantangan Terbesar Web Service
Dari gambar diatas dapat dilihat bahwa saat ini fokus pengembangan Web Service masih pada Nilai Bisnis, jadi salah satu tujuan di buatnya web service sudah tercapai. Sementara itu untuk dukungan vendor masih kecil, ini berarti interoperabilitas yang tinggi masih tetap dipertahankan.
1.3 Platform yang digunakan
Gambar 15: Tantangan Terbesar Web Service
Dari gambar diatas dapat dilihat bahwa oleh developer pengembangan web service dengan menggunakan IBM Websphere lebih digemari saat ini.
BAB V
Kesimpulan
Dari Makalah ini dapat diambil kesimpulan sebagai berikut: Web service adalah teknologi dengan resiko rendah (relatif) yang dapat digunakan untuk mengimplementasikan strategi bisnis bersiko tinggi. Web service berdasarkan middleware OO, XML dan onsep 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
MAKALAH TUGAS BESAR MATA KULIAH PEMROGRAMAN JARINGAN
“WEB SERVICE”
DI SUSUN OLEH :
JULIANUS TATO 613020005
ABRAM DERISKO 613020012
SYAFUAN 613020095 (cupu_bgt@lycos.com)
BAGA GUSDIANA 613020105
REZQY CHANDRA 613030010
MOCH SUPRIADI 613030031
JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI TELKOM BANDUNG 2005