UDDI - Hızlı Kılavuz

UDDI, web hizmetlerini açıklamak, yayınlamak ve bulmak için XML tabanlı bir standarttır.

  • UDDI, Universal Description, Discovery, and Integration.

  • UDDI, web hizmetlerinin dağıtılmış bir kaydı için bir belirtimdir.

  • UDDI, platformdan bağımsız, açık bir çerçevedir.

  • UDDI, SOAP, CORBA, Java RMI Protokolü aracılığıyla iletişim kurabilir.

  • UDDI, web servislerine arayüzleri açıklamak için Web Servis Tanımlama Dili (WSDL) kullanır.

  • UDDI, SOAP ve WSDL ile birlikte web hizmetlerinin üç temel standardından biri olarak görülmektedir.

  • UDDI, işletmelerin birbirlerini keşfetmelerine ve İnternet üzerinden nasıl etkileşim kuracaklarını tanımlamalarına olanak tanıyan açık bir endüstri girişimidir.

UDDI'nin iki bölümü vardır -

  • Bir hizmetin WSDL açıklamasına bir işaretçi dahil, tüm web hizmetinin meta verilerinin bir kaydı.

  • Bu kayıt defterini değiştirmek ve aramak için bir dizi WSDL bağlantı noktası türü tanımı.

UDDI Tarihçesi

  • UDDI 1.0, ilk olarak Microsoft, IBM ve Ariba tarafından Eylül 2000'de duyuruldu.

  • İlk duyurudan bu yana, UDDI girişimi Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP ve Sun dahil 300'den fazla şirketi kapsayacak şekilde büyüdü.

  • Mayıs 2001'de, Microsoft ve IBM ilk UDDI operatör sitelerini başlattılar ve UDDI kayıt defterini yayınladılar.

  • Haziran 2001'de UDDI, Sürüm 2.0'ı duyurdu.

  • Bu öğreticiyi yazarken, Microsoft ve IBM siteleri 1.0 spesifikasyonunu uygulamıştı ve yakın gelecekte 2.0 desteği planlıyorlardı.

  • Şu anda UDDI, OASIS tarafından desteklenmektedir.

Partner Arayüz İşlemleri

