UUDI

Specifikace UDDI (Universal Description, Discovery, and Integration) je definicí webové služby (Web service) založené na SOAP protokolu, tato služba slouží pro vyhledávání webových služeb a programových prostředků na síti. UDDI tak poskytuje vývojářům a administrátorům základnu k okamžitému sdílení informací o službách uvnitř podnikové sítě i veřejných službách na internetu.

Protokolové vrstvy webových služeb

Intranet, extranet nebo internet tvoří fyzickou vrstvu sítě a také základnu pro spojení mezi aplikací využívající služeb UDDI a registrem UDDI. Sítí jsou informace předávány s použitím protokolů http a https (vrstva nad fyzickou vrstvou), informace je tvořena XML textem vnořeným do SOAP zprávy (nad vrstvou tvořenou protokoly http a https). Vrstvu nad SOAP tvoří kombinace UDDI a WSDL (Web Service Description Language), která umožňuje aplikaci publikovat a vyhledávat definice požadovaných webových služeb. Nad vrstvou tvořenou UDDI/WSDL je buď registr UDDI či aplikace, která publikuje nebo využívá informace o webových službách z registrů UDDI. Registry UDDI mohou být privátní registry na intranetu, sdílené registry na extranetu nebo veřejné registry na internetu. Následující schéma ukazuje protokolové vrstvy webových služeb pro komunikaci s registry UDDI.

Obr.1 Protokolové vrstvy webových služeb

Publikování webových služeb s UDDI

Poskytovatel webových služeb zpřístupňuje vybranou funkcionalitu aplikace tak, aby ji mohli ostatní vývojáři sdílet, pokud se poskytovatel rozhodne webovou službu publikovat pomocí registrů UDDI, celý proces nejčastěji probíhá v následujících krocích: vytvoření funkcionality, napsání SOAP zprávy „obalující“ danou funkcionalitu, vytvoření popisu WSDL a instalace webové služby na server.

Vyhledávání webových služeb pomocí UDDI

Uživatelé webových služeb vyhledávají stanovenou funkcionalitu, kterou poskytuje jiná aplikace. To probíhá v následujících krocích: nalezení požadované funkcionality webové služby na intranetu, extranetu či internetu, získání popisu WSDL pomocí informace nalezené na UDDI serveru, vytvoření klientské aplikace využívající SOAP zprávy, spuštění klientské aplikace, která se připojí k dané webové službě.

UDDI datový model a zprávy

Specifikace UDDI popisují obsah UDDI serveru a zprávy používané pro komunikaci se serverem. Popis v další části textu se bude týkat specifikací UDDI verze 2.0, které zahrnují specifikaci datové struktury, která definuje obsah UDDI registru, a API specifikaci, která definuje zprávy zasílané do a z registrů.

Obsah registrů

Business Entity – podnik, podnikové oddělení, organizace, organizační složka, osoba, počítač nebo aplikace nabízející jednu či více webových služeb

Business Service – skupina webových služeb vzájemně spadajících pod určitý podnikový proces nebo kategorii služeb

Binding Template – informace nezbytná ke spuštění webové služby

Technical Mode – metadata sloužící k přístupu ke specifikacím o typu služby, informace či kategorizaci

Publisher Assertion – vztah mezi dvěma jednotkami Business Entity

Jednotka Business Entity může obsahovat žádnou nebo několik jednotek Business Service, které mohou obsahovat žádnou či více jednotek Binding Template. Jednotka Biding Template se může vztahovat k jedné či více jednotkám Technical Mode, a Publisher Assertion se vztahuje ke dvěma jednotkám Business Entity.

Zprávy

Následující typy zpráv lze zasílat do a z registrů:

zprávy typu Inquiry – slouží k hledání potenciálně použitelných objektů a k získání detailních informací o daných objektech

zprávy typu Publishing – vytvářejí a udržují obsah registrů

zprávy typu Response – poskytují výsledky vyhledávání

Všechny typy zpráv se dále dělí do několika podtypů, v závislosti na funkčních charakteristikách.

Následující schéma popisuje celkový konceptuální model UUDI včetně obsahu registrů, zpráv do registrů zasílaných a odpovědí, které registry vracejí:

Obr.2 Konceptuální model UDDI

Společné přístupové body (Common Access Points)

Servery na kterých je spuštěna služba UDDI používají následující přístupové body:

Účel Přístupový bod
InquireURL http://servername/uddi/inquire.asmx
PublishURL https://servername/uddi/publish.asmx

Datový model

V následující části je popsán datový model UDDI, který používají servery, na kterých běží služba UDDI.

Obr.3 Celkový datový model

Třída businessEntity obsahuje tyto prvky a vlastnosti:

