5. WEB SERVICES E ARQUITETURAS DISTRIBUÍDAS
5.4. Registro UDDI
O Universal Description, Discovery and Integration - UDDI surgiu de uma iniciativa da indústria de software, que visa estabelecer um padrão para descrição, descoberta e integração de serviços independentemente de plataforma. UDDI é focado no processo de descoberta de serviços no contexto da arquitetura orientada a serviços (CHAPPELL e JEWELL, 2002).
O UDDI é uma especificação para registros distribuídos com informações dos Web Services. É também um conjunto publicamente acessível de instâncias da especificação, que permite que organizações registrem informações sobre seus serviços Web, para que outras organizações possam pesquisá-los e utilizá-los. Os registros são usados para promover e descobrir estes serviços Web distribuídos.
O componente essencial do projeto UDDI é o registro de negócios UDDI (Business Registration), um arquivo XML usado para descrever uma entidade de negócio e seu serviço Web. Conceitualmente, a informação presente em um registro de negócio UDDI consiste de três componentes: páginas brancas (white pages) que inclui endereço, contato e identificadores conhecidos; páginas amarelas (yellow pages) que inclui uma categorização industrial baseado em taxonomias padrões; e páginas verdes (green pages) que inclui a informação técnica sobre o serviço sendo oferecido.
O esquema XML do UDDI define quatro tipos de informação que provê a variedade de informação, que um técnico necessitaria para poder usar um serviço Web. São elas:
informações do negócio business information, informações do serviço service information, informações para a conexão binding information e informações sobre especificações para serviços.
As informações do registro de negócios do UDDI, as páginas amarelas, estão contidas numa estrutura XML chamada “business Entity”. Essa estrutura serve como o nível mais alto de um conjunto de informações sobre uma unidade de negócio. As descrições técnicas e do tipo de negócio do serviço Web, as páginas verdes, estão presentes em subestruturas do “business entity”, o “business service” e o “binding template”. A estrutura
“business service” é o local que é usado para agrupar uma série de serviços web relacionados a um processo de negócio ou uma categoria de serviço. Junto com o “business service” está uma ou mais descrições técnicas de serviços Web, são as estruturas do tipo “binding template”. Elas contêm informações que são relevantes para programas que desejam se conectarem com um serviço Web remoto. Cada “binding template” contém um elemento especial chamado “tmodel”, que é uma lista de referencias com informações sobre especificações que formam uma impressão digital do serviço Web.
Usando o serviço do UDDI, organizações podem registrar individualmente seus serviços Web. Esta informação pode ser adicionada ao registro de negócios UDDI, por meio da página ou por um programa que use a interface do UDDI. Esse registro é logicamente centralizado, mas é fisicamente distribuído. Ou seja, ele tem uma interface de consulta centralizada, porém os registros são replicados por vários nós. Uma vez registrada, a informação sobre o serviço Web é replicada para esses nós e fica disponível para consulta.
O UDDI é um serviço de descoberta que trabalha como um repositório de metadados para registrar e armazenar informações de descrição e localização de Web Services. O próprio repositório UDDI é implementado pelo Web Services, cujos métodos oferecidos são o
cadastro e a pesquisa no repositório de metadados. Dessa forma, clientes exploram o repositório UDDI, pesquisando todos os Web Services disponíveis.
UDDI é um conceito simples que implementa um registro distribuído entre muitos
“nós”, que replicando se entre si, compartilham informações sobre serviços. O registro (ou diretório) de serviços UDDI, que é hospedado por diferentes repositórios na Internet, foi criado para facilitar e resolver o problema de descoberta de serviços entre empresas que realizam transações entre si (CHAPPELL e JEWELL, 2002).
O registro UDDI é para a arquitetura de Web Services o que é para o catálogo telefônico ou então um caderno de classificados, que são lugares onde se pode procurar por assuntos de interesse e obter informações de contato. O conceito apresentado até este momento, é exposto na figura 25 que mostra o esquema de funcionamento do registro UDDI.
Figura 25 – Registro UDDI (CHAPPELL e JEWELL, 2002).
O potencial consumidor busca no registro UDDI informações de localização do serviço desejado por meio de uma requisição SOAP. Assim que recebe esta requisição, o UDDI busca em suas bases a localização do serviço solicitado encontrando-a, retorna esta
informação através de uma resposta SOAP. Com posse da localização do Web Services na Web, o consumidor inicia a transação com este serviço.
A especificação do UDDI consiste num XML Schema para as mensagens SOAP, e uma descrição da especificação da interface do UDDI. Juntos, eles formam um modelo básico de informações e uma arquitetura de interação que provê a habilidade para publicar dados de uma grande variedade de serviços web. O padrão de esquema XML foi escolhido pelo seu suporte a uma grande variedade de tipo de dados, bem como sua habilidade de facilmente descrever e validar informações baseadas em modelos de informação.
Desta forma, retendo a imagem dos Web Services, como um meio de aproximar diferentes aplicações e sistemas, está convicto que a adoção destes por parte da comunidade bibliotecária traria como conseqüência um aumento significativo da interoperabilidade entre os seus sistemas. Assim, melhorar significativamente os serviços já existentes, como o acesso aos registros bibliográficos e a informação relacionada com as obras do acervo digital.
As organizações buscam um consenso da indústria para facilitar as tomadas de decisão e incrementar a adoção das soluções, além de garantir a evolução contínua das tecnologias que suportam os Web Services. Fazem parte do consórcio de empresas como IBM, BEA Systems, SUN e Novell, todos partidários da linguagem Java. O W3C pretende desenvolver a interoperabilidade de especificações, software e ferramentas para o máximo aproveitamento das ferramentas baseadas em Internet.
O SOAP serve para a troca de informações em ambientes distribuídos; enquanto o WSDL atua como uma linguagem de descrição dos serviços e a UDDI é um conjunto de registros com função de "páginas amarelas" de serviços disponíveis.
Uma grande vantagem dos Web Services reside no fato da equipe de desenvolvimento poder focar seus esforços no sistema em si, praticamente sem se preocupar com meio de comunicação entre os processos. É neste ponto que o Java oferece muitas vantagens em relação às demais plataformas. Criado para garantir suporte e integração com os
Web Services, ele pode publicar um método de uma classe, bastando adicionar um modificador (atributo) ao mesmo. Com o Java não é necessário criar o WSDL ("contrato de especificação"), pois o mesmo e criado em tempo de execução e automático, utilizando a
"reflexão". Isto significa que o WSDL estará sempre atualizando Java.