Ortak Arayüz İşlemleri (PIP'ler), iki ticari ortağın veri alışverişi yapmasını sağlayan XML tabanlı arayüzlerdir. Düzinelerce PIP zaten mevcut. Bazıları burada listelenmiştir -

  • PIP2A2 - Bir iş ortağının ürün bilgileri için başka bir iş ortağını sorgulamasını sağlar.

  • PIP3A2 - Bir iş ortağının, belirli ürünlerin fiyatını ve stok durumunu sorgulamasını sağlar.

  • PIP3A4 - Bir iş ortağının elektronik bir satın alma siparişi göndermesine ve siparişin onayını almasına olanak tanır.

  • PIP3A3 - Bir ortağın bir elektronik alışveriş sepetinin içeriğini aktarmasını sağlar.

  • PIP3B4 - Bir ortağın, belirli bir gönderinin durumunu sorgulamasını sağlar.

Özel UDDI Kayıtları

İnternette bulunan umumi federe UDDI kayıt ağını kullanmaya alternatif olarak, şirketler veya endüstri grupları kendi özel UDDI kayıtlarını uygulamayı seçebilirler.

Bu ayrıcalıklı hizmetler, yalnızca şirket veya endüstri grubu üyelerinin hizmetleri kendi aralarında paylaşmasına ve reklamını yapmasına izin vermek amacıyla tasarlanmıştır.

UDDI kayıt defterinin küresel birleşik ağın bir parçası veya özel sektöre ait ve işletilen bir kayıt defteri olup olmadığına bakılmaksızın, hepsini birbirine bağlayan şey, UDDI kayıt defterinde reklamı yapılan iş ve hizmetleri yayınlamak ve bulmak için ortak bir web hizmetleri API'sidir.

Bir işletme veya bir şirket, üç tür bilgiyi bir UDDI siciline kaydedebilir. Bu bilgi UDDI'nin üç unsurunda yer almaktadır.

Bu üç unsur -

  • Beyaz sayfalar,
  • Sarı Sayfalar ve
  • Yeşil Sayfalar.

Beyaz sayfalar

Beyaz sayfalarda -

  • Şirket ve işi hakkında temel bilgiler.

  • İşletme adı, adresi, iletişim telefon numarası vb. Dahil temel iletişim bilgileri.

  • Şirket vergi numaraları için benzersiz tanımlayıcılar. Bu bilgiler, başkalarının iş kimliğinize göre web hizmetinizi keşfetmesine olanak tanır.

Sarı sayfalar

  • Sarı sayfalar şirket hakkında daha fazla ayrıntı içerir. Şirketin onunla iş yapmak isteyen herkese sunabileceği elektronik yetenek türlerinin açıklamalarını içerirler.

  • Sarı sayfalar, şirketlerin listelerde arama yapmasını ve tam olarak istediklerini bulmasını kolaylaştırmak için yaygın olarak kabul edilen endüstriyel kategori şemalarını, endüstri kodlarını, ürün kodlarını, işletme tanımlama kodlarını ve benzerlerini kullanır.

Yeşil Sayfalar

Yeşil sayfalar, bir web hizmeti hakkında teknik bilgiler içerir. Yeşil sayfa, bir kişinin bulunduktan sonra bir Web hizmetine bağlanmasına olanak tanır. İçerir -

  • Çeşitli arayüzler
  • URL yerleri
  • Web hizmetini bulmak ve çalıştırmak için gereken keşif bilgileri ve benzer veriler.

NOTE- UDDI, SOAP'a dayalı web servislerini tanımlamakla sınırlı değildir. Bunun yerine UDDI, tek bir web sayfasından veya e-posta adresinden SOAP, CORBA ve Java RMI hizmetlerine kadar herhangi bir hizmeti tanımlamak için kullanılabilir.

UDDI teknik mimarisi üç bölümden oluşur -

UDDI Veri Modeli

UDDI Veri Modeli, işletmeleri ve web hizmetlerini açıklamak için bir XML Şemasıdır. Veri modeli, "UDDI Veri Modeli" bölümünde ayrıntılı olarak açıklanmıştır.

UDDI API Spesifikasyonu

UDDI verilerini aramak ve yayınlamak için bir API spesifikasyonudur.

UDDI Bulut Hizmetleri

Bunlar, UDDI spesifikasyonunun uygulamalarını sağlayan ve tüm verileri planlı bir şekilde senkronize eden operatör siteleridir.

Public Cloud olarak da bilinen UDDI Business Registry (UBR), verilerinin replikasyon yoluyla senkronize edildiği birden çok düğümden oluşturulan kavramsal olarak tek bir sistemdir.

Mevcut bulut hizmetleri, mantıksal olarak merkezileştirilmiş, ancak fiziksel olarak dağıtılmış bir dizin sağlar. Bu, bir kök düğüme gönderilen verilerin diğer tüm kök düğümler arasında otomatik olarak kopyalanacağı anlamına gelir. Şu anda, veri çoğaltma her 24 saatte bir yapılmaktadır.

UDDI bulut hizmetleri şu anda Microsoft ve IBM tarafından sağlanmaktadır. Ariba başlangıçta bir operatör de sunmayı planlamıştı, ancak o zamandan beri taahhütten geri adım attı. Yakın gelecekte Hewlett-Packard dahil diğer şirketlerden ek operatörler planlanmaktadır.

Özel UDDI kayıtlarının kurulması da mümkündür. Örneğin, büyük bir şirket, tüm dahili web hizmetlerini kaydetmek için kendi özel UDDI kaydını oluşturabilir. Bu kayıtlar, kök UDDI düğümleriyle otomatik olarak senkronize edilmediğinden, UDDI bulutunun bir parçası olarak kabul edilmezler.

UDDI, aşağıdaki veri yapılarını açıklayan bir XML Şeması içerir -

  • businessEntity
  • businessService
  • bindingTemplate
  • tModel
  • publisherAssertion

businessEntity Veri Yapısı

Ticari işletme yapısı, web hizmetleri sağlayıcısını temsil eder. UDDI sicilinde bu yapı, iletişim bilgileri, sektör kategorileri, iş tanımlayıcıları ve sağlanan hizmetlerin listesi dahil olmak üzere şirketin kendisi hakkında bilgiler içerir.

İşte hayali bir işletmenin UDDI kayıt defteri girdisine bir örnek:

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

businessService Veri Yapısı

İş hizmeti yapısı, ticari işletme tarafından sağlanan bireysel bir web hizmetini temsil eder. Açıklaması, web hizmetine nasıl bağlanılacağı, ne tür web hizmeti olduğu ve hangi taksonomik kategorilere ait olduğu hakkında bilgiler içerir.

Aşağıda, Hello World web hizmeti için bir iş hizmeti yapısı örneği verilmiştir.

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

BusinessKey ve serviceKey özniteliklerinde Evrensel Benzersiz Tanımlayıcıların (UUID'ler) kullanımına dikkat edin . Her ticari işletme ve işletme hizmeti, bilgi ilk girildiğinde kayıt defteri tarafından atanan UUID aracılığıyla tüm UDDI kayıtlarında benzersiz bir şekilde tanımlanır.

bindingTemplate Veri Yapısı

Bağlayıcı şablonlar, iş hizmet yapısı tarafından temsil edilen web hizmetlerinin teknik açıklamalarıdır. Tek bir iş hizmetinin birden çok bağlama şablonu olabilir. Bağlama şablonu, web hizmetinin gerçek uygulamasını temsil eder.

İşte Hello World için bir bağlama şablonu örneği.

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

Bir iş hizmeti birden fazla bağlanma şablonuna sahip olabileceğinden, hizmet aynı hizmetin her biri farklı bir protokol setine veya farklı bir ağ adresine bağlı olan farklı uygulamalarını belirtebilir.

tModel Veri Yapısı

tModel, son çekirdek veri türüdür, ancak muhtemelen kavranması en zor olanıdır. tModel, teknik model anlamına gelir.

tModel, UDDI kayıt defterinde depolanan çeşitli iş, hizmet ve şablon yapılarını açıklamanın bir yoludur. Herhangi bir soyut kavram, UDDI içinde bir tModel olarak kaydedilebilir. Örneğin, yeni bir WSDL bağlantı noktası türü tanımlarsanız, UDDI içinde bu bağlantı noktası türünü temsil eden bir tModel tanımlayabilirsiniz. Ardından, tModel'i bu iş hizmetinin bağlama şablonlarından biriyle ilişkilendirerek belirli bir iş hizmetinin bu bağlantı noktası türünü uyguladığını belirtebilirsiniz.

Burada, Hello World Arayüzü bağlantı noktası türünü temsil eden bir tModel örneği verilmiştir.

<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 Veri Yapısı

Bu, bağlı kuruluş veya departman gibi belirli bir ilişki türüne göre iki veya daha fazla businessEntity yapısını ilişkilendiren bir ilişki yapısıdır.

PublisherAssertion yapısı üç öğeden oluşur: fromKey (ilk businessKey), toKey (ikinci businessKey) ve keyedReference.

KeyedReference, tModelKey tarafından benzersiz şekilde başvurulan bir tModel içindeki bir keyName keyValue çifti cinsinden iddia edilen ilişki türünü belirtir.

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

Bir kayıt defteri, ona erişmenin bir yolu olmadan işe yaramaz. UDDI standart sürüm 2.0, hizmet tüketicilerinin ve hizmet sağlayıcıların kayıt defteri ile etkileşim kurması için iki arabirim belirler.

Tüketicilerin kullandığı hizmet Inquiry Interface bir servis bulmak için ve servis sağlayıcılar şunu kullanır: Publisher Interface bir hizmeti listelemek için.

UDDI arayüzünün özü, UDDI XML Şeması tanımlarıdır. Bunlar, tüm bilgilerin aktığı temel UDDI veri türlerini tanımlar.

Yayıncı Arayüzü

Yayıncı Arayüzü, UDDI kayıt defterindeki girişlerini yöneten bir hizmet sağlayıcı için on altı işlemi tanımlar -

  • get_authToken- Bir yetkilendirme jetonu alır. Yayıncı arayüz işlemlerinin tümü, istekle birlikte geçerli bir yetkilendirme jetonunun gönderilmesini gerektirir.

  • discard_authToken- UDDI kayıt defterine belirli bir yetkilendirme belirtecini artık kabul etmemesini söyler. Bu adım, sistemden çıkış yapmaya eşdeğerdir.

  • save_business - UDDI kayıt defterinde bulunan bir ticari kuruluşun bilgilerini oluşturur veya günceller.

  • save_service - Bir ticari işletmenin sağladığı web hizmetleri hakkında bilgi oluşturur veya günceller.

  • save_binding - Bir web hizmetinin uygulanmasıyla ilgili teknik bilgileri oluşturur veya günceller.

  • save_tModel - UDDI kayıt defteri tarafından yönetilen soyut kavramların kaydını oluşturur veya günceller.

  • delete_business - Verilen ticari varlıkları UDDI kayıt defterinden tamamen kaldırır.

  • delete_service - Verilen web hizmetlerini UDDI kayıt defterinden tamamen kaldırır.

  • delete_binding - Verilen web hizmetleri teknik ayrıntılarını UDDI kayıt defterinden kaldırır.

  • delete_tModel - Belirtilen tModel'leri UDDI kayıt defterinden kaldırır.

  • get_registeredInfo - Tüm işletmeler, tüm hizmetler ve tüm tModeller dahil olmak üzere, UDDI kaydının şu anda kullanıcı için takip ettiği her şeyin bir özetini döndürür.

  • set_publisherAssertions - Tek bir yayıncı hesabıyla ilişkili izlenen tüm ilişki iddialarını yönetir.

  • add_publisherAssertions - Bir veya daha fazla publisherAssertions'ın bağımsız bir yayıncının onay koleksiyonuna eklenmesine neden olur.

  • delete_publisherAssertions - Bir veya daha fazla publisherAssertion öğesinin bir yayıncının onay koleksiyonundan kaldırılmasına neden olur.

  • get_assertionStatusReport - Bireysel yayıncı hesabı tarafından yönetilen iş kayıtlarından herhangi birini içeren mevcut ve bekleyen yayıncı iddialarının durumunu belirlemek için idari destek sağlar.

  • get_publisherAssertions - Bireysel bir yayıncı hesabıyla ilişkili tüm yayıncı iddialarını alır.

Sorgulama Arayüzü

Sorgu arayüzü, UDDI kayıt defterinde arama yapmak ve belirli kayıtlarla ilgili ayrıntıları almak için on işlemi tanımlar -

  • find_binding - Teknik bağlayıcı bilgiler temelinde belirli bir kriter kümesiyle eşleşen web hizmetlerinin bir listesini döndürür.

  • find_business - Belirli bir ölçüt kümesiyle eşleşen işletme varlıklarının bir listesini döndürür.

  • find_ltservice - Belirli bir ölçüt kümesiyle eşleşen web hizmetlerinin bir listesini döndürür.

  • find_tModel - Belirli bir kriter kümesiyle eşleşen tModellerin bir listesini döndürür.

  • get_bindingDetail - Belirli bir web hizmeti bağlama şablonu için tam kayıt bilgilerini döndürür.

  • get_businessDetail - Bir işletmenin sağladığı tüm hizmetler dahil olmak üzere bir ticari kuruluş için kayıt bilgilerini döndürür.

  • get_businessDetailExt - Bir ticari kuruluş için tam kayıt bilgilerini döndürür.

  • get_serviceDetail - Bir web hizmeti için tam kayıt bilgilerini döndürür.

  • get_tModelDetail - Bir tModel için tam kayıt bilgilerini döndürür.

  • find_relatedBusinesses - uddi-org: ilişki modeli aracılığıyla ilişkili olan işletmeleri keşfeder.

XYZ'nin iletişim bilgilerini, hizmet açıklamasını ve çevrimiçi hizmet erişim bilgilerini UDDI'ye kaydettirmek istediği bir şirket düşünün. Aşağıdaki adımlar gereklidir -

  • Birlikte çalışacağınız bir operatör seçin. Her operatörün kendi kayıt defteri kopyasına erişim yetkisi vermek için farklı hüküm ve koşulları vardır.

  • Operatörler tarafından sağlananlar gibi bir UDDI istemcisi oluşturun veya elde edin.

  • Operatörden bir kimlik doğrulama jetonu alın.

  • İşletmeyle ilgili bilgileri kaydedin. Eşleşme arayanlara yardımcı olabilecek kadar çok bilgi ekleyin.

  • Kimlik doğrulama jetonunu serbest bırakın.

  • Bağlayıcı şablon bilgileri de dahil olmak üzere bilgilerin alınmasını test etmek için sorgulama API'lerini kullanın ve bu bilgileri alan birinin hizmetinizle etkileşimde başarılı bir şekilde kullanabilmesini sağlayın.

  • Birinin belirli bir hizmeti aramak ve hizmet sağlayıcılardan biri olarak işletmenizi bulmak istemesi durumunda tModel bilgilerini doldurun.

  • Değişen iş irtibat bilgilerini ve yeni hizmet ayrıntılarını yansıtmak için bilgileri gerektiği gibi güncelleyin, her seferinde operatörden yeni bir kimlik doğrulama jetonu alıp yayınlayın. Kaydettiğiniz verileri güncellemeniz veya değiştirmeniz gerektiğinde, verileri girdiğiniz operatöre geri dönmeniz gerekir.

Aşağıdaki örnekler, XYZ Şirketinin bilgilerini nasıl kaydedeceğini ve XYZ'nin ürün serisini taşımakla ilgilenen bir distribütörün XYZ.com Web hizmetlerini kullanarak şirketle nasıl iletişime geçip sipariş verebileceği hakkında nasıl bilgi bulabileceğini gösterecektir.

Kayıt Oluşturma

Microsoft operatörlerinden birinden bir kimlik doğrulama belirteci aldıktan sonra, örneğin XYZ.com geliştiricileri kayıt defterinde hangi bilgilerin yayınlanacağına karar verir ve Microsoft tarafından sağlanan UDDI araçlarından birini kullanır. Gerekirse, geliştiriciler uygun SOAP mesajlarını oluşturmak için bir Java, C # veya VB.NET programı da yazabilirler. İşte bir örnek.

POST /save_business HTTP/1.1
Host: www.XYZ.com
Content-Type: text/xml; charset = "utf-8"
Content-Length: nnnn
SOAPAction: "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>

Bu örnek, XYZ Şirketi için bir UDDI ticari varlığını kaydettirmeyi talep eden bir SOAP mesajını göstermektedir. Anahtar eleman boştur, çünkü operatör veri yapısı için UUID anahtarını otomatik olarak üretir. Basit bir örnek gösterme adına çoğu alan ihmal edilmiştir.

XYZ şirketi, bir işletme varlığı oluşturmak için gereken temel bilgileri eklemek için her zaman başka bir işletme kaydetme işlemi yürütebilir.

Bilgi Almak

XYZ Şirketi, UDDI girişini ilgili bilgilerle güncelledikten sonra, XYZ dağıtıcısı olmak isteyen şirketler, UDDI kayıt defterinde iletişim bilgilerini arayabilir ve XYZ.com'un çevrimiçi olarak yayınladığı iki Web hizmetinin hizmet açıklamalarını ve erişim noktalarını edinebilir. sipariş girişi: sezon öncesi toplu siparişler ve sezon içi stok yenileme siparişleri.

Bu örnek, XYZ Şirketi hakkında ticari ayrıntı bilgileri elde etmek için örnek bir SOAP talebini göstermektedir. Kayıtlı belirli bir işletme için UUID'yi veya anahtarını öğrendikten sonra, o işletme hakkında belirli bilgileri döndürmek için bunu get_businessDetail API'sinde kullanabilirsiniz.

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>

UDDI veri modeli, bir işletme ve yayınladığı web hizmetleri hakkındaki bilgileri depolamak için genel bir yapı tanımlar. UDDI veri modeli, birkaç tekrar eden dizi bilgi yapısı dahil olmak üzere tamamen genişletilebilir.

Bununla birlikte, WSDL, bir web hizmetinin arayüzünü tanımlamak için kullanılır. WSDL'nin UDDI ile kullanımı oldukça basittir.

  • WSDL, businessService, bindingTemplate ve tModel bilgilerinin bir kombinasyonu kullanılarak UDDI'da temsil edilir .

  • UDDI'da kayıtlı herhangi bir hizmette olduğu gibi, hizmetle ilgili genel bilgiler businessService veri yapısında depolanır ve hizmete nasıl ve nereden erişildiğine özgü bilgiler bir veya daha fazla ilişkili bağlama Şablonu yapısında depolanır . Her bir bindingTemplate yapısı, hizmetin ağ adresini içeren ve bununla hizmeti tanımlayan ve benzersiz şekilde tanımlayan bir veya daha fazla tModel yapısı içeren bir öğe içerir .

  • UDDI mağaza WSDL bilgileri veya WSDL dosyaları işaretçiler için kullanıldığında, tModel tipi olarak Kongre tarafından sevk edilmelidir wsdlSpec yani overviewDoc elemanı açıkça WSDL hizmet arayüzü tanımına işaret olarak tanımlanır.

  • UDDI için WSDL içeriği, arayüz dosyası ve uygulama dosyası olmak üzere iki ana öğeye ayrılmıştır.

Hertz rezervasyon sistemi web hizmeti, UDDI ve WSDL'nin birlikte nasıl çalıştığına dair somut bir örnek sağlar. İşte bu web hizmeti için <tModel> -

<tModel authorizedName = "..." operator = "..." tModelKey = "...">
   <name>HertzReserveService</name>
   <description xml:lang = "en">
      WSDL description of the Hertz reservation service interface
   </description>
	
   <overviewDoc>
      <description xml:lang = "en">
         WSDL source document.
      </description>
      <overviewURL>
         http://mach3.ebphost.net/wsdl/hertz_reserve.wsdl
      </overviewURL>
   </overviewDoc>
   
   <categoryBag>
      <keyedReference tModelKey = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
         keyName = "uddi-org:types" keyValue = "wsdlSpec"/>
   </categoryBag>	
</tModel>

Kilit noktalar:

  • OverviewURL öğesi, hizmet arabirimi tanımı WSDL dosyasının bulunabileceği URL'yi verir. Bu, insanların ve UDDI / WSDL duyarlı araçların hizmet arabirimi tanımını bulmasını sağlar.

  • CategoryBag'deki keyedReference öğesinin amacı, bu tModel'in bir WSDL belirtim belgesi olarak kategorize edildiğinden emin olmaktır.

Şu anda bir dizi UDDI uygulaması mevcuttur. Bu uygulamalar, UDDI API'nin karmaşıklığına takılmadan UDDI verilerini aramayı veya yayınlamayı kolaylaştırır. İşte mevcut ana UDDI uygulamalarının kısa bir özeti.

Java Uygulamaları

Java için iki UDDI uygulaması vardır.

  • UDDI4J (Java için UDDI) - UDDI4J, ilk olarak IBM tarafından oluşturulmuştur. Ocak 2001'de IBM, kodu kendi açık kaynak sitesine devretti. UDDI4J, bir UDDI ile etkileşim için bir API sağlayan bir Java sınıf kitaplığıdır.

  • jUDDI - jUDDI, bir UDDI kayıt defterinin açık kaynaklı bir Java uygulaması ve UDDI hizmetlerine erişim için bir araç setidir.

Perl Uygulaması

  • UDDI::Lite - Sorgulama ve yayınlama için temel bir UDDI istemcisi sağlar.

Ruby Uygulaması

  • UDDI4r - Sorgulama ve yayınlama için temel bir UDDI istemcisi sağlar.

Python Uygulaması

  • UDDI4Py - UDDI4Py, UDDI Sürüm 2 API'lerine isteklerin gönderilmesine ve bunlardan yanıtların işlenmesine izin veren bir Python paketidir.

UDDI projesi ayrıca çeşitli spesifikasyon API'leri tarafından kullanılan veri formatlarını açıklayan bir dizi XML Şeması tanımını tanımlar. Bu belgelerin tümü www.uddi.org adresinden indirilebilir . Tüm özellik gruplarının güncel sürümü Sürüm 2.0'dır.

Spesifikasyonlar aşağıdakileri içerir -

  • UDDI Çoğaltma,
  • UDDI Operatörleri,
  • UDDI Programmer'ın API'si ve
  • UDDI Veri Yapıları

UDDI Çoğaltma

Bu belge, bir kayıt operatörünün siteler arasında veri çoğaltmasını sağlamak için uyması gereken veri çoğaltma süreçlerini ve arabirimlerini açıklamaktadır. Bu belirtim, bir programcının API'si değildir; UBR düğümleri arasında kullanılan çoğaltma mekanizmasını tanımlar.

UDDI Operatörleri

Bu belge, UDDI düğüm operatörlerinin gerektirdiği davranış ve operasyonel parametreleri ana hatlarıyla açıklamaktadır. Bu belirtim, operatörlerin uyması gereken veri yönetimi gereksinimlerini tanımlar.

UDDI Programmer'ın API'si

Bu belirtim, tüm UDDI kayıtlarının bir kayıt defterinde barındırılan hizmetler hakkında bilgi almak ve bir işletme veya hizmet hakkındaki bilgileri bir kayıt defterinde yayınlamak için desteklediği bir dizi işlevi tanımlar. Bu belirtim, bir UDDI kayıt defterinin kabul ettiği, ayrıştırdığı ve yanıtladığı XML belgelerini içeren bir dizi SOAP mesajını tanımlar. Bu belirtim, UDDI XML API şeması ve UDDI Veri Yapısı belirtimi ile birlikte bir UDDI kayıt defteri için eksiksiz bir programlama arabirimi oluşturur.

UDDI Veri Yapıları

Bu belirtim, UDDI Programcısının API'si tarafından tanımlanan SOAP mesajlarında bulunan XML yapılarının özelliklerini kapsar. Bu belirtim, beş temel veri yapısını ve bunların birbirleriyle ilişkilerini tanımlar.

UDDI XML API şeması bir belirtimde yer almaz; bunun yerine, UDDI veri yapılarının yapısını ve veri türlerini tanımlayan bir XML Şema belgesi olarak depolanır.

Bu öğreticide UDDI ve öğeleri ve ayrıca UDDI'nin tam mimarisini ve veri modelini gördük.

İki UDDI arayüzünü öğrendik: Yayıncı Arayüzü ve Sorgulama Arayüzü. Ayrıca, UDDI ile web hizmetlerine nasıl kaydolacağımızı ve arama yapacağımızı da öğrendik.

Sıradaki ne?

Sonraki adım, SOAP, WSDL ve Web Hizmetleri hakkında bilgi edinmektir.

SABUN

SOAP, uygulamaların HTTP üzerinden bilgi alışverişi yapmasına izin veren basit bir XML tabanlı protokoldür.

SABUN hakkında daha fazla bilgi edinmek istiyorsanız, lütfen SABUN öğreticimizi ziyaret edin .

WSDL

WSDL, bir web hizmetini XML biçiminde açıklamak için kullanılan standart biçimdir.

WSDL, UDDI'nin ayrılmaz bir parçasıdır.

WSDL hakkında daha fazla bilgi edinmek istiyorsanız, lütfen WSDL Eğitimimizi ziyaret edin .

Ağ hizmetleri

Web servisleri uygulamalarınızı web uygulamalarına dönüştürebilir.

Web hizmetleri hakkında daha fazla bilgi edinmek istiyorsanız, lütfen Web Hizmetleri eğitimimizi ziyaret edin .

İşte UDDI Sorgulama API'lerinin ve UDDI Yayınlama API'lerinin tam referansı.

UDDI Sorgulama API'leri

API Adı Açıklama V1.0 V2.0
find_binding Belirli bir hizmetle ilişkili şablon bağlamalarını arar. Y Y
find_business Belirtilen kriterlere uyan işletmeyi arar. Y Y
find_relatedBusinesses Uddi-org: ilişki modeli aracılığıyla ilişkilendirilen işleri keşfeder. Y
bul_service Belirli bir işletmeyle ilişkili hizmeti arar. Y Y
find_tModel Belirtilen kriterlere uyan tModel kayıtlarını arar. Y Y
get_bindingDetail Belirtilen her bir bağlamaKey için tam bağlamaTemplate alır. Y Y
get_businessDetail Belirtilen her bir businessKey için tam businessEntity'yi alır. Y Y
get_businessDetailExt Belirtilen her bir businessKey için genişletilmiş businessEntity'yi alır. Y Y
get_serviceDetail Belirtilen her bir serviceKey için businessService kaydını alır. Y Y
get_tModelDetail Belirtilen her tModelKey için tModel kaydını alır. Y Y

UDDI Yayınlama API'leri

API Adı Açıklama V1.0 V2.0
get_authToken Bir yetkilendirme jetonu alır. Yayıncı arayüz işlemlerinin tümü, istekle birlikte geçerli bir yetkilendirme jetonunun gönderilmesini gerektirir. Y Y
discard_authToken UDDI kayıt defterine belirli bir yetki belirtecini artık kabul etmemesini söyler. Bu adım, sistemden çıkış yapmaya eşdeğerdir. Y Y
save_business Bir ticari işletmenin UDDI kayıt defterinde bulunan bilgilerini oluşturur veya günceller. Y Y
save_service Bir ticari işletmenin sağladığı web hizmetleri hakkında bilgi oluşturur veya günceller. Y Y
save_binding Bir web hizmetinin uygulanmasıyla ilgili teknik bilgileri oluşturur veya günceller. Y Y
save_tModel UDDI kayıt defteri tarafından yönetilen soyut kavramların kaydını oluşturur veya günceller. Y Y
delete_business Verilen ticari varlıkları UDDI kayıt defterinden tamamen kaldırır. Y Y
delete_service Verilen web hizmetlerini UDDI kayıt defterinden tamamen kaldırır. Y Y
delete_binding Verilen web hizmeti teknik ayrıntılarını UDDI kayıt defterinden kaldırır. Y Y
delete_tModel Belirtilen tModel'leri UDDI kayıt defterinden kaldırır. Y Y
get_registeredInfo Tüm işletmeler, tüm hizmetler ve tüm tModeller dahil olmak üzere, UDDI kaydının şu anda kullanıcı için izlediği her şeyin bir özetini döndürür. Y Y
set_publisherAssertions Tek bir yayıncı hesabıyla ilişkili tüm izlenen ilişki iddialarını yönetir. Y
add_publisherAssertions Tek bir yayıncının onay koleksiyonuna bir veya daha fazla publisherAssertions eklenmesine neden olur. Y
delete_publisherAssertions Bir veya daha fazla publisherAssertion öğesinin bir yayıncının onay koleksiyonundan kaldırılmasına neden olur. Y
get_assertionStatusReport Bireysel yayıncı hesabı tarafından yönetilen iş kayıtlarından herhangi birini içeren mevcut ve bekleyen yayıncı iddialarının durumunun belirlenmesi için idari destek sağlar. Y
get_publisherAssertions Bireysel bir yayıncı hesabıyla ilişkilendirilmiş tüm yayıncı iddialarını alır. Y

Hata Kodu Referansı

UDDI API'leri tarafından döndürülen hata kodlarının eksiksiz bir referansı verildiği gibidir -

Hata Kodları