19
UDDI Protocol (Universal Description, Discovery and Integration Protocol) Mata Kuliah : Perangkat Lunak Aplikasi Web Dosen : Dr. Mohammad Iqbal Disusun Oleh : Alfred Nugraha Ardi Adma Stiven Marrent Viqih Ayudya Zulfikar Akbar 43 PLSI Magister Perangkat Lunak Sistem Informasi

UDDI

Embed Size (px)

DESCRIPTION

UDDI

Citation preview

Page 1: UDDI

UDDI Protocol

(Universal Description, Discovery and Integration Protocol)

Mata Kuliah : Perangkat Lunak Aplikasi Web

Dosen : Dr. Mohammad Iqbal

Disusun Oleh :

Alfred Nugraha

Ardi Adma

Stiven Marrent

Viqih Ayudya

Zulfikar Akbar

43 PLSI

Magister Perangkat Lunak Sistem Informasi

Universitas Gunadarma

Jakarta

2014

Page 2: UDDI

1. Pendahuluan

UDDI, singkatan dari Universal Description, Discovery and Integration (UDDI) Protocol,

adalah standar berbasis XML untuk menggambarkan, mempublikasikan dan menemukan Web

service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah registry API

bagi pendaftaran dan pengenalan service. UDDI adalah teknologi yang didukung oleh OASIS

(Organization for the Advancement of Structured Information Standards), berbasis XML dan

platform-independent. UDDI merupakan insisiatif industri terbuka, oleh Microsoft, IBM, Ariba,

dan sebagainya, yang memungkinkan pelaku bisnis saling menemukan satu dengan yang lain dan

mendefinisikan bagaimana mereka berinteraksi melalui internet.

UDDI bebas platform, merupakan kerangka kerja terbuka, dapat berkomunikasi melalui

SOAP, CORBA, dan protocol RMI Java. UDDI menggunakan WSDL untuk menggambarkan

interface ke web service. Bersama SOAP dan WSDL merupakan tiga fondasi standar web

service. UDDI terdiri dari dua bagian:

direktori seluruh metadata web service termasuk pointer ke WSDL-nya

direktori yang digunakan aplikasi client untuk menemukan Web service.

2. Tipe Informasi UDDI

Perusahaan dapat mendaftarkan dirinya ke dalam tiga tipe informasi dalam UDDI

registry. Informasi ini dimasukkan dalam tiga elemen UDDI. Tiga elemen itu adalah :

- white page

- yellow page

- green page.

Kategori “white page” berisi : informasi dasar tentang perusahaan dan bisnisnya,

informasi kontak bisnis : nama bisnis, alamat, nomor telpon, NPWP, dsb. Informasi ini penting

bagi pihak lain yang ingin tahu bisnis perusahaan tersebut.

Kategori “yellow page” berisi : rincian lebih lanjut tentang perusahaan, termasuk

kemampuan e-commerce. Di sini digunakan skema kategorisasi industri, kode industri, kode

produk, kode identifikasi bisnis. Informasi ini memudahkan customer mencari produk yang

mereka ingingkan.

Page 3: UDDI

Kategori “green pages” berisi informasi teknik tentang web service: lokasi URL,

informasi “discovery” dan data terkait untuk menemukan dan menjalankan Web Service juga

beberapa informasi tidak terkait secara langsung dengan web service , antara lain alamat email,

ftp, telepon, dll.

Jadi, UDDI tidak hanya dibatasi untuk menggambarkan web service berdasarkan SOAP.

Lebih daripada itu UDDI dapat digunakan untuk menggambarkan beragam service, dari sebuah

halaman web atau alamat email, hingga SOAP, CORBA, dan servis Java RMI.

3. Manfaat UDDI

Setiap industry atau bisnis dari semua ukuran bisa mendapatkan keuntungan dari UDDI.

Sebelum UDDI, tidak ada standar Internet bagi perusahaan untuk menjangkau pelanggan dan

mitra mereka dengan informasi tentang produk dan layanan mereka. Juga tidak ada metode

bagaimana mengintegrasikan ke dalam sistem dan proses masing-masing. Masalah spesifikasi

UDDI dapat membantu untuk memecahkan:

- Memungkinkan untuk menemukan bisnis yang tepat dari jutaan sedang online

- Mendefinisikan cara mengaktifkan perdagangan setelah bisnis disukai ditemukan

- Menjangkau pelanggan baru dan meningkatkan akses kepelanggan saat ini

- Memperluas penawarandan memperluasjangkauan pasar

- Memecahkan kebutuhan pelanggan - driven untuk menghilangkan hambatan untuk

memungkinkan partisipasi yang cepat dalam ekonomi Internet global

