62
1 ITA - Instituto Tecnológico de ITA - Instituto Tecnológico de Aeronáutica Aeronáutica Web Services Web Services Semânticos Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Prof. Dr. José Maria Parente Grupo: Ferrucio, Rafael e Luiz Eduardo Grupo: Ferrucio, Rafael e Luiz Eduardo

1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

Embed Size (px)

Citation preview

Page 1: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 2: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 3: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 4: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 5: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 6: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 7: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 8: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 9: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 10: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1010

O que são O que são Web ServicesWeb Services

Page 11: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1111

O que são O que são Web ServicesWeb Services

Page 12: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1212

O que são O que são Web ServicesWeb Services

Page 13: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 14: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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..

Page 15: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 16: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1616

Exemplo de Exemplo de Web ServicesWeb Services

BDsp_1

sp_n...

envólucro

Requisição XML

Resposta XML

Page 17: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1717

Exemplo de Exemplo de Web ServicesWeb Services

http://www.webservicex.com/globalweather.asmx

Page 18: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1818

Exemplo de Exemplo de Web ServicesWeb Services

http://www.maniezo.com.br/webservice/soap-server.php

Page 19: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

1919

Exemplo de Exemplo de Web ServicesWeb Services

http://developer.yahoo.com/mail/docs/html/index.html

Page 20: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

2020

Tecnologias EnvolvidasTecnologias Envolvidas

XMLXML SOASOA SOAP SOAP WSDLWSDL UDDIUDDI

Page 21: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 22: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 23: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 24: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 25: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 26: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 27: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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;

Page 28: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 29: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 30: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 31: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

3131

SOAPSOAP

O SOAP em ação

Page 32: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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>

Page 33: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

3333

SOAP SOAP [1/3][1/3] - Travel Reservation - Travel Reservation

http://www.w3.org/TR/soap12-part0/#Example

none;ultimateReciver;next.

Page 34: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

3434

SOAP SOAP [2/3][2/3] - Resposta da solicitação- Resposta da solicitação

http://www.w3.org/TR/soap12-part0/#Example

Page 35: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

3535

http://www.w3.org/TR/soap12-part0/#Example

SOAP SOAP [3/3][3/3] – Escolha do Aeroporto – Escolha do Aeroporto

Page 36: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 37: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 38: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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)

Page 39: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

3939

WSDLWSDL

Page 40: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

4040

WSDLWSDLExemplo de Definição de Interface

Page 41: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

4141

WSDLWSDLExemplo de Implementação de Serviço

Page 42: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 43: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

4343

WSDL - Element TypeWSDL - Element Type

Page 44: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

4444

WSDL - Interface ElementWSDL - Interface Element

Page 45: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 46: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

4646

WSDL - Service ElementWSDL - Service Element

Onde acessar o servico

Page 47: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 48: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 49: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 50: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

5050

UDDIUDDI

Page 51: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.  

Page 52: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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”

Page 53: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 54: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

5454

UDDIUDDI

Page 55: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 56: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 57: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 58: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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.

Page 59: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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)

Page 60: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

6060

UDDIUDDI

Page 61: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

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

Page 62: 1 ITA - Instituto Tecnológico de Aeronáutica Web Services Semânticos Disciplina: CE 262 – Ontologias e Web Semântica. Prof. Dr. José Maria Parente Grupo:

6262

Exemplo de Registro UDDIExemplo de Registro UDDI