UDDI - Model Data

UDDI menyertakan skema XML yang menjelaskan struktur data berikut -

  • businessEntity
  • businessService
  • bindingTemplate
  • tModel
  • publisherAssertion

Struktur Data businessEntity

Struktur entitas bisnis mewakili penyedia layanan web. Di dalam registri UDDI, struktur ini berisi informasi tentang perusahaan itu sendiri, termasuk informasi kontak, kategori industri, pengidentifikasi bisnis, dan daftar layanan yang disediakan.

Berikut adalah contoh entri registri UDDI bisnis fiktif -

<businessEntity businessKey = "uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40"
   operator = "http://www.ibm.com" authorizedName = "John Doe">
   <name>Acme Company</name>
   <description>
      We create cool Web services
   </description>
	
   <contacts>	
      <contact useType = "general info">
         <description>General Information</description>
         <personName>John Doe</personName>
         <phone>(123) 123-1234</phone>
         <email>[email protected]</email>
      </contact>		
   </contacts>
	
   <businessServices>
      ...
   </businessServices>
   <identifierBag>	
      <keyedReference tModelKey = "UUID:8609C81E-EE1F-4D5A-B202-3EB13AD01823" 
         name = "D-U-N-S" value = "123456789" />
   </identifierBag>
	
   <categoryBag>	
      <keyedReference tModelKey = "UUID:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2" 
         name = "NAICS" value = "111336" />			
   </categoryBag>		
</businessEntity>

Struktur Data BusinessService

Struktur layanan bisnis mewakili layanan web individu yang disediakan oleh entitas bisnis. Penjelasannya mencakup informasi tentang cara mengikat ke layanan web, jenis layanan web apa, dan kategori taksonomi apa yang dimilikinya.

Berikut adalah contoh struktur layanan bisnis untuk layanan web Hello World.

<businessService serviceKey = "uuid:D6F1B765-BDB3-4837-828D-8284301E5A2A"
   businessKey = "uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40">
   <name>Hello World Web Service</name>
   <description>A friendly Web service</description>
   <bindingTemplates>
      ...
   </bindingTemplates>
   <categoryBag />
</businessService>

Perhatikan penggunaan Universal Unique Identifiers (UUIDs) dalam atribut businessKey dan serviceKey . Setiap entitas bisnis dan layanan bisnis secara unik diidentifikasi di semua registri UDDI melalui UUID yang ditetapkan oleh registri saat informasi pertama kali dimasukkan.

bindingTemplate Data Structure

Template binding adalah deskripsi teknis dari layanan web yang diwakili oleh struktur layanan bisnis. Layanan bisnis tunggal mungkin memiliki beberapa template yang mengikat. Template pengikatan mewakili implementasi aktual dari layanan web.

Berikut adalah contoh template pengikat untuk Hello World.

<bindingTemplate serviceKey = "uuid:D6F1B765-BDB3-4837-828D-8284301E5A2A"
   bindingKey = "uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40">
   <description>Hello World SOAP Binding</description>
   <accessPoint URLType = "http">http://localhost:8080</accessPoint>
   
   <tModelInstanceDetails>
      <tModelInstanceInfo tModelKey = "uuid:EB1B645F-CF2F-491f-811A-4868705F5904">
         <instanceDetails>
            <overviewDoc>
               <description>
                  references the description of the WSDL service definition
               </description>
               
               <overviewURL>
                  http://localhost/helloworld.wsdl
               </overviewURL>
            </overviewDoc>
         </instanceDetails>
      </tModelInstanceInfo>
   </tModelInstanceDetails>
</bindingTemplate>

Karena layanan bisnis mungkin memiliki beberapa template yang mengikat, layanan dapat menentukan implementasi yang berbeda dari layanan yang sama, masing-masing terikat ke kumpulan protokol yang berbeda atau alamat jaringan yang berbeda.

tModel Struktur Data

tModel adalah tipe data inti terakhir, tetapi berpotensi paling sulit dipahami. tModel adalah singkatan dari model teknis.

tModel adalah cara untuk menjelaskan berbagai bisnis, layanan, dan struktur template yang disimpan di dalam registri UDDI. Konsep abstrak apa pun dapat didaftarkan dalam UDDI sebagai tModel. Misalnya, jika Anda mendefinisikan tipe port WSDL baru, Anda dapat mendefinisikan tModel yang mewakili tipe port tersebut dalam UDDI. Kemudian, Anda dapat menentukan bahwa layanan bisnis tertentu mengimplementasikan jenis port tersebut dengan mengaitkan tModel dengan salah satu templat pengikatan layanan bisnis tersebut.

Berikut adalah contoh tModel yang mewakili tipe port Antarmuka Hello World.

<tModel tModelKey = "uuid:xyz987..." operator = "http://www.ibm.com" 
   authorizedName = "John Doe">
   <name>HelloWorldInterface Port Type</name>
   <description>
      An interface for a friendly Web service
   </description>
	
   <overviewDoc>
      <overviewURL>
         http://localhost/helloworld.wsdl
      </overviewURL>
   </overviewDoc>
</tModel>

publisherAssertion Data Structure

Ini adalah struktur hubungan yang menempatkan dua atau lebih struktur businessEntity ke dalam asosiasi menurut jenis hubungan tertentu, seperti anak perusahaan atau departemen.

Struktur publisherAssertion terdiri dari tiga elemen: fromKey (businessKey pertama), toKey (kedua businessKey), dan keyedReference.

KeyedReference menunjukkan jenis hubungan yang ditegaskan dalam hal pasangan keyValue keyName dalam tModel, yang secara unik direferensikan oleh tModelKey.

<element name = "publisherAssertion" type = "uddi:publisherAssertion" />
<complexType name = "publisherAssertion">
   <sequence>
      <element ref = "uddi:fromKey" />
      <element ref = "uddi:toKey" />
      <element ref = "uddi:keyedReference" />
   </sequence>
</complexType>