SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
WDSL/UDDI
Universidade Federal do Pará
Instituto de Ciências Exatas e Naturais
Faculdade de Computação
Disciplina: Sistemas Distribuídos
Equipe:
Alexandre Monassa
Anderson Bandeira
Raphael Brito
Agenda
●Visão geral de WebServices
●WSDL
●UDDI
Introdução a Web Services
Web Service é uma solução utilizada na
integração de sistemas e na comunicação entre
aplicações diferentes. Os Web Services são
componentes que permitem às aplicações
enviar e receber dados em formato XML. Cada
aplicação pode ter a sua própria "linguagem",
que é traduzida para uma linguagem universal,
o formato XML.
(Wikipédia)
Introdução a Web Services
●Descreve uma coleção de operacões;
●São acessados Remotamente;
●Usa padrão de mensagens XML;
●Ele descreve todos os detalhes para interagir
com o serviço:
○ Mensagens formatadas;
○ Protocolo de transporte e local;
○ Independência de hardware ou software;
○ Independência de linguagens de programação;
Lingaguem Universal,
de Marcação
WSDL
●Web Services Definition Language;
●Baseado na linguagem XML para descrever uma
interface de serviço web;
●Usa também SOAP para prover Web Services na
internet;
●Atualmente está na versão 2.0;
●Apresentaremos somente a versão 2.0;
●Responde a todas as requisições HTTP (GET e
POST);
●O WSDL define os serviços como uma coleção de
nós (endpoints) de rede capazes de trocar
mensagens;
Protocolo de troca de
informações estruturadas
em um Web Service
Introdução a Web Services
●Outras propriedades que os Web Services podem
ter:
●Um web service pode ser auto-descrito. Seu
serviço inclui documentação capaz de ser lida por
humanos e facilmente integravel a outros
serviços. A Gramática XML pode ser usada para
identificar todos os métodos públicos, argumentos
de métodos, e valores de retorno;
●Um web service pode ser descoberto. Quanto um
Web Service é criado ele pode ser publicado, e
mecanismos de pesquisa podem localizá-lo e
descobrir sua interface pública.
Exemplo de Web Service na
internet
●A Amazon.com possui um web Service com
outros parceiros como empresas de entrega;
●Um cliente que comprou um item sabe o
Status do produto (se já saiu ou está em que
parte do transporte);
●Assim quando um parceiro publica uma
informação atualizada contendo a
mensagem “Em transporte, cidade São
Paulo, tempo até Belém 2 dias”, o cliente
pode receber esta informação diretamente
do Amazon.com;
WSDL
●Defini mensagens e portas abstratas;
●Implementa essas mensagens e portas;
●A definição abstrata de mensagens e portas estão
separadas de suas implementações (semelhante
ao IDL do Corba);
●Uma porta é um endereço de rede com um nome
qualificador reusável pelo Web Service;
●Uma coleçao de portas define o serviço;
WSDL
●Mensagens são descrições abstratas dos
dados que serão trocados;
●O reuso de portas é feito pelas
especificações de dados e os protocolos
concretos;
●As portas e as mensagens são ligadas a
um determinado protocolo e formato de
mensagens;
●Dessa forma o WSDL descreve a interface
pública do Web Service;
WSDL
●Assim um Cliente que se conecta ao Web
Service poderá enxergar as operações
que estão disponíveis no servidor;
●Os tipos de dados no WSDL estão no
formato XML;
●O Cliente faz as chamadas para as
operações através do SOAP;
Ilustração do WSDL
WSDL
Fonte: http://en.wikipedia.org/wiki/Web_Services_Description_Language
Binding se refere ao
processo de associar
um protocolo ou
formato de dado com
uma entidade
abstrata (mensagem,
operação ou
portType);
Elementos do WSDL
espaço de nomes
de destino
estilo de
documento
abstrato
estilo
requisição-
resposta como ond
e
types message interface bindings services
definitions
concreto
(Coulouris, 2007)
WSDL
●O WSDL Contém os seguintes elementos
de marcação:
○ Type
○ portType;
○ Message;
○ Operation;
○ Bind;
○ Service;
○ Port;
Elementos do WSDL
● Types: Descreve dados que são usados para descrever
mensagens;
<types>
<schema targetNamespace="http://example.com/stockquote.xsd“
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
...
</element>
</schema>
</types>
○ Port: Endereço ou ponto de conexão do web Service
● Message: Uma mensagem corresponde a uma operação. A
mensagem contém a informação necessária para a performance da
operação.
<message name=“itemInformation”>
<part name=“theElement” element=“aliarForItem” />
</message>
● portType:Define um webService, a operação que será utilizada e as
mensagens que serão usadas para rodar a operação;
... <portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/> </operation>
</portType> ...
● Operações: São métodos ou chamadas de funções assim como em
Orientação a objetos;
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/> </operation>
</portType> …
Elementos do WSDL
● Binding: Define a interface de transporte e estilo, assim como as operações;
● <binding name="StockQuoteSoapBinding“
type="tns:StockQuotePortType">
<soap:binding style="document“
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
● Port : Especifica um endereço para uma ligação, definindo então um endpoint único. Parte concreta do
WSDL
<port name="StockQuotePort“
binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/>
</port>
● Service: Container de um conjunto de funções. Parte concreta do WSDL;
<wsdl:definitions .... >
Elementos do WSDL
Estrutura
●Estrutura principal do documento WSDL
<definitions>
<types>
definição de tipos........
</types>
<message>
definição de mensagens....
</message>
<portType>
definição de porta…
</portType>
<binding>
definiçao de binding (associação entre nome/endereço)....
</binding>
</definitions>
Tipos de operação
Tipo Definição
One-Way A operação pode receber uma
mensagem mas não retornará uma
resposta
Request-response A operação pode receber uma
requisição e retornará uma resposta
Solicit-response A operação pode enviar uma requisição
e esperar por uma resposta
Notification A operação pode enviar uma
mensagem mas não esperará por uma
resposta
Operação One-Way
● Exemplo:
<message name="newTermValues">
<part name="term" type="xs:string"/>
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="setTerm">
<input name="newTerm" message="newTermValues"/>
</operation>
</portType >
● A porta glossaryterms define uma operação one-way chamada
setTerm;
● SetTerm permite somente entrada de um novo termo de glossario ,
usando a mensagem newTermValue
Operação Request-Response
● Exemplo
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
● A Porta GlossaryTerms define uma operação Request-Response chamada getTerm;
● A operação getTerm requer um entrada chamada getTermRequest com o parâmetro
chamado term, e retornará, uma saída chamada getResponseTermResponse com o
parâmetro chamado valor
Operação Solicit-Reponse
● Exemplo
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name="nmtoken" parameterOrder="
nmtokens">
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
● A saída e a entrada estão invertidos como aparece no Request-response;
Operação Notification
●Exemplo
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name="nmtoken">
<wsdl:output name="nmtoken"? message="
qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
O elemento output significa que somente uma
notificação será enviada ao cliente;
Padrões Troca de Mensagem
para Operações WSDL
(Coulouris, 2007)
Exemplo de código
● Tag de definição que diz que esta é um framework wsdl, o targetnamespace aponta
para a URI do serviço;
<wsdl:definitions targetNamespace="http://localhost:8080/axis/Servico.jws">
● A tag message, representa uma definição abstrata do dado sendo transmitido. Uma
mensagem consiste de partes lógicas, cada uma associada com uma definição.
<wsdl:message name="somaResponse">
● A tag part define a lógica abstrata do conteúdo da mensagem.
<wsdl:part name="somaReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="somaRequest">
<wsdl:part name="valor1" type="xsd:int"/>
<wsdl:part name="valor2" type="xsd:int"/>
</wsdl:message>
● A tag portType defini um conjunto abstrato de operações. Cada operação refere-se a
uma mensagem de entrada e uma mensagem de saída.
<wsdl:portType name="Servico">
Exemplo de código
<wsdl:operation name="soma" parameterOrder="valor1 valor2">
● Operação request-response (input/output);
<wsdl:input message="impl:somaRequest" name="somaRequest"/>
<wsdl:output message="impl:somaResponse" name="somaResponse"/>
</wsdl:operation>
</wsdl:portType>
● A tag binding define um protocol concreto e uma especificação de formato
de dados para a operações e mensagens definidas por um portType.
Neste caso, a tag type refere-se à servico
<wsdl:binding name="ServicoSoapBinding" type="impl:Servico">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.
org/soap/http"/>
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="somaRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.
org/soap/encoding/" namespace="http://DefaultNamespace" use="
encoded"/>
</wsdl:input>
Exemplo de código
<wsdl:output name="somaResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/axis/Servico.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
A tag Service define um conjunto de portas usadas
<wsdl:service name="ServicoService">
<wsdl:operation name="soma">
● A Tag define um endereço para o serviço;
<wsdl:port binding="impl:ServicoSoapBinding" name="Servico">
<wsdlsoap:address location="http://localhost:8080/axis/Servico.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Exemplo Prático
●Escolhemos o servidor Web Apache versão 5.5
para windows
●O Web Service Apache Axis Para suportar os
webservices
●A pasta de publicação no windows é a
webapps/axis
●Existem dois códigos o Servidor e o cliente;
●O servidor executa as operações de soma,
multificação, divisão, subtração;
●O Cliente envia a requisição com o pedido de
cálculo contendo os parametros do servidor
(números e a operação em si).
Exemplo Prático
● Servidor :
public class Servico {
public int soma(int valor1, int valor2) {
return valor1 + valor2;
}
public int subtracao(int valor1, int valor2) {
return valor1-valor2;
}
public int multiplicacao(int valor1, int valor2) {
return valor1*valor2;
}
public float divisao(int valor1, int valor2) {
return valor1/valor2;
}
}//fim de classe
Cliente
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
public class Cliente {
public static void main(String[] args) throws Exception {
// Endereço, local onde encontra-se o Web Service
String local = "http://localhost:8080/axis/Servico.jws";
// Criando e configurando o serviço
Call call = (Call) new Service().createCall();
// Configurando o endereço.
call.setTargetEndpointAddress(local);
// Marcando o método a ser chamado.
call.setOperationName("soma");
// Parâmetros da função.
Object[] param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
int ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado soma : " + ret);
Uso da Biblioteca
apache.axis
Cliente
call.setOperationName("subtracao");
// Parâmetros da função.
param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado subtracao: " + ret);
call.setOperationName("multiplicacao" );
param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado multiplicao: " + ret);
}
}
Resultado
UDDI
"Um componente importante da arquitetura de serviços
Web é formado por um serviço de diretório que armazena
descrições de serviços. Esse serviço obedece ao padrão
integração, descoberta e descrição universal (Universal
Description, Discovery and Integration - UDDI). Como seu
nome sugere, o UDDI prescreve o layout de um banco de
dados que contém descrições de serviços. Estas permitirão
a clientes de serviços Web procurar serviços relevantes."
(Tanenbaum, 2007)
UDDI
● Universal Description, Discovery and Integration
● Atualmente está na versão 2;
● é um protocolo que especifica um método para publicar e
descobrir diretórios de serviços em uma arquitetura orientada
a serviços (SOA).
● Um serviço de registro UDDI é um WebService que gerencia
informação sobre provedores, implementações e metadados
de serviços.
● Provedores de serviços podem utilizar UDDI para publicar os
serviços que eles oferecem.
● Usuários de serviços podem usar UDDI para descobrir
serviços que lhes interessem e obter os metadados
necessários para utilizar esses serviços.
UDDI
A especificação UDDI define:
●APIs SOAP utilizadas para publicar e
obter informações de um registro UDDI
●Esquemas XML do modelo de dados do
registro e do formato das mensagens
SOAP
●Definições WSDL;
UDDI
●Três componentes de Registro: Yellon Pages, White
Pages, Green pages.
●Páginas Brancas: Incluem informação geral sobre
uma empresa específica, como por exemplo, nome
de um negócio, descrição do negócio, informação de
contato, endereço, números de telefone, fax, ou
mesmo incluir identificadores de negócios (business
identifiers). Por exemplo, 7371 representa Serviços de
Programação de Computadores e 2621 representa
Paper Mills.
●Páginas Amarelas: Essas incluem dados de
classificação geral para qualquer empresa ou
serviço oferecido. Por exemplo, esses dados podem
incluir a indústria, o produto, ou códigos geográficos
UDDI
●Páginas Verdes: são usadas para indicar os
serviços oferecidos por cada negócio, incluindo
todas as informações técnicas envolvidas na
interação com o serviço. explica como fazer a
comunicação com eles.
●Geralmente, essa informação inclui um apontador
(ponteiro) para uma especificação externa e um
endereço para invocar o serviço. UDDI não é
restrito a descobrir serviços baseados em SOAP.
Ao contrário, pode ser usado também, para
descrever qualquer serviço, desde uma única
página Web ou endereços de email, até serviços
CORBA, Java RMI, ou mesmo, serviços EJB
UDDI
●Clientes podem usar as páginas amarelas
para procurar uma categoria particular de
serviços tais como agências de viagens e
livrarias;
●Ou eles podem usar as páginas brancas
para procurar um serviço com referência
para a organização que provê ele;
Arquitetura UDDI
●UDDI Data Model: Um Esquema XML para
descrição de negócios e serviços web.
●UDDI API: É uma API baseada em SOAP
para pesquisa e publicação de dados UDDI.
●UDDI cloud services: é uma implementação
operacional completa da especificação
UDDI. Tal parte habilita qualquer um a
buscar dados UDDI existentes, e também, a
qualquer empresa registrar-se a si própria e
seus respectivos serviços
Estrutura de dados (data
Models)
bussinessEntity
Informações de
alto nível,
capazes de
serem lidas por
seres humanos
sobre o
publicador
bussinessService
s
Informações de
alto nível,
capazes de
serem lidas por
seres humanos
sobre a família
de serviços
bindingTemplate
Informações
sobre a interface
de serviço
tModel
Descrição do
serviço
UR
L
Estrutura de dados
●bussinessEntity: Descreve a organização que
fornece os serviços, mostrando nome, endereço e
atividades;
●BussinessServices: Armazena informações sobre
um conjunto de instâncias e referências para
descrição de serviços;
●BindingTemplate: Armazena os endereços dos
webservices e as referencias para as descrições
do serviço;
●tModel: Mantém descrição de serviços,
geralmente documentos WSDL, localizados for a
da base de dados e acessados via URLs;
Processo de Descoberta
(Discovery)
●O processo de localizar serviços na Web
através de registries.
●Registries de serviços na Web são
repositórios contendo documentos que
descrevem dados de negócios.
●Registries, também, proporcionam
características tais como, capacidade de
busca e acesso programático para
aplicações remotas
Discovery
●Usando um registry, uma organização que
deseja utilizar, um serviço para processar
pagamentos de tickets de alimentação, pode
localizar todos os serviços disponíveis
publicamente, que proporcionam a
necessária funcionalidade;
●A organização pode comparar serviços e
então tomar a decisão, de qual serviço,
melhor se ajusta às necessidades da
organização.
Discovery
●Discovery pode ser caracterizado em Discovery
direto ou Discovery indireto
●Discovery direto é o processo de obter dados a
partir de um registry mantido por um provedor
de serviço. Dados obtidos por Discovery direto
são mais precisos e, portanto, confiáveis, visto
que a organização que provê a informação
também opera o serviço na Web.
●Com discovery indireto, uma organização obtém
dados através de uma terceiro registry, cujos
dados podem não ser precisos, porque
provedores de serviço poderiam não atualizar
informação nesse registry tão freqüentemente.
UDDI API
●API para publicação e pesquisa de dados;
●Para pesquisas há dois tipos de
classificação: API find e API get;
●A API find é usado para reter uma lista
de referencias para dados UDDI usando
uma critério de busca;
●A API get é usada para retornar o atual
conteúdo da entidade de dado;
UDDI API
A tabela a seguir resume os métodos de pesquisa
UDDIFind API Get API
find_binding: localiza um binding
dentro de um registro
bussinessService
get_bindingDetail: retorna a
informcaçao de bindingTemplate
find_business: Localiza informação
sobre um ou mais negócios.
get_businessDetail: Retorna a
informação da businessEntity para uma
ou mais negócios ou organizações.
find_service: localiza um serviço
específico dentro de um registro
bussinessEntity
get_businessDetailExt: Retorna a
informação extendida de businessEntity.
find_tModel: retorna informação
completa do bussinessEntity;
get_serviceDetail: Retorna o detalhes
completo para um dado conjunto de
registros de dados do businessService
data.
Publicação
●UDDI fornece uma interface para publicar e
atualizar informações sobre serviços;
●Na primeira vez que o serviço é publicado no
servidor UDDI, Uma chave é usada para
identificá-lo;
●Pode-se criar, atualizar e deletar os registros
UDDI já publicados ;
●Assim a qualquer momento as entradas
businessEntity, businessService,
bindingTemplate, tModel, podem ser
alteradas.
Bibliografia
● COULOURIS, G. , DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos
- Conceitos e Projeto. 4ª ed - São Paulo: Bookman, 2007.
● TANENBAUM, Andrew S. Sistemas Distribuídos: princípios e paradigmas.
2ª ed - São Paulo: Pearson Prentice Hall, 2007. 334p.
● http://www.w3.org/TR/wsd
● Building Web Services with Java;
● Web Services Essential;
● http://pt.wikipedia.org/wiki/Web_service
●http://uddi.org/pubs/ProgrammersAPI-V2.
04-Published-20020719.htm
OBRIGADO!!

