Chapter 5 - Konsep Web Service Registry (UDDI)

Apakah UDDI itu ?



  • 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. yang merupakan insisiatif industri terbuka, oleh Microsoft, IBM 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. Karena UDDI berkomunikasi via SOAP.
  • UDDI adalah layanan direktori dimana perusahaan dapat mendaftar dan mencari layananWeb. Direktori web service interface digambarkan olehWSDL. 
  • UDDITerdiri dari dua bagian:

Direktori seluruh metadata web service termasuk pointer keWSDL-nya,

Direktori yang digunakan aplikasi client untuk menemukanWeb service



Komponen Web Service Atas Peran UDDI 


 Layer 1 : Protokol internet standar seperti HTTP dan TCP/IP. 

Layer 2 : Simple Object Access Protocol (SOAP), adalah sebuah XML-based mark-up language untuk pergantian pesan diantara aplikasi-aplikasi. SOAP berguna seperti sebuah amplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention, dan bagaimana menyatukansebuah messagedidalam protokol transport. 

Layer 3: Web Service Definition Language (WSDL), adalah sebuah XML-based language untuk mendeskripsikan XML. Ia menyediakan service yang mendeskripsikan service request dengan menggunakan protokolprotokol yang berbeda dan juga encoding. Ia akan memfasilitasi komunikasi antar aplikasi. WSDL akan mendeskripsikan apa yang akan dilakukan oleh web service, bagaimana menemukannya dan bagaimana untuk mengoperasikannya.

Layer 4 : Universal Description Discovery and Integration (UDDI), adalah sebuah service registry bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah registry API bagi pendaftaran dan pengenalan service. Ia menyediakan sebuah area umum dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang mereka berikan (web service). UDDI adalah sebuah framework yang mendefinisikan sebuah XML-based registry dimana sebuah organisasi dapat meng-upload informasi mengenai service yang mereka berikan. XML-based registry berisi nama-nama dari organisasi tsb, beserta service dandeskripsidari serviceyang mereka berikan.

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 : 1. White page | 2. Yellow page | 3. 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.

 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:

  1. Memungkinkan untuk menemukan bisnis yang tepat dari jutaan sedang online
  2. Mendefinisikan cara mengaktifkan perdagangan setelah bisnis disukai ditemukan
  3. Menjangkau pelanggan baru dan meningkatkan akses kepelanggan saat ini
  4. Memperluas penawaran dan memperluas jangkauan pasar
  5. 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).

Pada Gambar diatas ,web service provider bertanggung jawab dalam mempublikasi informasi mengenai web services ke dalam registry. Disisi lain, Service Consumer 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.

ArsitekturTeknik UDDI terdiri dari tiga bagian :

  1. UDDI data model : skema XML untuk menggambarkan bisnis dan web service.
  2. UDDI API specification : spesifikasi API untuk mencari dan mempuplikasikan data UDDI
  3. UDDI cloud services : ini adalah situs operator yang menyediakan implementasi spesifikasi UDDI dan mensinkronkan secara periodik. 

Arsitektur Teknik

UDDI Business Registry (UBR), adalah sistem konseptual tunggal dari beberapa node yang memiliki data tersinkronisasi melalui replikasi. UDDI berisi skema XML yang menggambarkan 5 struktur data: business Entity, business Service, bindingTemplate, tModel, publisher Assertion.

Entitas Bisnis 

      Entitas bisnis menyatakan penyedia web services dalam UDDI registry. Informasinya meliputi : nama perusahaan, deskripsi bisnis, informasi kontak, informasi lain. Gambar 3. menunjukkan contoh kasus 

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 4 menunjukkan contoh kasus ini.

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.

 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 dibawah ini diharapkan memperjelas konsep ini.

 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.

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.

 Publisher Assertion 

     Bagian ini menjelaskan hubungan antara dua atau lebih entitas bisnis : bagian, atau departemen. Struktur publisher Assertion terdiri dari tiga elemen: from Key (business Key pertama), toKey (business Key kedua) dan keyedReference. Tag keyed Reference berisi hubungannya. Berikut adalah contohnya :



UDDI Query

     Interface inquiry mendefinisikan 10 Operasi untuk pencarian registry UDDI dan mengambil rincian registrasi khusus:

  1. find_binding: mencari web service yang cocok dengan informasi binding.
  2. find_business : mencari entitas bisnis.
  3. find_ltservice : mencari daftar web service.
  4. find_tModel : mencari tModel.
  5. get_bindingDetail : mendapatkan informasi rinci web service yang sesuai dengan binding.
  6. get_business Detail : mendapatkan rincian entitas bisnis dan web servicenya.
  7. get_business Detail Ext : mendapatkan informasi registrasi entitas bisnis selengkapnya. 
  8. get_serviceDetail: mendapatkan rincian bisnis service.
  9. get_tModelDetail: mendapatkan rincian informasi registrasi sesuai tModel.
  10. find_relatedBusinesses: menemukan bisnis terkait melalui uddiorg:relationships model.

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. 

Spesifikasi 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.

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 :

  • Java Implementasi :Ada dua implementasi UDDI untuk Java.
  1. 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 menyediakanAPI untuk berinteraksi dengan UDDIa.
  2. jUDDI: jUDDI merupakan open source implementasi Java dari registry UDDI dan toolkit untuk mengakses layanan UDDI. 

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

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

       -UDDI4Py :paket Python yang memungkinkan pengiriman permintaan dan pengolahan tanggapan dari UDDIVersi2API. 

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.

Membuat Registry

Setelah memperoleh token otentikasi dari salah satu operator-Microsoft, misalnyapara 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.

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.

Dokumentasi UDDI

Komentar