11
ITA - Instituto Tecnológico de ITA - Instituto Tecnológico de AeronáuticaAeronáutica
Web Services Web Services SemânticosSemânticos
Disciplina: CE 262 – Ontologias e Web Semântica.Disciplina: CE 262 – Ontologias e Web Semântica.
Prof. Dr. José Maria ParenteProf. Dr. José Maria Parente
Grupo: Ferrucio, Rafael e Luiz EduardoGrupo: Ferrucio, Rafael e Luiz Eduardo
22
Roteiro da apresentaçãoRoteiro da apresentação IntroduçãoIntrodução
HistóricoHistórico O que são Web Services?O que são Web Services? Por que Web Services?Por que Web Services?
Tecnologias envolvidasTecnologias envolvidas SOASOA SOAPSOAP XMLXML WSDLWSDL UDDIUDDI Vídeo-aula “Construção de WS com Eclipse”Vídeo-aula “Construção de WS com Eclipse” AulaAula prátic prática usando Netbeans e .Neta usando Netbeans e .Net
Web SemânticaWeb Semântica Anotações Semânticas em serviçosAnotações Semânticas em serviços SA-WSDLSA-WSDL
• Vídeo-aula SA-WSDL com WSMOVídeo-aula SA-WSDL com WSMO Exemplos WSExemplos WS Produtos disponíveisProdutos disponíveis Links para padrõesLinks para padrões Considerações finaisConsiderações finais ReferênciasReferências
33
HistóricoHistórico Aplicação de duas camadas. Aplicações cliente-servidor. Aplicação de duas camadas. Aplicações cliente-servidor.
Busca de escalabilidade e tolerância maior a falhas, Busca de escalabilidade e tolerância maior a falhas, criou-se a arquitetura de 3 camadas.criou-se a arquitetura de 3 camadas.
Camada de negócios, entre cliente e dados.Camada de negócios, entre cliente e dados.
Primeiros sistemas middleware foram os RPC (Remote Primeiros sistemas middleware foram os RPC (Remote Procedure Call), baseados na programação estruturada. Procedure Call), baseados na programação estruturada. Possibilitou execução de uma mesma aplicação em Possibilitou execução de uma mesma aplicação em plataformas diferentes.plataformas diferentes.
Com POO, foram criados CORBA, DCOM e RMI, cada Com POO, foram criados CORBA, DCOM e RMI, cada um com suas vantagens e desvantagens. Mas nenhuma um com suas vantagens e desvantagens. Mas nenhuma delas se comunica com a outra. Aconselhados para delas se comunica com a outra. Aconselhados para Intranet.Intranet.
Até chegar em Web services.Até chegar em Web services.
44
HistóricoHistóricoCORBACORBA Solução aberta de objetos distribuídos. Solução aberta de objetos distribuídos. Desenvolvida pelo consórcio OMG (Object Management Desenvolvida pelo consórcio OMG (Object Management
Group) para se tornar padrão de mercado.Group) para se tornar padrão de mercado. Primeira vantagem é que cliente e servidor podem ser Primeira vantagem é que cliente e servidor podem ser
feitos em qualquer linguagem, em função do alto nível de feitos em qualquer linguagem, em função do alto nível de abstração conseguido com o IDL (Interface Definition abstração conseguido com o IDL (Interface Definition Language), que possui o mapeamento dos métodos.Language), que possui o mapeamento dos métodos.
Comunicação é feita através de ORBs (Object Request Comunicação é feita através de ORBs (Object Request Broker), responsáveis pela tradução de solicitação e Broker), responsáveis pela tradução de solicitação e resposta.resposta.
Aconselhável para aplicações que necessitam alta Aconselhável para aplicações que necessitam alta performanceperformance
Principal desvantagem é o alto grau de complexidade na Principal desvantagem é o alto grau de complexidade na implementação de pequenas soluções.implementação de pequenas soluções.
55
HistóricoHistóricoRMIRMI Remote Method InvocationRemote Method Invocation Habilita comunicação entre aplicações Java-Java, que Habilita comunicação entre aplicações Java-Java, que
usam JVM possivelmente em plataformas diferentes.usam JVM possivelmente em plataformas diferentes. Aplicação Java armazena apenas as referências dos Aplicação Java armazena apenas as referências dos
objetos remotos.objetos remotos. Uso do protocolo JRMP (Java Remote Method Protocol) Uso do protocolo JRMP (Java Remote Method Protocol)
para serializar os objetos.para serializar os objetos. Não usa IDL no desenvolvimento das aplicações clienteNão usa IDL no desenvolvimento das aplicações cliente Desenvolvimento de aplicações ficou mais simples. Desenvolvimento de aplicações ficou mais simples. Suporte ao Garbage CollectionSuporte ao Garbage Collection DesvantagensDesvantagens
Os dois lados devem ser aplicações Java.Os dois lados devem ser aplicações Java. Serviços disponíveis em CORBA não são Serviços disponíveis em CORBA não são
implementados em RMI. implementados em RMI.
66
HistóricoHistóricoDCOMDCOM
Distributed Component Object ModelDistributed Component Object Model Desenvolvida pela Microsoft para distribuir objetos pela Desenvolvida pela Microsoft para distribuir objetos pela
rede.rede. Servidor DCOM publica métodos para clientes escritas Servidor DCOM publica métodos para clientes escritas
em IDL, similar ao C++. em IDL, similar ao C++. Usa protocolo ORPC (Object Remote Procedure Call) Usa protocolo ORPC (Object Remote Procedure Call)
que usa o PING para permanecer com os objetos ativos que usa o PING para permanecer com os objetos ativos para o cliente.para o cliente.
DCOM suporta o GC.DCOM suporta o GC. Implantado nas empresas Apple, Unix e VMS.Implantado nas empresas Apple, Unix e VMS. Desvantagem – proprietário.Desvantagem – proprietário.
77
O que são O que são Web ServicesWeb Services “ “ Um sistema de software identificado através de uma Um sistema de software identificado através de uma URIURI
((Identificador Universal de RecursosIdentificador Universal de Recursos ) cujas interfaces públicas e cujas interfaces públicas e interconexões são descritas em XML. Sua interconexões são descritas em XML. Sua definição é publicadadefinição é publicada de de modo a poder ser modo a poder ser “descoberta”“descoberta” por outros sistemas de software. por outros sistemas de software. Web Services podem interagir com outros sistemas ou Web Services Web Services podem interagir com outros sistemas ou Web Services do modo prescrito em sua definição, utilizando mensagens baseadas do modo prescrito em sua definição, utilizando mensagens baseadas no no padrão XMLpadrão XML produzidas através de protocolos de Internet.” produzidas através de protocolos de Internet.” Ref: Ref: glossários do W3C glossários do W3C
Web service é uma solução utilizada na integração de sistemas e na Web service é uma solução utilizada na integração de sistemas e na comunicação entre comunicação entre aplicações diferentes. Com esta diferentes. Com esta tecnologia é é possível que novas aplicações possam interagir com aquelas que já possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em existem e que sistemas desenvolvidos em plataformas diferentes diferentes sejam compatíveis. Os Web Services são componentes que sejam compatíveis. Os Web Services são componentes que permitem às aplicações enviar e receber dados em formato permitem às aplicações enviar e receber dados em formato XML. . Cada aplicação pode ter a sua própria "linguagem", que é traduzida Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.para uma linguagem universal, o formato XML.
88
O que são O que são Web ServicesWeb Services
Resumindo, Um Web Service é:
• Qualquer serviço que é disponibilizado através da web.• Qualquer serviço que possibilita duas aplicações de computador trocarem
dados.• Principalmente, mas não exclusivamente baseado em:
XML para codificação de dadosHTTP para transporte de dados
• Um documento XML transmitido remotamente e mapeado para um programa executável.
99
O que são O que são Web ServicesWeb Services
Comunicação entre aplicações de WS usam 4 camadas que empacotam a requisição e a resposta entre o servidor e o cliente.
XML – possibilita estabelecer objetos, métodos, parâmetros, dados e tipos de dados
SOAP – protocolo que estabele a comunicação entre os ambientes
WSDL – descreve o serviço (XML)
UDDI – representa service broker. Contém as descrições dos WS.
1010
O que são O que são Web ServicesWeb Services
1111
O que são O que são Web ServicesWeb Services
1212
O que são O que são Web ServicesWeb Services
1313
Por que Por que Web ServicesWeb Services??
Dois fatores chave: ubiqüidade facilidade de uso
Interoperável: Neutro em relação a SO e linguagem Integração Java & .NET : simples e barata
Todo mundo dá suporte ou irá dar a Serviços Web: Necessário dar suporte a Serviços Web para facilitar Integração
Não-invasivos(impactante): Baseados em protocolos ubiqüos: HTTP/SMTP Complementam tecnologias já existentes
1414
PorPor que que WWeb eb SServiceservices??
INTEGRAÇÃOINTEGRAÇÃO Interna:Interna:
• Dados como nome, endereço, telefone, matrícula, etc, todas Dados como nome, endereço, telefone, matrícula, etc, todas as áreas da empresa utilizam. Assim, estes dados podem as áreas da empresa utilizam. Assim, estes dados podem ser disponibilizados (em um formato comum) para que ser disponibilizados (em um formato comum) para que sistemas desenvolvidos por outras áreas possam utilizar em sistemas desenvolvidos por outras áreas possam utilizar em seus aplicativos específicos.seus aplicativos específicos.
Externa:Externa:• Gestão da cadeia de suprimentos. Esta integração é Gestão da cadeia de suprimentos. Esta integração é
baseada na baseada na interaçãointeração que existe entre várias empresas que existe entre várias empresas durante os diversos durante os diversos processos de fabricaçãoprocessos de fabricação e a e a logísticalogística..
1515
O que precisam?O que precisam?
Web Web ServicesServices CORBACORBA RMIRMI
ComunicaçãoComunicação SOAPSOAP GIOPGIOP JRMPJRMP
DescriçãoDescrição WSDLWSDL CORBA CORBA IDLIDL JavaJava
RegistroRegistro UDDIUDDI Serviço de Serviço de nomesnomes
RMI RMI RegistryRegistry
1616
Exemplo de Exemplo de Web ServicesWeb Services
BDsp_1
sp_n...
envólucro
Requisição XML
Resposta XML
1717
Exemplo de Exemplo de Web ServicesWeb Services
http://www.webservicex.com/globalweather.asmx
1818
Exemplo de Exemplo de Web ServicesWeb Services
http://www.maniezo.com.br/webservice/soap-server.php
1919
Exemplo de Exemplo de Web ServicesWeb Services
http://developer.yahoo.com/mail/docs/html/index.html
2020
Tecnologias EnvolvidasTecnologias Envolvidas
XMLXML SOASOA SOAP SOAP WSDLWSDL UDDIUDDI
2121
XMLXML
XML (Extensible Markup Language) é XML (Extensible Markup Language) é uma recomendação da W3C para gerar uma recomendação da W3C para gerar linguagens de marcação para linguagens de marcação para necessidades especiais. necessidades especiais.
2222
SOASOA A arquitetura orientada a serviços (SOA) descreve uma categoria de aplicativos A arquitetura orientada a serviços (SOA) descreve uma categoria de aplicativos
compostos formados pelos componentes compostos formados pelos componentes provedor de serviço e consumidor de provedor de serviço e consumidor de serviço.serviço.
Uma SOA é um modelo de projeto com um conceito profundamente amarrado à questão Uma SOA é um modelo de projeto com um conceito profundamente amarrado à questão do encapsulamento de aplicação. do encapsulamento de aplicação.
AA arquitetura arquitetura resultante estabelece essencialmente um resultante estabelece essencialmente um paradigma de projetoparadigma de projeto, no qual , no qual web services são os blocos de construção chave.web services são os blocos de construção chave.
Serviços fracamente acopladosServiços fracamente acoplados Vantagens: interoperabilidade, redução de custos e reusoVantagens: interoperabilidade, redução de custos e reuso
[8] Arquitetura de integração orientada a serviço.[8] Comunicação entre Serviços
2323
SOASOA?? Service Oriented ArchitectureService Oriented Architecture
NNovas palavras para um conceito antigo: ovas palavras para um conceito antigo: Arquitetura para aplicações baseadas em serviços (que usam serviços como Arquitetura para aplicações baseadas em serviços (que usam serviços como
componentes básicos)componentes básicos) Um serviço é a implementação de uma funcionalidade de negócio bem definida; Um serviço é a implementação de uma funcionalidade de negócio bem definida;
aplicações com arquitetura SOA aplicações com arquitetura SOA combinam serviços para oferecer outros combinam serviços para oferecer outros serviçosserviços
A principal forma de A principal forma de implementar SOAsimplementar SOAs hoje é através de hoje é através de Web ServicesWeb Services O motivoO motivo? ? A interoperabilidade!A interoperabilidade!
Find-Bind-Execute (Ache, Mapeie, Use) – paradigma central de um SOAFind-Bind-Execute (Ache, Mapeie, Use) – paradigma central de um SOA
Provedor deserviços
Registro deserviços
Consumidorde
serviços1
2
3
4
5
publique procure
mapeie
use
ache
2424
SOASOA
A arquitetura é baseada em três componentes:A arquitetura é baseada em três componentes: UDDI – Universal Description Discovery and UDDI – Universal Description Discovery and
IntegrationIntegration WSDL – Web Service Description LanguageWSDL – Web Service Description Language SOAP – Simple Object Application ProtocolSOAP – Simple Object Application Protocol
2525
SOASOA
Importância da arquitetura: Importância da arquitetura: Um estudo de caso na CAIXA ECONÔMICA FEDERAL (CEF)Um estudo de caso na CAIXA ECONÔMICA FEDERAL (CEF)
““Nada será como antes na relacão da Caixa Econômica Federal Nada será como antes na relacão da Caixa Econômica Federal com seus clientes. Agora ao entrar em uma agência para abrir uma com seus clientes. Agora ao entrar em uma agência para abrir uma conta corrente, apenas um processo colocará a disposição do conta corrente, apenas um processo colocará a disposição do usuário: número de conta, talão de cheques, acesso ao internet usuário: número de conta, talão de cheques, acesso ao internet banking, informações de cadastro e uma linha de crédito aprovada. banking, informações de cadastro e uma linha de crédito aprovada. Estas facilidades fazem parte do novo processo de abertura de Estas facilidades fazem parte do novo processo de abertura de conta corrente de pessoa física, qe está sendo implantado nas conta corrente de pessoa física, qe está sendo implantado nas agências do Banco, com base na arquitetura SOA considerada agências do Banco, com base na arquitetura SOA considerada última etapa evolutiva do mercado mundial de software.” última etapa evolutiva do mercado mundial de software.” [9][9]
O referido sistema está implantado em 2 agências e deverá ser O referido sistema está implantado em 2 agências e deverá ser implantado gradativamente nas 2400 agências até o final deste implantado gradativamente nas 2400 agências até o final deste ano.ano.
2626
SOASOA
Mercado SOAMercado SOA
IBM E SAP ajustam estratégias para SOA [Por COMPUTERWORLD 30 de março de 2007 ] IBM E SAP ajustam estratégias para SOA [Por COMPUTERWORLD 30 de março de 2007 ] http://computerworld.uol.com.br/mercado/2007/03/30/idgnoticia.2007-03-29.1127815998http://computerworld.uol.com.br/mercado/2007/03/30/idgnoticia.2007-03-29.1127815998..
SAP anuncia entrega de sistema com arquitetura SOA. SAP anuncia entrega de sistema com arquitetura SOA. http://computerworld.uol.com.br/mercado/2007/04/24/idgnoticia.2007-04-24.6041530705http://computerworld.uol.com.br/mercado/2007/04/24/idgnoticia.2007-04-24.6041530705
Estudo de CasoEstudo de Caso
http://dev.w3.org/cvsweb/~checkout~/2002/ws/arch/scenarios/ws-arch-scenarios.htmlhttp://dev.w3.org/cvsweb/~checkout~/2002/ws/arch/scenarios/ws-arch-scenarios.html
2727
Simple Object Access ProtocolSimple Object Access Protocol -SOAP -SOAP
SOAP - CaracterísticasSOAP - Características
Protocolo de comunicação baseado em XML; Iniciado em 1999 pela W3C; Permite que mensagens sejam trocadas entre
computadores heterogêneos; Pode passar por firewalls;
2828
SOAPSOAP
SOAP - ObjetivoSOAP - Objetivo O objetivo atrás do trabalho SOAP é ser um protocolo O objetivo atrás do trabalho SOAP é ser um protocolo
que é neutro para qualquer coisa:que é neutro para qualquer coisa: Transporte Linguagem de Programação Sistema Operacional Etc.
2929
SOAPSOAPESTRTUTURA GERAL ESTRTUTURA GERAL
Envelope (Envelope): Define o conteúdo da mensagem OBRIGATÓRIO estar associada com o namespace do envelope SOAP:
• http://www.w3.org/2001/06/soap-envelope Cabeçalho (Header) (é opcional):
contém informação de controle e processamento. Corpo (Body):
contém informação da chamada e da resposta
MENSAGEM SOAPMENSAGEM SOAP
ENVELOPE SOAPENVELOPE SOAP
CABEÇALHO SOAPCABEÇALHO SOAP
CabeçalhosCabeçalhos
CORPO SOAPCORPO SOAP
Dados da mensagem específicaDados da mensagem específica
Estrutura de uma mensagem SOAP
3030
SOAP- FuncionamentoSOAP- Funcionamento
SOAP assumes SOAP assumes messages have an messages have an originatororiginator, one or , one or more more ultimateultimate receiversreceivers, and zero or , and zero or more more intermediariesintermediaries..
The reason is to The reason is to support distributed support distributed message processing.message processing.
That is, we can go That is, we can go beyond client-server beyond client-server messaging.messaging.
Originator Recipient
Intermediary
Intermediary
Intermediary
Fonte: http://www.grid2004.org/spring2004
3131
SOAPSOAP
O SOAP em ação
3232
Exemplo 1- SOAPExemplo 1- SOAP<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body> <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice></soap:Body></soap:Envelope>
<?xml version="1.0"?> <soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body></soap:Envelope>
3333
SOAP SOAP [1/3][1/3] - Travel Reservation - Travel Reservation
http://www.w3.org/TR/soap12-part0/#Example
none;ultimateReciver;next.
3434
SOAP SOAP [2/3][2/3] - Resposta da solicitação- Resposta da solicitação
http://www.w3.org/TR/soap12-part0/#Example
3535
http://www.w3.org/TR/soap12-part0/#Example
SOAP SOAP [3/3][3/3] – Escolha do Aeroporto – Escolha do Aeroporto
3636
WSDLWSDLO que é um Arquivo WSDL?
Um arquivo WSDL- Web Service Description Language, é descrição de serviço Web através de um documento XML.
Criado por Microsoft, IBM, Ariba.
3737
WSDLWSDLO que WSDL Descreve?
Tipos primitivos e complexos definidos pelo XML SCHEMATipos primitivos e complexos definidos pelo XML SCHEMA
Elementos de dados de uma mensagemElementos de dados de uma mensagem
Os elementos de dados de uma operaçãoOs elementos de dados de uma operaçãoA interface de um serviçoA interface de um serviço
Nome da operaçãoNome da operação
Definem como a interface é implementada Definem como a interface é implementada por um fornecedorpor um fornecedor
3838
Exemplo: WSDLExemplo: WSDL<?xml version="1.0" encoding="UTF-8"?><definitions name="BookstoreService" targetNamespace="http://mybooks.org/wsdl" xmlns:tns="http://mybooks.org/wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <types>...</types> <message name="BookstoreIF_getPrice"> <part name="String_1" type="xsd:string"/> </message> <message name="BookstoreIF_getPriceResponse"> <part name="result" type="xsd:decimal"/> </message> <portType name="BookstoreIF"> <operation name="getPrice" parameterOrder="String_1"> <input message="tns:BookstoreIF_getPrice"/> <output message="tns:BookstoreIF_getPriceResponse"/> </operation> </portType> <binding ... > ...</binding> <service ... > ... </service> </definitions>
Informa onde está o serviço (endpoint)
3939
WSDLWSDL
4040
WSDLWSDLExemplo de Definição de Interface
4141
WSDLWSDLExemplo de Implementação de Serviço
4242
WSDLWSDL
Exemplo CompletoExemplo Completo
Cenário : Um web service para reserva de hotel.Cenário : Um web service para reserva de hotel. Funcionalidade Funcionalidade
• CheckAvailabilityCheckAvailability. To check availability, the client must specify a . To check availability, the client must specify a check-in datecheck-in date, , a check-out date, and room typea check-out date, and room type. The Web . The Web service will service will return a room rate (a floating point number in USD$)return a room rate (a floating point number in USD$) if such a room is available, or a zero room rate if not. If any input if such a room is available, or a zero room rate if not. If any input data is invalid, the service should return an error. data is invalid, the service should return an error. Thus, the Thus, the service will accept a checkAvailability message and return a service will accept a checkAvailability message and return a checkAvailabilityResponse or invalidDataFault messagecheckAvailabilityResponse or invalidDataFault message
4343
WSDL - Element TypeWSDL - Element Type
4444
WSDL - Interface ElementWSDL - Interface Element
4545
WSDL - Binding ElementWSDL - Binding Element
O elemento binding especifica um formato concreto de mensagem e protocolo da interface e deve suportar as mensagens e erros da interface.Como acessar o servico
4646
WSDL - Service ElementWSDL - Service Element
Onde acessar o servico
4747
Arquitetura de Web Services: camadasArquitetura de Web Services: camadas
Camada de transporte (protocolo largamente utilizado)Camada de transporte (protocolo largamente utilizado) Principais: HTTP (POST), FTP, SMTPPrincipais: HTTP (POST), FTP, SMTP
Camada de mensagensCamada de mensagens SOAPSOAP
Camada dados ou serviçosCamada dados ou serviços XML (formato de mensagens)XML (formato de mensagens) XML-RPCXML-RPC
Camada de descrição de serviçosCamada de descrição de serviços WSDLWSDL
Camada de descoberta (registro)Camada de descoberta (registro) UDDI, ebXMLUDDI, ebXML TransporteTransporte
MensagensMensagens
DadosDados
DescriçãoDescrição
DescobertaDescoberta
4848
UDDIUDDI
Universal Description Discovery and Integration Publicação e Descoberta de serviços Criado por Microsoft, IBM, Ariba Mantido pela OASIS (www.oasis-open.org)
• “Consórcio que dirige o desenvolvimento, convergência e adoção de e-business patterns”
• OASIS UDDI Specification Commitee
Especificações Esquema para descrição de provedores de serviços API SOAP para publicação e descoberta de serviços Baseado nos padrões da Web
• XML, HTTP, TCP/IP, SOAP Suporta serviços XML e outros modelos
4949
UDDIUDDI
Como o UDDI é usado?
analistas de negócios: Para procurar por serviços
• similar a máquinas de busca
Desenvolvedores: Para publicar serviços Para escrever software que usa os serviços descobertos
Incorporados em toolkits: para automatizar a publicação de serviços
5050
UDDIUDDI
5151
UDDIUDDIEstruturaEstrutura
Páginas BrancasPáginas Brancas: contêm informações sobre nomes, endereços, : contêm informações sobre nomes, endereços, números de telefone, além de outras informações sobre os números de telefone, além de outras informações sobre os fornecedores do serviço.fornecedores do serviço.
Páginas AmarelasPáginas Amarelas: contêm listagens comerciais baseadas nos : contêm listagens comerciais baseadas nos tipos desses negócios, de maneira organizada por categoria tipos desses negócios, de maneira organizada por categoria específica (indústria, tipo de serviço) ou regiões demográficas. específica (indústria, tipo de serviço) ou regiões demográficas.
Páginas VerdesPáginas Verdes: são usadas para indicar os serviços oferecidos : são usadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações técnicas por cada negócio, incluindo todas as informações técnicas envolvidas na interação com o serviço. Resumindo, explica como envolvidas na interação com o serviço. Resumindo, explica como fazer a comunicação com eles.fazer a comunicação com eles.
5252
UDDIUDDI
Descrições de Serviço
Identificador único programável para um dado tipo qualquer de Serviço Web
Usado por entidades padrão e desenvolvedores para “publicar” como estes serviços trabalham
Usado como uma assinatura por web sites que implementam aquelas interfaces
Armazenados no UDDI como “tModels”
5353
UDDIUDDI
Registros Públicos
conteúdo inserido no UBR (Universal Business Registry) é feito em um único nó que se torna proprietário mestre do conteúdo
conteúdo pode ser acessado de qualquer nó qualquer negócio pode configurar um nó operador empresas podem configurar:
nós privados clouds (nuvens) privadas
caiu em desuso: Microsoft, IBM, Outras, cancelaram o registro público alegando
(Microsoft) falta de maturidade da tecnologia, entre outros problemas.
5454
UDDIUDDI
5555
UDDIUDDI
Registros Privados
Descoberta Direta Incluem funcionalidades adicionais de segurança Serviços acessíveis apenas de dentro da organização
ou de grupos de parceiros confiáveis Podem ser usados para operações internas ou B2B Permite que as empresas forneçam serviços
personalizados para clientes Empresas estão adotando registros privados mais
rápido que os públicos
5656
UDDIUDDI
Tipos de Registros Privados
e-marketplace UDDI hospedado por uma indústria, lista negócios e serviços de membros do
consórcio portal UDDI
publica Serviços Web de empresas só busca (find) é disponível externamente
partner catalog UDDI disponível apenas para empresas membro publish e find restritos a usuários autorizados reside atrás de um firewall
internal UDDI disponível apenas para uma única empresa reside atrás de um firewall
5757
UDDIUDDI API de busca (Inquiry)
Busca coisas• find_business• find_service• find_binding• find_tModel
Obtém detalhes sobre coisas• get_businessDetail• get_serviceDetail• get_bindingDetail• get_tModelDetail
API de Publicação (Publish) Salva coisas
• save_business• save_service• save_binding• save_tModel
Deleta coisas• delete_business• delete_service• delete_binding• delete_tModel
Segurança…• get_authToken• discard_authToken
5858
UDDIUDDI
Limitações do UDDI
Ainda evoluindo Registros Públicos – confiabilidade de dados?
não há data da “última-atualização” não há verificações de validade
Qualidade-do-Serviço de um Serviço Web? com que freqüência ele pode ser acessado? escalabilidade? suporte técnico? Etc.
5959
UDDIUDDI
Registros
Registro da IBM: http://www.ibm.com/services/uddi/ (link quebrado)
Registro da Microsoft: http://uddi.microsoft.com/ (remete para página do Win2003)
Registro da SAP: http://uddi.sap.com/ (link quebrado)
NTT communications: http://www.ntt.com/uddi (link quebrado)
6060
UDDIUDDI
6161
Exemplo de Registro UDDIExemplo de Registro UDDI
Alguns Serviços Web já são acessíveis na Internet e.g., at http://www.xmethods.net/ serviços orientados a RPC, por exemplo:
• cálculos de taxa de câmbio, cotação de ações
6262
Exemplo de Registro UDDIExemplo de Registro UDDI
Top Related