Název Typ Popis
businessKey vlastnost jedinečný identifikátor dané Business Entity
operator vlastnost UDDI server spravuje řídící kopii dané Business Entity
authorizedName vlastnost jméno osoby, která danou Business Entity publikovala
discoveryURLs prvek URL odkazující na další informace o dané Business Entity
name prvek název dané Business Entity
description prvek krátký popis
contacts prvek kontaktní informace
businessServices prvek jednotky businessService poskytované danou Business Entity
identifierBag prvek prvky keyedReference sloužící jako identifikátor dané Business Entity
categoryBag prvek prvky keyedReference sloužící jako informace o kategorii dané Business Entity

Třída businessService obsahuje tyto prvky a vlastnosti:

Název Typ Popis
serviceKey vlastnost jedinečný identifikátor dané jednotky Business Service
businessKey vlastnost jedinečný identifikátor rodičovské Business Entity
name prvek název
description prvek krátký popis
bindingTemplates prvek prvky bindingTemplate které popisují daný Business Service
categoryBag prvek prvky keyedReference které slouží jako informace o kategorii dané jednotky Business Service

Třída bindingTemplate obsahuje tyto prvky a vlastnosti:

Název Typ Popis
serviceKey vlastnost jedinečný identifikátor rodičovské jednotky Business Service
bindingKey vlastnost jedinečný identifikátor pro daný bindingKey prvek
description prvek krátký popis
accessPoint prvek adresa vstupního bodu pro volání dané webové služby
hostingRedirector prvek přesměrování na jiný prvek Binding Template
tModelInstanceDetails prvek prvky tModelInstanceInfo které se vztahují k příslušným technickým modelům

Třída tModel obsahuje tyto prvky a vlastnosti:

Název Typ Popis
tModelKey vlastnost jedinečný identifikátor daného technického modelu
operator vlastnost stránky UDDI registrů, kde je spravován řídící kopie daného řídícího modelu
authorizedName vlastnost jméno osoby, která publikovala daný technický model
name prvek název technického modelu
description prvek krátký popis technického modelu
overviewDoc prvek Metadata popisující souhrnné informace o daném technickém modelu
identifierBag prvek prvky keyedReference sloužící jako identifikátor daného technického modelu
categoryBag prvek prvky keyedReference které slouží jako informace o kategorii daného technického modelu

Třída publisherAssertion obsahuje tyto prvky a vlastnosti:

Název Typ Popis
fromKey prvek Identifikátor první jednotky Business Element v daném vztahu
toKey prvek Identifikátor druhé jednotky Business Element v daném vztahu
keyedReference prvek Typ vztahu

Zprávy

Když klientské aplikace objeví informaci o webových službách, tak posílají do UDDI registrů zprávy typu Inquiry, pokud klientské aplikace registrují informace o webových službách, posílají zprávy typu Publishing. Jako odpověď na oba druhy zpráv odesílá webová služba zprávu typu Reponse.

Zprávy typu Inquiry:

Uživatelé webových služeb využívají zpráv typu Inquiry k vyžádání informací z UDDI registrů. Existují dva druhy zpráv tohoto typu:

find_xxx

vyžádá od UDDI serveru informace požadovaného druhu – např.zpráva find_business vyhledá informace o určité business entity

get_xxx

vrátí od UDDI serveru vyčerpávající informace o typu informací specifikovaném klíčem key, který generují UDDI registry – např.zpráva get_businessDetail vrací informace o registrovaných business entitách

Zprávy typu Publishing:

poskytovatelé webových služeb využívají tento typ informací k zpřístupnění informací o webových službách v UDDI registrech. Existuje šest zpráv tohoto typu:

add_xxx

slouží k přidání určité informace do UDDI registrů – např.add_publisherAssertion

delete_xxx

slouží k výmazu určité informace z UDDI registrů – např.delete_business

discard_xxx

slouží k odložení určité informace získané z UDDI registrů – např.discard_authToken

get_xxx

slouží k různých typů informací o registračním proceu UDDI registrů – např.get_authToken

save_xxx

slouží k přidání nebo úpravě registračních informací v registrech – např.save_business

set_xxx

slouží k nastavení informací v registrech – např.set_publisherAssertion

Zprávy typu Response:

Zprávy typu Response poskytují výsledky zprávám typu Inquiry a Publishing, které jsou zaslány do UDDI registrů. Existuje šest zpráv tohoto typu:

xxxAssertions

obsahuje informaci o všech vztazích dané entity – např.publisherAssertion

xxxDetail

obsahuje informaci o detailní informace o daném typu informací – např.businesDetail

xxxList

obsahuje zkrácenou informaci o daném typu informací – např.serviceList

xxxInfo

obsahuje zkrácenou informaci o dané entitě – např.registeredInfo – zkrácené informace o všech registrovaných business entitách a technickém modelu řízeném danou entitou

xxxReport

obsahuje status právě probíhajícího procesu v registrech – např.assertionStatusReport

xxxToken

např.authToken – autentizační informace pro následující zprávy, které je potřebují

odkazy:

www.uddi.org

http://uddi.microsoft.com/