Relacionamento entre UDDI e WSDL

A especificação UDDI (Descrição, Descoberta e Integração Universais) define uma maneira de publicar e descobrir informações sobre serviços da Web. O UDDI tem duas funções: (1) é um protocolo baseado em SOAP que define como clientes UDDI se comunicam com registros; e (2), é um conjunto específico de registros replicados globalmente.

O registro de um serviço envolve quatro tipos críticos de estrutura de dados:

Para obter mais informações sobre os tipos de dados UDDI, consulte os tópicos da referência relacionada no final deste tópico.

WSDL (Linguagem de Descrição de Serviços da Web) é uma especificação padrão baseada em XML para descrição de serviços da Web. O WSDL define um formato XML para descrição de serviços de rede como um conjunto de nós de extremidade que operam sobre mensagens que contêm informações orientadas a documento ou a procedimento.

A descrição de serviço WSDL pode ser estruturada de muitas maneiras. Entretanto, para auxiliar na publicação e na descoberta de descrições de serviços WSDL em um registro UDDI, os documentos WSDL consistem em duas partes principais: 

Ao criar serviços da Web com o ambiente de tempo de execução do Apache Axis, as ferramentas de serviços da Web criam um único documento WSDL ao gerar serviços da Web a partir de Java beans ou EJBs. Esse documento WSDL contém os documentos da interface de serviço e de implementação.

Uma interface de serviço é descrita por um documento WSDL que contém os elementos de ligação, tipo de dados, mensagem, importação e tipos. Uma interface de serviço contém a definição de serviço WSDL que será utilizada para implementar um ou mais serviços. É a definição resumida de um serviço da Web, sendo utilizada para descrever um tipo específico de serviço. Esse documento pode fazer referência a outro documento de interface de serviço utilizando um elemento de importação. As ferramentas de serviços da Web neste produto geram um documento de interface de serviço que contém apenas os elementos de mensagem e de tipo de porta referidos pelo documento de ligação que contém somente ligações para o tipo de porta.

O documento de implementação de serviço contém os elementos de serviço. Um documento de implementação de serviço contém a descrição de um serviço que implementa uma interface de serviço. Pelo menos um dos elementos de importação conterá uma referência ao documento da interface de serviço WSDL; no entanto, WSDL monolítico, como aquele criado utilizando o ambiente de tempo de execução Axis, não tem importações. Um documento de implementação de serviço pode conter referências a mais de um documento de interface de serviço.

Um fornecedor de serviços hospeda um serviço da Web e o torna acessível utilizando protocolos como SOAP/HTTP e SOAP/JMS. O serviço da Web é descrito pelos documentos WSDL armazenados no servidor do provedor ou em um repositório especial. Os documentos WSDL são referidos pelos serviços comerciais UDDI (documentos de serviço) e tModels (documentos de ligação). Esses ponteiros permitem a descoberta de um serviço da Web por um solicitante de serviço.

Figura 1. Relacionamento entre UDDI e WSDL.

Ilustração do relacionamento entre UDDI e WSDL.

A figura 1 ilustra o relacionamento entre UDDI e WSDL. O elemento de serviço WSDL faz referência ao elemento de ligação WSDL. O URL do documento contendo o elemento de ligação WSDL é publicado no registro de negócios UDDI como um tModel. O URL do documento contendo o elemento de serviço WSDL é publicado no registro de negócios UDDI como um businessService e contém informações sobre o bindingTemplate. Para obter mais informações sobre tipos de estrutura de dados de registro UDDI, consulte a seção de referência relacionada, no final deste documento. Observe que a parte de importação do diagrama é opcional, dependendo do ambiente de tempo de execução; WSDL monolítico, como aquele criado utilizando o ambiente de tempo de execução Axis, não tem importações.

A implementação do serviço descreve uma instância de serviço. A instância é definida utilizando um elemento de serviço WSDL. O elemento de serviço em um documento de implementação de serviço é utilizado para publicar um UDDI businessService. Ao publicar uma descrição de serviço WSDL, uma interface de serviço deve ser publicada como um tModel antes de publicar uma implementação de serviço como um businessService.

Uma implementação de serviço é publicada em um registro UDDI como parte de um businessService com um ou mais elementos de bindingTemplate. O businessService é publicado pelo fornecedor de serviços. Um novo businessService é criado para um elemento de serviço definido no documento de implementação de serviço. Um novo elemento de bindingTemplate é criado em um businessService para cada elemento de porta definido em um elemento de serviço.

Para obter mais informações sobre o relacionamento entre WSDL e UDDI, consulte uddi.org/bestpractices.html.