Mais conteúdo relacionado

Mais procurados

Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 
Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015C H
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring DataArturs Drozdovs
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Learn C# Programming - Encapsulation & Methods
Learn C# Programming - Encapsulation & MethodsLearn C# Programming - Encapsulation & Methods
Learn C# Programming - Encapsulation & MethodsEng Teong Cheah
 
Primeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixPrimeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixJanssen Lima
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Joins in databases
Joins in databases Joins in databases
Joins in databases CourseHunt
 
XML External Entity (XXE)
XML External Entity (XXE)XML External Entity (XXE)
XML External Entity (XXE)Jay Thakker
 
Lecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxLecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxShahinAhmed49
 

Mais procurados (20)

Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015Técnicas de Invasão - INFOESTE 2015
Técnicas de Invasão - INFOESTE 2015
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Spring Data JPA
Spring Data JPASpring Data JPA
Spring Data JPA
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring Data
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Learn C# Programming - Encapsulation & Methods
Learn C# Programming - Encapsulation & MethodsLearn C# Programming - Encapsulation & Methods
Learn C# Programming - Encapsulation & Methods
 
Primeiros passos com a API do Zabbix
Primeiros passos com a API do ZabbixPrimeiros passos com a API do Zabbix
Primeiros passos com a API do Zabbix
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Joins in databases
Joins in databases Joins in databases
Joins in databases
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
XML External Entity (XXE)
XML External Entity (XXE)XML External Entity (XXE)
XML External Entity (XXE)
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Lecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxLecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptx
 