- Menggambarkan layanan dan proses bisnis pemrograman dalam satu, terbuka, dan aman

lingkungan

UDDI merupakan file XML Schema yang mendefinisikan struktur data mengenai

karakteristik bisnis dan service. Deskripsi service didefinisikan menggunakan dokumen Type

Model ( tModel ). Secara umum UDDI berisi informasi mengenai siapa yang menyediakan

service (business Entity), Service apa yang disediakan (business Service), dimana lokasi service

tersedia (binding Template), referensi mengenai informasi bagaimana service tersebut diperoleh

(tModel).

Page 4: UDDI

4. Arsitektur Teknik

Gambar 1.1. Cara Kerja UDDI (Kenn Scribner dan Mark C. Stiver, 2001)

Pada Gambar 1.1, service provider bertanggung jawab dalam mempublikasi informasi

mengenai web services ke dalam registry. Di sisi lain, Service requestor dapat melakukan

permintaan kepada registry untuk mencari service yang sesuai dengan kebutuhannya. Kemudian,

setelah service tersebut sudah terletak di dalam registry, service requestor dapat terhubung

dengan service dan sudah dapat digunakan.

Arsitektur Teknik UDDI terdiri dari tiga bagian :

UDDI data model : skema XML untuk menggambarkan bisnis dan web service.

UDDI API specification : spesifikasi API untuk mencari dan mempuplikasikan data

UDDI

UDDI cloud services : ini adalah situs operator yang menyediakan implementasi

spesifikasi UDDI dan mensinkronkan secara periodik.

Page 5: UDDI

Gambar 1.2. Arsitektur Teknis UDDI

UDDI Business Registry (UBR), adalah sistem konseptual tunggal dari beberapa node

yang memiliki data tersinkronisasi melalui replikasi. UDDI berisi skema XML yang

menggambarkan lima struktur data: businessEntity businessService bindingTemplate tModel

publisherAssertion

4.1. Entitas Bisnis

Entitas bisnis menyatakan penyedia web services dalam UDDI registry. Informasinya

meliputi : nama perusahaan, deskripsi bisnis, informasi kontak, informasi lain. Gambar 1.3.

menunjukkan contoh kasus.

Gambar 1.3. Contoh Entitas Bisnis UDDI

Page 6: UDDI

4.2. Business Service

Disini disimpan semua web service yang disediakan entitas bisnis. Berisi informasi :

bagaimana menemukan web service, apa tipe web servicenya, termasuk kategori taxonomi yang

mana. Gambar 1.4 menunjukkan contoh kasus ini.

Gambar 1.4. Business Service dalam UDDI

Perhatikan penggunaan Universally Unique Identifiers (UUIDs) dalam atribut

businessKey dan serviceKey. Setiap entitas bisnis dan business service diidentifikasi unik dalam

seluruh registry UDDI melalui UUID yang diberikan registry ketika informasi pertama kali

dimasukkan.

4.3. Binding Template

Pada bagian ini disimpan informasi teknis bagaimana service dapat diakses. Terkait Web

Service ada alamat Web Service dan parameter. Tidak terkait Web Service ada E-mail, FTP,

CORBA, Telephone. Suatu service mungkin memiliki beberapa binding, kaitan (misalnya web

service binding, telephone binding). Gambar 1.5 diharapkan memperjelas konsep ini.

Page 7: UDDI

Gambar 1.5. Binding Template dalam UDDI

Business service boleh memiliki beberapa binding templates. Service boleh menyatakan

implementasi berbeda dari service yang sama, masing-masing dikaitkan dengan sekumpulan

protokol atau alamat jaringan yang berbeda.

5. tModel

Tidak ada hubungan eksplisit antara UDDI dan WSDL. Binding template berisi access

point tetapi belum ada informasi bagaimana cara memakainya (misalnya tipe data yang

diharapkan). tModel (Technical Model) menghubungkan deskripsi interface dengan suatu

binding. Beberapa binding boleh merujuk interface yang sama. Mirip dengan industri

penerbangan mendefinisikan interface standar pemesanan tiket, maskapai penerbangan

menerapkan interface ini.

Page 8: UDDI

Gambar 1.6. tModel dalam UDDI

6. Publisher Assertion

Bagian ini menjelaskan hubungan antara dua atau lebih entitas bisnis : bagian, atau

departemen. Struktur publisherAssertion terdiri dari tiga elemen: fromKey (businessKey

pertama), toKey (businessKey kedua) dan keyedReference. Tag keyedReference berisi

hubungannya. Berikut adalah contohnya :

<element name="publisherAssertion" type="uddi:publisherAssertion" />

