(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 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. 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). 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.
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
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.
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.
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 :
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.
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 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 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.
Contoh ini menggambarkan pesan SOAP meminta untuk mendaftarkan badan usaha UDDI untuk SXYZ Company. Elemen kunci kosong karena operator secara otomatis 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.
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.
11. Kesimpulan
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). POST /get_businessDetail HTTP/1.1 Host: www.XYZ.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "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>
3. Ada lima struktur data dalam skema XML UDDI : businessEntity, businessService, bindingTemplate, tModel, publisherAssertion 4. Disediakan beragam query untuk mendapatkan data dari UDDI registry.