Semelhante a Wsdl e uddi

Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APIWeb services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APINuno Pereira
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoHanderson Frota
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo Fmdmansur
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesAdriano Teixeira de Souza
 
Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3David Ruiz
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsRafael Sales
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheirosharik27
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 

Semelhante a Wsdl e uddi (20)

Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Web service
Web serviceWeb service
Web service
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APIWeb services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, API
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
 
12 sax
12 sax12 sax
12 sax
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 
Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01Tw Dwr 2007 Ap01
Tw Dwr 2007 Ap01
 
Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.js
 
Java wsdp
Java wsdpJava wsdp
Java wsdp
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Web Services
Web ServicesWeb Services
Web Services
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheiro
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Web services
Web servicesWeb services
Web services
 
Cap12
Cap12Cap12
Cap12
 

Wsdl e uddi

  • 1. WDSL/UDDI Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Disciplina: Sistemas Distribuídos Equipe: Alexandre Monassa Anderson Bandeira Raphael Brito
  • 2. Agenda ●Visão geral de WebServices ●WSDL ●UDDI
  • 3. Introdução a Web Services Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Os Web Services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML. (Wikipédia)
  • 4. Introdução a Web Services ●Descreve uma coleção de operacões; ●São acessados Remotamente; ●Usa padrão de mensagens XML; ●Ele descreve todos os detalhes para interagir com o serviço: ○ Mensagens formatadas; ○ Protocolo de transporte e local; ○ Independência de hardware ou software; ○ Independência de linguagens de programação;
  • 5. Lingaguem Universal, de Marcação WSDL ●Web Services Definition Language; ●Baseado na linguagem XML para descrever uma interface de serviço web; ●Usa também SOAP para prover Web Services na internet; ●Atualmente está na versão 2.0; ●Apresentaremos somente a versão 2.0; ●Responde a todas as requisições HTTP (GET e POST); ●O WSDL define os serviços como uma coleção de nós (endpoints) de rede capazes de trocar mensagens; Protocolo de troca de informações estruturadas em um Web Service
  • 6. Introdução a Web Services ●Outras propriedades que os Web Services podem ter: ●Um web service pode ser auto-descrito. Seu serviço inclui documentação capaz de ser lida por humanos e facilmente integravel a outros serviços. A Gramática XML pode ser usada para identificar todos os métodos públicos, argumentos de métodos, e valores de retorno; ●Um web service pode ser descoberto. Quanto um Web Service é criado ele pode ser publicado, e mecanismos de pesquisa podem localizá-lo e descobrir sua interface pública.
  • 7. Exemplo de Web Service na internet ●A Amazon.com possui um web Service com outros parceiros como empresas de entrega; ●Um cliente que comprou um item sabe o Status do produto (se já saiu ou está em que parte do transporte); ●Assim quando um parceiro publica uma informação atualizada contendo a mensagem “Em transporte, cidade São Paulo, tempo até Belém 2 dias”, o cliente pode receber esta informação diretamente do Amazon.com;
  • 8. WSDL ●Defini mensagens e portas abstratas; ●Implementa essas mensagens e portas; ●A definição abstrata de mensagens e portas estão separadas de suas implementações (semelhante ao IDL do Corba); ●Uma porta é um endereço de rede com um nome qualificador reusável pelo Web Service; ●Uma coleçao de portas define o serviço;
  • 9. WSDL ●Mensagens são descrições abstratas dos dados que serão trocados; ●O reuso de portas é feito pelas especificações de dados e os protocolos concretos; ●As portas e as mensagens são ligadas a um determinado protocolo e formato de mensagens; ●Dessa forma o WSDL descreve a interface pública do Web Service;
  • 10. WSDL ●Assim um Cliente que se conecta ao Web Service poderá enxergar as operações que estão disponíveis no servidor; ●Os tipos de dados no WSDL estão no formato XML; ●O Cliente faz as chamadas para as operações através do SOAP;
  • 12. WSDL Fonte: http://en.wikipedia.org/wiki/Web_Services_Description_Language Binding se refere ao processo de associar um protocolo ou formato de dado com uma entidade abstrata (mensagem, operação ou portType);
  • 13. Elementos do WSDL espaço de nomes de destino estilo de documento abstrato estilo requisição- resposta como ond e types message interface bindings services definitions concreto (Coulouris, 2007)
  • 14. WSDL ●O WSDL Contém os seguintes elementos de marcação: ○ Type ○ portType; ○ Message; ○ Operation; ○ Bind; ○ Service; ○ Port;
  • 15. Elementos do WSDL ● Types: Descreve dados que são usados para descrever mensagens; <types> <schema targetNamespace="http://example.com/stockquote.xsd“ xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> ... </element> </schema> </types> ○ Port: Endereço ou ponto de conexão do web Service
  • 16. ● Message: Uma mensagem corresponde a uma operação. A mensagem contém a informação necessária para a performance da operação. <message name=“itemInformation”> <part name=“theElement” element=“aliarForItem” /> </message> ● portType:Define um webService, a operação que será utilizada e as mensagens que serão usadas para rodar a operação; ... <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> ... ● Operações: São métodos ou chamadas de funções assim como em Orientação a objetos; <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> … Elementos do WSDL
  • 17. ● Binding: Define a interface de transporte e estilo, assim como as operações; ● <binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType"> <soap:binding style="document“ transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> ● Port : Especifica um endereço para uma ligação, definindo então um endpoint único. Parte concreta do WSDL <port name="StockQuotePort“ binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> ● Service: Container de um conjunto de funções. Parte concreta do WSDL; <wsdl:definitions .... > Elementos do WSDL
  • 18. Estrutura ●Estrutura principal do documento WSDL <definitions> <types> definição de tipos........ </types> <message> definição de mensagens.... </message> <portType> definição de porta… </portType> <binding> definiçao de binding (associação entre nome/endereço).... </binding> </definitions>
  • 19. Tipos de operação Tipo Definição One-Way A operação pode receber uma mensagem mas não retornará uma resposta Request-response A operação pode receber uma requisição e retornará uma resposta Solicit-response A operação pode enviar uma requisição e esperar por uma resposta Notification A operação pode enviar uma mensagem mas não esperará por uma resposta
  • 20. Operação One-Way ● Exemplo: <message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType > ● A porta glossaryterms define uma operação one-way chamada setTerm; ● SetTerm permite somente entrada de um novo termo de glossario , usando a mensagem newTermValue
  • 21. Operação Request-Response ● Exemplo <message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType> ● A Porta GlossaryTerms define uma operação Request-Response chamada getTerm; ● A operação getTerm requer um entrada chamada getTermRequest com o parâmetro chamado term, e retornará, uma saída chamada getResponseTermResponse com o parâmetro chamado valor
  • 22. Operação Solicit-Reponse ● Exemplo <wsdl:definitions .... > <wsdl:portType .... > * <wsdl:operation name="nmtoken" parameterOrder=" nmtokens"> <wsdl:output name="nmtoken"? message="qname"/> <wsdl:input name="nmtoken"? message="qname"/> <wsdl:fault name="nmtoken" message="qname"/>* </wsdl:operation> </wsdl:portType > </wsdl:definitions> ● A saída e a entrada estão invertidos como aparece no Request-response;
  • 23. Operação Notification ●Exemplo <wsdl:definitions .... > <wsdl:portType .... > * <wsdl:operation name="nmtoken"> <wsdl:output name="nmtoken"? message=" qname"/> </wsdl:operation> </wsdl:portType > </wsdl:definitions> O elemento output significa que somente uma notificação será enviada ao cliente;
  • 24. Padrões Troca de Mensagem para Operações WSDL (Coulouris, 2007)
  • 25. Exemplo de código ● Tag de definição que diz que esta é um framework wsdl, o targetnamespace aponta para a URI do serviço; <wsdl:definitions targetNamespace="http://localhost:8080/axis/Servico.jws"> ● A tag message, representa uma definição abstrata do dado sendo transmitido. Uma mensagem consiste de partes lógicas, cada uma associada com uma definição. <wsdl:message name="somaResponse"> ● A tag part define a lógica abstrata do conteúdo da mensagem. <wsdl:part name="somaReturn" type="xsd:int"/> </wsdl:message> <wsdl:message name="somaRequest"> <wsdl:part name="valor1" type="xsd:int"/> <wsdl:part name="valor2" type="xsd:int"/> </wsdl:message> ● A tag portType defini um conjunto abstrato de operações. Cada operação refere-se a uma mensagem de entrada e uma mensagem de saída. <wsdl:portType name="Servico">
  • 26. Exemplo de código <wsdl:operation name="soma" parameterOrder="valor1 valor2"> ● Operação request-response (input/output); <wsdl:input message="impl:somaRequest" name="somaRequest"/> <wsdl:output message="impl:somaResponse" name="somaResponse"/> </wsdl:operation> </wsdl:portType> ● A tag binding define um protocol concreto e uma especificação de formato de dados para a operações e mensagens definidas por um portType. Neste caso, a tag type refere-se à servico <wsdl:binding name="ServicoSoapBinding" type="impl:Servico"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap. org/soap/http"/> <wsdlsoap:operation soapAction=""/> <wsdl:input name="somaRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap. org/soap/encoding/" namespace="http://DefaultNamespace" use=" encoded"/> </wsdl:input>
  • 27. Exemplo de código <wsdl:output name="somaResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/Servico.jws" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> A tag Service define um conjunto de portas usadas <wsdl:service name="ServicoService"> <wsdl:operation name="soma"> ● A Tag define um endereço para o serviço; <wsdl:port binding="impl:ServicoSoapBinding" name="Servico"> <wsdlsoap:address location="http://localhost:8080/axis/Servico.jws"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
  • 28. Exemplo Prático ●Escolhemos o servidor Web Apache versão 5.5 para windows ●O Web Service Apache Axis Para suportar os webservices ●A pasta de publicação no windows é a webapps/axis ●Existem dois códigos o Servidor e o cliente; ●O servidor executa as operações de soma, multificação, divisão, subtração; ●O Cliente envia a requisição com o pedido de cálculo contendo os parametros do servidor (números e a operação em si).
  • 29. Exemplo Prático ● Servidor : public class Servico { public int soma(int valor1, int valor2) { return valor1 + valor2; } public int subtracao(int valor1, int valor2) { return valor1-valor2; } public int multiplicacao(int valor1, int valor2) { return valor1*valor2; } public float divisao(int valor1, int valor2) { return valor1/valor2; } }//fim de classe
  • 30. Cliente import org.apache.axis.client.Service; import org.apache.axis.client.Call; public class Cliente { public static void main(String[] args) throws Exception { // Endereço, local onde encontra-se o Web Service String local = "http://localhost:8080/axis/Servico.jws"; // Criando e configurando o serviço Call call = (Call) new Service().createCall(); // Configurando o endereço. call.setTargetEndpointAddress(local); // Marcando o método a ser chamado. call.setOperationName("soma"); // Parâmetros da função. Object[] param = new Object[]{new Integer(2),new Integer(4)}; // Retorno da Função int ret = (Integer)call.invoke(param); // Imprime o resultado: . System.out.println("Resultado soma : " + ret); Uso da Biblioteca apache.axis
  • 31. Cliente call.setOperationName("subtracao"); // Parâmetros da função. param = new Object[]{new Integer(2),new Integer(4)}; // Retorno da Função ret = (Integer)call.invoke(param); // Imprime o resultado: . System.out.println("Resultado subtracao: " + ret); call.setOperationName("multiplicacao" ); param = new Object[]{new Integer(2),new Integer(4)}; // Retorno da Função ret = (Integer)call.invoke(param); // Imprime o resultado: . System.out.println("Resultado multiplicao: " + ret); } }
  • 33. UDDI "Um componente importante da arquitetura de serviços Web é formado por um serviço de diretório que armazena descrições de serviços. Esse serviço obedece ao padrão integração, descoberta e descrição universal (Universal Description, Discovery and Integration - UDDI). Como seu nome sugere, o UDDI prescreve o layout de um banco de dados que contém descrições de serviços. Estas permitirão a clientes de serviços Web procurar serviços relevantes." (Tanenbaum, 2007)
  • 34. UDDI ● Universal Description, Discovery and Integration ● Atualmente está na versão 2; ● é um protocolo que especifica um método para publicar e descobrir diretórios de serviços em uma arquitetura orientada a serviços (SOA). ● Um serviço de registro UDDI é um WebService que gerencia informação sobre provedores, implementações e metadados de serviços. ● Provedores de serviços podem utilizar UDDI para publicar os serviços que eles oferecem. ● Usuários de serviços podem usar UDDI para descobrir serviços que lhes interessem e obter os metadados necessários para utilizar esses serviços.
  • 35. UDDI A especificação UDDI define: ●APIs SOAP utilizadas para publicar e obter informações de um registro UDDI ●Esquemas XML do modelo de dados do registro e do formato das mensagens SOAP ●Definições WSDL;
  • 36. UDDI ●Três componentes de Registro: Yellon Pages, White Pages, Green pages. ●Páginas Brancas: Incluem informação geral sobre uma empresa específica, como por exemplo, nome de um negócio, descrição do negócio, informação de contato, endereço, números de telefone, fax, ou mesmo incluir identificadores de negócios (business identifiers). Por exemplo, 7371 representa Serviços de Programação de Computadores e 2621 representa Paper Mills. ●Páginas Amarelas: Essas incluem dados de classificação geral para qualquer empresa ou serviço oferecido. Por exemplo, esses dados podem incluir a indústria, o produto, ou códigos geográficos
  • 37. UDDI ●Páginas Verdes: são usadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações técnicas envolvidas na interação com o serviço. explica como fazer a comunicação com eles. ●Geralmente, essa informação inclui um apontador (ponteiro) para uma especificação externa e um endereço para invocar o serviço. UDDI não é restrito a descobrir serviços baseados em SOAP. Ao contrário, pode ser usado também, para descrever qualquer serviço, desde uma única página Web ou endereços de email, até serviços CORBA, Java RMI, ou mesmo, serviços EJB
  • 38. UDDI ●Clientes podem usar as páginas amarelas para procurar uma categoria particular de serviços tais como agências de viagens e livrarias; ●Ou eles podem usar as páginas brancas para procurar um serviço com referência para a organização que provê ele;
  • 39. Arquitetura UDDI ●UDDI Data Model: Um Esquema XML para descrição de negócios e serviços web. ●UDDI API: É uma API baseada em SOAP para pesquisa e publicação de dados UDDI. ●UDDI cloud services: é uma implementação operacional completa da especificação UDDI. Tal parte habilita qualquer um a buscar dados UDDI existentes, e também, a qualquer empresa registrar-se a si própria e seus respectivos serviços
  • 40. Estrutura de dados (data Models) bussinessEntity Informações de alto nível, capazes de serem lidas por seres humanos sobre o publicador bussinessService s Informações de alto nível, capazes de serem lidas por seres humanos sobre a família de serviços bindingTemplate Informações sobre a interface de serviço tModel Descrição do serviço UR L
  • 41. Estrutura de dados ●bussinessEntity: Descreve a organização que fornece os serviços, mostrando nome, endereço e atividades; ●BussinessServices: Armazena informações sobre um conjunto de instâncias e referências para descrição de serviços; ●BindingTemplate: Armazena os endereços dos webservices e as referencias para as descrições do serviço; ●tModel: Mantém descrição de serviços, geralmente documentos WSDL, localizados for a da base de dados e acessados via URLs;
  • 42. Processo de Descoberta (Discovery) ●O processo de localizar serviços na Web através de registries. ●Registries de serviços na Web são repositórios contendo documentos que descrevem dados de negócios. ●Registries, também, proporcionam características tais como, capacidade de busca e acesso programático para aplicações remotas
  • 43. Discovery ●Usando um registry, uma organização que deseja utilizar, um serviço para processar pagamentos de tickets de alimentação, pode localizar todos os serviços disponíveis publicamente, que proporcionam a necessária funcionalidade; ●A organização pode comparar serviços e então tomar a decisão, de qual serviço, melhor se ajusta às necessidades da organização.
  • 44. Discovery ●Discovery pode ser caracterizado em Discovery direto ou Discovery indireto ●Discovery direto é o processo de obter dados a partir de um registry mantido por um provedor de serviço. Dados obtidos por Discovery direto são mais precisos e, portanto, confiáveis, visto que a organização que provê a informação também opera o serviço na Web. ●Com discovery indireto, uma organização obtém dados através de uma terceiro registry, cujos dados podem não ser precisos, porque provedores de serviço poderiam não atualizar informação nesse registry tão freqüentemente.
  • 45. UDDI API ●API para publicação e pesquisa de dados; ●Para pesquisas há dois tipos de classificação: API find e API get; ●A API find é usado para reter uma lista de referencias para dados UDDI usando uma critério de busca; ●A API get é usada para retornar o atual conteúdo da entidade de dado;
  • 46. UDDI API A tabela a seguir resume os métodos de pesquisa UDDIFind API Get API find_binding: localiza um binding dentro de um registro bussinessService get_bindingDetail: retorna a informcaçao de bindingTemplate find_business: Localiza informação sobre um ou mais negócios. get_businessDetail: Retorna a informação da businessEntity para uma ou mais negócios ou organizações. find_service: localiza um serviço específico dentro de um registro bussinessEntity get_businessDetailExt: Retorna a informação extendida de businessEntity. find_tModel: retorna informação completa do bussinessEntity; get_serviceDetail: Retorna o detalhes completo para um dado conjunto de registros de dados do businessService data.
  • 47. Publicação ●UDDI fornece uma interface para publicar e atualizar informações sobre serviços; ●Na primeira vez que o serviço é publicado no servidor UDDI, Uma chave é usada para identificá-lo; ●Pode-se criar, atualizar e deletar os registros UDDI já publicados ; ●Assim a qualquer momento as entradas businessEntity, businessService, bindingTemplate, tModel, podem ser alteradas.
  • 48. Bibliografia ● COULOURIS, G. , DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos - Conceitos e Projeto. 4ª ed - São Paulo: Bookman, 2007. ● TANENBAUM, Andrew S. Sistemas Distribuídos: princípios e paradigmas. 2ª ed - São Paulo: Pearson Prentice Hall, 2007. 334p. ● http://www.w3.org/TR/wsd ● Building Web Services with Java; ● Web Services Essential; ● http://pt.wikipedia.org/wiki/Web_service ●http://uddi.org/pubs/ProgrammersAPI-V2. 04-Published-20020719.htm