<complexType name="publisherAssertion">

<sequence>

<element ref="uddi:fromKey" />

<element ref="uddi:toKey" />

<element ref="uddi:keyedReference" />

</sequence>

</complexType>

Page 9: UDDI

7. UDDI Query

Interface inquiry mendefinisikan sepuluh operasi untuk pencarian registry UDDI dan

mengambil rincian registrasi khusus:

find_binding: mencari web service yang cocok dengan informasi binding.

find_business: mencari entitas bisnis.

find_ltservice: mencari daftar web service.

find_tModel: mencari tModel.

get_bindingDetail: mendapatkan informasi rinci web service yang sesuai dengan binding.

get_businessDetail: mendapatkan rincian entitas bisnis dan web servicenya.

get_businessDetailExt: mendapatkan informasi registrasi entitas bisnis selengkapnya.

get_serviceDetail: mendapatkan rincian bisnis service.

get_tModelDetail: mendapatkan rincian informasi registrasi sesuai tModel.

find_relatedBusinesses: menemukan bisnis terkait melalui uddi-org:relationships model.

8. Implementasi UDDI

Sejumlah implementasi UDDI yang tersedia saat ini. Implementasi ini memudahkan

untuk mencari atau mempublikasikan data UDDI, tanpa terperosok dalam kompleksitas UDDI

API. Berikut adalah sinopsis singkat dari implementasi UDDI utama yang tersedia.

JavaImplementasi:

Ada dua implementasi UDDI untuk Java.

UDDI4J ( UDDI untuk Java): UDDI4J awalnya diciptakan oleh IBM. Pada Januari 2001,

IBM diserahkan kode ke situs open source sendiri. UDDI4J adalah kelas perpustakaan

Java yang menyediakan API untuk berinteraksi dengan UDDIa.

jUDDI: jUDDI merupakan open source implementasi Java dari registry UDDI dan toolkit

untuk mengakses layanan UDDI.

Page 10: UDDI

Implementasi Perl:

- UDDI::Lite: menyediakan klien UDDI dasar untuk penyelidikan dan penerbitan.

Implementasi Ruby:

- UDDI4r: menyediakan klien UDDI dasar untuk penyelidikan dan penerbitan.

Implementasi Python:

- UDDI4Py: UDDI4Py adalah paket Python yang memungkinkan pengiriman permintaan dan

pengolahan tanggapan dari UDDIVersi2API.

9. Spesifikasi UDDI

UDDI Replication:

Dokumen ini menjelaskan proses replikasi data dan interface yang operator registry harus

sesuai untuk mencapai replikasi data antara situs. Spesifikasi ini bukan programmer API;

mendefinisikan mekanis mereplikasi yang digunakan antara node UBR.

UDDI Operator:

Dokumen ini menguraikan perilaku dan parameter operasional yang dibutuhkan oleh

UDDI operator simpul. Spesifikasi ini mendefinisikan persyaratan pengelolaan data yang

operator harus patuhi.

UDDI Programmer API:

Spesifikasi ini mendefinisikan satu set fungsi yang mendukung semua pendaftar UDDI

untuk bertanya tentang layanan host di registry dan untuk mempublikasikan informasi tentang

bisnis atau layanan ke registry. Spesifikasi ini mendefinisikan serangkaian pesan SOAP yang

berisi dokumen XML bahwa registry UDDI menerima, mem-parsing, dan merespon. Spesifikasi

Page 11: UDDI

ini, bersama dengan UDDI skema XMLAPI dan Struktur spesifikasi UDDI Data, membuat

sebuah antarmuka pemrograman lengkap untuk registry UDDI.

UDDI Struktur Data:

Spesifikasi ini mencakup spesifik dari struktur XML yang terkandung dalam pesan

SOAP didefinisikan oleh UDDI Programmer API. Spesifikasi ini mendefinisikan lima struktur

data inti dan hubungan mereka satu sama lain. The UDDI XML API skema tidak terkandung

dalam spesifikasi; melainkan disimpan sebagai dokumen XML Schemayang mendefinisikan

struktur dan tipe data dari struktur data UDDI

10. Contoh Penggunaan UDDI

Pertimbangkan sebuah perusahaan XYZ ingin mendaftarkan informasinya kontak,

deskripsi layanan, dan akses informasi layanan online dengan UDDI. Langkah-langkah berikut

diperlukan:

1. Pilih operator yang dapat digunakan untuk bekerja. Setiap operator memiliki syarat dan

kondisi untuk otorisasi akses ke replikanya registry yang berbeda.

2. Membangun atau mendapatkan klien UDDI, seperti yang disediakan oleh operator.

