Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access...

30
Universidade Federal Fluminense Mestrado em Sistemas de Telecomunicações Disciplina: Fundamentos de Sistemas Multimídia Web Services Aluno: Leonardo Severo Alves de Melo [email protected]

Transcript of Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access...

Page 1: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Universidade Federal FluminenseMestrado em Sistemas de Telecomunicações

Disciplina: Fundamentos de Sistemas Multimídia

Web Services

Aluno: Leonardo Severo Alves de [email protected]

Page 2: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Introdução

Web services é um conjunto de tecnologias criadas com o objetivo de prover uma prestação de serviços qualquer, novos ou

não, de forma integrada.

Page 3: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Benefícios:

� Abertura de novas portas para oportunidades de interação e negócios entre empresas, parceiros e clientes;

� Permite que os usuários se integrem melhor a aplicações via qualquer dispositivo capaz, como handhelds e computadores pessoais;

� Reduz o tempo de desenvolvimento, poupando tempo e dinheiro.

Page 4: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Objetivos:

� Aplicações funcionando como serviços

� Troca de Informações entre aplicações

� Compartilhamento de aplicações

� Modelo e Padronização para Comunicação (XML)

� Aplicações sabem como se comunicar

� Grande potencial para B2B

Page 5: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Exemplos:

� Fábrica de carros� Sites de busca (Google)� Localização de serviços via dispositivos móveis� Fornecedores de produtos� Geladeira� Validação de dados financeiros

Page 6: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Exemplo prático.....apresentação da HP

Page 7: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

E como funciona ?

Page 8: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Mais detalhadamente...

Page 9: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Grupos de Trabalho: Quem estuda e qual o objetivo?

XML Protocol Working Group: Criar protolocos simples que podem ser desdobrados e facilmente programados por scripts, ferramentas XML e interativas de desenvolvimento web, etc..

Web Services Description Working Group: Projetar os componentes de interface de comunicação, tratando da mensagem, padrões de troca e associações protocolares.

Web Services Choreography Working Group: Desenvolvimento e padronização de processos integraveis de web services, levando em conta as particularidades individuas de cada serviço, colaboradores e usuários

Semantic Web Services Interest Group: Estudar inovações na integração tecnológica entre web services, seus serviços e potenciais.

Todos inseridos no W3C!

Page 10: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Tecnologias envolvidas

UDDI

SOAPWSDL

XML

Page 11: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Linguagem XML (eXtensible Markup Language)

. Uma metalinguagem de desenvolvimento.

. Atrativo pelo uso de padrões, aceitação no mercado, independente de plataforma, localização e linguagem da aplicação.

Características da linguagem:

� Origem no SGML;� Representação estruturada dos dados;� Separação entre dados e apresentações;

Page 12: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Princípais benefícios

� Buscas mais eficientes� Desenvolvimento de aplicações flexíveis para Web� Integração de dados de fontes diferentes� Computação e manipulação locais� Multiplas formas de visualizar dados� Atualizações granulares dos documentos� Fácil distribuição na Web� Escalabilidade� Compressão

Page 13: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Estrutura básica

Page 14: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

XML

<estante><livro>

<titulo>Onze Minutos</titulo><autor>Paulo Coelho</autor><preco>39.95</preco>

</livro><livro>

<titulo>A semente da vitoria</titulo><autor>Nuno Cobra</autor><preco>25.00</preco>

</livro></estante>

"I know what it means, and you tell me how it should look”

Page 15: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

SOAP (Simple Object Access Protocol)

Protocolo simples de acesso a objetos, baseado em XML.Descreve a comunicação entre máquinas.

Principais benefícios:

� Simplicidade na implementação e uso;� É um padrão da indústria;� Usa os mesmos padrões da web (comunicação via http, protocolos de autenticação e encriptação são os mesmos, implementado pelo próprio servidor);� “Invisiveis” para firewalls e roteadores;� Independente de sistemas operacionais e CPUs;� Tanto os dados como as funções são descritas em XML, o que torna o protocolo não apenas fácil de usar como também muito robusto.

Page 16: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

E como funciona?

Aplicação A codifica RPC em umamensagem SOAP

A mensagem SOAP é encapsulada em um HTTP

