Specifikace Technologie UDDI definuje způsob publikování a zjišťování informací o webových službách. UDDI má dvě funkce: (1) - jde o protokol založený na SOAP, který definuje způsob, jakým klienti UDDI komunikují s registry, a (2) - jde o konkrétní sadu globálně replikovaných registrů.
Registrace služby zahrnuje čtyři hlavní typy datové struktury:
Další informace o datových typech UDDI viz související odkazová témata na konci tohoto tématu.
Jazyk WSDL (Web Services Description Language) je standardní specifikace založená na XML, která je určena pro popisování webových služeb. WSDL definuje formát XML pro popisování síťových služeb jako sadu koncových bodů, které operují na zprávách obsahujících informace orientované na dokument nebo proceduru.
Popis služby WSDL může být strukturován různými způsoby. Nicméně jako pomoc při publikování a vyhledávání popisů služeb WSDL v registru UDDI jsou dokumenty WSDL tvořeny dvěma hlavními částmi:
Při vytváření webových služeb pomocí běhového prostředí Apache Axis vytváří nástroje webových služeb jeden dokument WSDL při generování webových služeb z objektů Java™ bean nebo EJB. Tento dokument WSDL obsahuje rozhraní služby i dokumenty implementace.
Rozhraní služby je popsáno v dokumentu WSDL, který obsahuje typy, prvky importu, zprávy, typy portů a prvky vazeb. Rozhraní služby obsahuje definici služby WSDL, která bude použita k implementaci jedné nebo více služeb. Jde o abstraktní definici webové služby, která se používá k popisování specifického typu služby. Tento dokument se může odkazovat na jiný dokument rozhraní služby s použitím prvku importu. Nástroje webových služeb v tomto produktu generují dokument rozhraní služby, který obsahuje pouze prvky zpráv a typu portu, na které odkazuje dokument vazby obsahující pouze vazby pro typ portu.
Dokument implementace služby obsahuje prvky služeb. Dokument implementace služby obsahuje popis služby, která implementuje rozhraní služby. Alespoň jeden z prvků importu bude obsahovat odkaz na dokument rozhraní služby WSDL; nicméně importy nemají monolitický WSDL, jako například ten vytvořený s použitím běhového prostředí Axis. Dokument implementace služby může obsahovat odkazy na více než jeden dokument rozhraní služby.
Poskytovatel služby hostí webovou službu a povoluje ji pomocí protokolů, jako např. SOAP/HTTP a SOAP/JMS. Webová služba je popsána pomocí dokumentů WSDL, které jsou uloženy na serveru poskytovatele nebo ve zvláštním úložišti. Na dokumenty WSDL odkazují obchodní služby UDDI (dokumenty služeb) a datové typy tModels (dokumenty vazeb). Tyto ukazatele umožňují zjišťování webových služeb osobou požadující služby.
Obrázek 1. Vztah mezi UDDI a WSDL.
Obrázek 1 znázorňuje vztah mezi UDDI a WSDL. Prvek služby WSDL odkazuje na prvek vazby WSDL. Adresa URL dokumentu obsahujícího prvek vazby WSDL je publikována v registru UDDI Business Registry jako datový typ tModel. Adresa URL dokumentu obsahujícího prvek služby WSDL je publikována v registru UDDI Business Registry jako obchodní služba businessService a obsahuje informace o šabloně bindingTemplate. Podrobnější informace o typech datové struktury registru UDDI viz sekce souvisejících odkazů na konci tohoto dokumentu. Uvědomte si, že část diagramu náležející importu je volitelná a závisí na běhovém prostředí; importy nemají monolitický WSDL, jako například ten vytvořený s použitím běhového prostředí Axis.
Implementace služby popisuje instanci služby. Instance je definována pomocí prvku služby WSDL. Prvek služby v dokumentu implementace služby se používá pro publikování obchodní služby businessService UDDI. Při publikování popisu služby WSDL musí být rozhraní služby publikováno jako datový typ tModel dříve, než je implementace služby publikována jako obchodní služba businessService.
Implementace služby je publikována v registru UDDI jako součást obchodní služby businessService s jedním nebo více prvky bindingTemplate. Obchodní služba je publikována poskytovatelem služby. Je vytvořena nová obchodní služba pro prvek služby, který je definován v dokumentu implementace služby. Je vytvořen nový prvek bindingTemplate v rámci prvku businessService pro každý prvek portu, který je definován v prvku služby.
Další informace o vztahu mezi WSDL a UDDI viz uddi.org/bestpractices.html.