La specifica UDDI (Universal Description, Discovery, and Integration) definisce una modalità di pubblicazione e rilevamento delle informazioni per i servizi Web. L'UDDI ha due funzioni: (1) è un protocollo basato su SOAP che definisce la modalità di comunicazione tra client UDDI e registri e (2) è un insieme di registri replicati globalmente.
La registrazione di un registro riguarda quattro tipi di strutture di dati principali:
Per ulteriori informazioni sui tipi di dati UDDI, consultare la sezione riferimenti correlati al termine di questo documento.
WSDL (Web Services Description Language) è una specifica standard basata su XML per la descrizione dei servizi Web. WSDL definisce un formato XML per la descrizione dei servizi di rete come insieme di endpoint che operano sui messaggi che contengono informazioni orientate ai documenti o alle procedure.
La descrizione del servizio WSDL può essere strutturata in diversi modi. Tuttavia, per semplificare il processo di pubblicazione e di individuazione delle descrizioni dei servizi WSDL in un registro UDDI, i documenti WSDL sono formati da due parti principali:
When creating Web services with the Apache Axis run-time environment, the Web services tools create a single WSDL document when generating Web services from Java™ beans or EJBs. Questo documento WSDL contiene i documenti interfaccia di servizio e implementazione.
Le interfacce di servizio vengono descritte da un documento WSDL che contiene i tipi, l'importazione, il messaggio, il portType e gli elementi di binding. Le interfacce di servizio contengono la definizione del servizio WSDL che verrà utilizzata per implementare uno o più servizi. Si tratta di una definizione astratta di un servizio Web e viene utilizzata per descrivere un tipo specifico di servizio. Questo documento può fare riferimento ad un altro documento interfaccia di servizio mediante un elemento di importazione. Gli strumenti dei servizi Web in questo prodotto, generano un documento interfaccia di servizio che contiene solo gli elementi messaggio e portType indicati come riferimento dal documento di binding che contiene solo i binding per portType.
Il documento implementazione del servizio, contiene gli elementi del servizio e una descrizione del servizio che implementa un'interfaccia di servizio. Almeno uno degli elementi di importazione conterrà un riferimento al documento interfaccia di servizio WSDL; tuttavia i WSDL monolitici, come quello creato utilizzando gli ambienti di runtime Axis, non dispongono di importazioni. I documenti implementazione del servizio possono contenere riferimenti a più di un documento interfaccia di servizio.
I fornitori dei servizi ospitano i servizi Web e li rendono accessibili attraverso protocolli come SOAP/HTTP e SOAP/JMS. Il servizio Web viene descritto dai documenti WSDL archiviati sul server del fornitore in un repository speciale. I documenti WSDL vengono indicati come riferimento dai servizi business UDDI (documenti di servizio) e da tModels (documenti di binding). Questi puntatori consentono ai richiedenti dei servizi di rilevare un servizio Web.
Figura 1. Relazione tra UDDI e WSDL.
La figura 1 mostra la relazione tra UDDI e WSDL. L'elemento servizio WSDL far riferimento all'elemento di binding WSDL. L'URL del documento che contiene l'elemento di binding WSDL viene pubblicato nel registro business UDDI come un tModel. L'URL del documento contenente l'elemento servizio WSDL viene pubblicato nel registro business UDDI come un businessService e contiene informazioni sul bindingTemplate. Per ulteriori informazioni sui tipi di struttura di dati del registro UDDI, consultare la sezione riferimenti correlati al termine di questo documento. Osservare che la parte di importazione del diagramma è facoltativa e dipende dall'ambiente di runtime; i WSDL monolitici, come quello creato utilizzando gli ambienti di runtime Axis, non dispongono di importazioni.
L'implementazione del servizio descrive l'istanza di un servizio. L'istanza è definita utilizzando un elemento di servizio WSDL. L'elemento di servizio nel documento di implementazione è utilizzato per pubblicare un businessService UDDI. Quando si pubblica una descrizione di servizio WSDL, è necessario pubblicare un interfaccia di servizio come tModel prima che l'implementazione del servizio venga pubblicata come businessService.
L'implementazione del servizio viene pubblicata in un registro UDDI come parte di un businessService con uno o più elementi bindingTemplate. Il businessService viene pubblicato dal fornitore del servizio. Viene creato un nuovo businessService per l'elemento di servizio definito nel documento di implementazione. Viene creato un nuovo elemento bindingTemplate con un businessService per ciascun elemento porta definito nell'elemento di servizio.
Per ulteriori informazioni sulla relazione tra WSDL e UDDI fare riferimento al documento uddi.org/bestpractices.html.