Aplicacao B decodifica

Aplicação B envia resultado para Aem uma mensagem SOAP

Page 17: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

E como funciona?

Page 18: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

SOAP Request

POST /InStock HTTP/1.1Host: www.stock.org Content-Type:application/soap+xml;charset=utf-8 Content-Length: nnn<?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 xmlns:m="http://www.stock.org/stock"><m:GetStockPrice>

<m:StockName>IBM</m:StockName></m:GetStockPrice>

</soap:Body></soap:Envelope>

Page 19: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

SOAP Response

HTTP/1.1 200 OK Content-Type: application/soap;charset=utf-8 Content-Length: nnn<?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 xmlns:m="http://www.stock.org/stock">

<m:GetStockPriceResponse><m:Price>34.5</m:Price>

</m:GetStockPriceResponse></soap:Body>

</soap:Envelope>

Page 20: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

WSDL (Web Services Description Language)

. Constitui-se de uma gramática especializada para integração entre tecnologias. . Descreve as interfaces de Web Services e como invocar um serviço.

Características / benefícios principais:

� Documento XML � Descreve a comunicação entre as aplicações;� Assegura a interoperabilidade entre as camadas subsequentes;� Possibilita a agregação de outras tecnologias.

Page 21: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Cliente

� One-way – deve receber uma mensagem mas não retorna umaresposta

� Request-response – deve receber uma requisição e retornauma reposta

Servidor

� Solicit-response – a operação pode enviar uma requisição e esperar uma resposta

� Notification – a operação envia uma mensagem mas nãoespera resposta

Tipos de operações

Page 22: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

WSDL

<definitions>...

<message name="getTermoRequest"><part name="termo" type="xs:string"/>

</message><message name="getTermoResponse">

<part name="valor" type="xs:string"/></message><portType name=“termosGlossario"><operation name="getTermo">

<input message="getTermoRequest"/><output message="getTermoResponse"/>

</operation></portType>

...</definitions>

Page 23: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

UDDI (Universal Description, Discovery and Integration)

� Define um modo de publicação e descobrimento de informações sobre web services;� Provê um registro distribuído de negócios e serviços implementada em um documento de formato XML comum.

Lista de serviços:

� Páginas Brancas: empresas e serviços

� Páginas Amarelas: serviços por área da indústria, tipo de serviço

� Páginas Verdes: mecanismos técnicos (interfaces URLs)

Page 24: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Especificações que permitem a publicação de informações

Service Provider

ServiceRequester

UDDI registry

1. Publica serviço

4. Invoca serviço 2. Busca

WSDL

3. Envia WSDL

5. Retorna resultados

Page 25: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Problemas:

� Especificação não finalizada

� Categorias de registro não padronizadas

� Falta autenticação para acesso restrito a aplicações

� Disponibilidade de serviços no nível de producao nao é suficiente

Page 26: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Em suma: Acessando um Web Service

Servidor de Aplicação

SistemaCorporativo

HTTPServer

SOAPProcessor

Cliente

Pedido SOAP

Resposta SOAPXMLXML

Registro de Serviços(UDDI)

O cliente procura um Web Service

O Web Service se registra

WSDLWSDL

Serviços descobertos e utilizados dinamicamente!

Page 27: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Conclusão

O modo de ver o mundo mudou com a chegada dos web services.

A comunicação entre sistemas imediata, fácil, ágil e invariável não é apenas mais uma necessidade ou luxo: é uma exigência

mercadológica.

Quem não aderir, não irá sobreviver.

Page 28: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Conclusão (cont.)

Questões ainda em aberto ou em evolução

� Segurança� Transações� Garantia de entrega� Performance

93% dos profissionais de TI da Fortune 2000, indicam que Web Services é uma iniciativa chave de TI.

Page 29: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

Conclusão (cont.)

“O futuro dos Web Services quebrará barreiras para um mundo conectado”

� Entre sistemas e organizações;� De confiança;� Entre pessoas;� De conhecimento;� De uso diário.

Page 30: Web Services - midiacom.uff.brdebora/fsmm/trab-2004-1/apres... · SOAP (Simple Object Access Protocol) Protocolo simples de acesso a objetos, baseado em XML. Descreve a comunicação

The End