3. Mendapatkan token otentikasi dari operator.

4. Daftar informasi tentang bisnis. Sertakan informasi sebanyak mungkin bisa membantu untuk

mereka yang mencari pertandingan.

5. Lepaskan token otentikasi.

6. Gunakan API penyelidikan untuk menguji pengambilan informasi, termasuk informasi

template yang mengikat, untuk memastikan bahwa seseorang yang memperoleh dapat digunakan

dengan sukses untuk berinteraksi dengan layanan Anda.

7. Isi informasi TModel dalam kasus seseorang ingin mencari layanan yang diberikan dan bisnis

Anda sebagai salah satu penyedia layanan menemukan.

8. Memperbarui informasi yang diperlukan untuk mencerminkan perubahan informasi kontak

bisnis dan rincian layanan baru, memperoleh dan melepaskan token otentikasi baru dari operator

Page 12: UDDI

setiap kali. Setiap kali Anda perlu memperbarui atau mengubah data yang sudah terdaftar,Anda

harus kembali ke operator dengan yang Anda masukkan data.

Berikut ini contoh bagaimana XYZ Perusahaan akan mendaftarkan informasi dan

bagaimana distributor tertarik untuk membawa lini produk XYZ mungkin menemukan informasi

tentang cara menghubungi perusahaan dan melakukan pemesanan, menggunakan layanan Web

XYZ.com.

10.1 Membuat Registry:

Setelah memperoleh token otentikasi dari salah satu operator-Microsoft, misalnya-para

pengembang XYZ.com memutuskan informasi apa yang harus mempublikasikan ke registri dan

menggunakan salah satu alat yang UDDI disediakan oleh Microsoft. Jika perlu, para

pengembang juga dapat menulis Java, C#, atau VB.NET program untuk menghasilkan pesan

SOAP yang tepat. Berikut adalah contoh.

POST /save_business HTTP/1.1Host: www.XYZ.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "save_business"<?xml version="1.0" encoding="UTF-8" ?><Envelope xmlns="http://schemas/xmlsoap.org/soap/envelope/"><Body><save_business generic="2.0" xmlns="urn:uddi-org:api_v2"><businessKey=""></businessKey><name> XYZ, Pvt Ltd.</name><description> Company is involved in giving Stat-of-the-art....</description><identifierBag> ... </identifierBag> ...</save_business></Body></Envelope>

Contoh ini menggambarkan pesan SOAP meminta untuk mendaftarkan badan usaha

UDDI untuk SXYZ Company. Elemen kunci kosong karena operator secara otomatis

Page 13: UDDI

menghasilkan kunci UUID untuk struktur data. Sebagian besar bidang dihilangkan demi

menunjukkan contoh sederhana. Perusahaan XYZ selalu dapat mengeksekusi operasi

save_business lain untuk menambah informasi dasar yang dibutuhkan untuk membuat sebuah

entitas bisnis.

10.2 Pengambilan Informasi:

Setelah XYZ Perusahaan telah memperbarui entri UDDI dengan informasi yang relevan,

perusahaan yang ingin menjadi distributor XYZ dapat melihat informasi kontak dalam UDDI

registry dan memperoleh deskripsil ayanan dan jalur akses untuk dua layanan Web yang

XYZ.com menerbitkan secara online memesan entry: pesanan-pesanan missal dan dalam musim

perintah restocking.

Contoh ini menggambarkan permintaan SOAP sampel untuk mendapatkan informasi

detail tentang bisnis XYZ Company. Setelah Anda mengetahui UUID, atau kunci,untuk bisnis

yang spesifik yang telah terdaftar, Anda dapat menggunakannya di get_businessDetail API untuk

kembali informasi spesifik tentang bisnis itu.

POST /get_businessDetail HTTP/1.1Host: www.XYZ.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "get_businessDetail"<?xml version="1.0" encoding="UTF-8" ?><Envelope xmlns="http://schemas/xmlsoap.org/soap/envelope/"><Body><get_businessDetail generic="2.0" xmlns="urn:uddi-org:api_v2"><businessKey="C90D731D-772HSH-4130-9DE3-5303371170C2"></businessKey></get_businessDetail></Body></Envelope>

11. Kesimpulan

Page 14: UDDI

1. UDDI digunakan untuk mendaftarkan web service ke UDDI registry.

2. Ada tiga tipe informasi dapat disimpan dalam UDDI registri : white yellow (entitas bisnis),

yellow page (business service), dan green page (web service).

3. Ada lima struktur data dalam skema XML UDDI : businessEntity, businessService,

bindingTemplate, tModel, publisherAssertion

4. Disediakan beragam query untuk mendapatkan data dari UDDI registry.