34
Introdu¸ ao Web Services Middleware SOAP Referˆ encias Bibligr´ aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias de Middleware 2006/2007 Faculdade de Ciˆ encias da Universidade de Lisboa 20.10.2006 Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

Web Services e SOAP

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007

Faculdade de Ciencias da Universidade de Lisboa

20.10.2006

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 2: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

1 IntroducaoDefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

2 Web Services MiddlewareTecnologiaArquitectura

3 SOAPSOAP-based MiddlewareExemplos

4 Referencias Bibligraficas

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 3: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Web Services - A Procura de Uma Definicao

Definicao A

Uma aplicacao acessıvel a outras aplicacoes atraves da Web.

Problemas:

Por este ponto de vista quase tudo e um Web service: Muito vago.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 4: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Web Services - A Procura de Uma Definicao

Definicao da UDDI Consortium

A self-contained, modular business applications that have open,Internet-oriented, standards-based interfaces.

obs: O acesso aos servicos e feito atraves da invocacao defuncionalidades descritas numa interface; a comunicacao e feita usandoprotocolos para a internet.Problemas:

O que e uma aplicacao self-contained, modular?

Quais os standards para a criacao das interfaces?

Onde estao as interfaces e como encontra-las?

Como invocar o servico?

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 5: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Web Services - A Procura de Uma Definicao

Definicao do W3C

A software application identified by a URI (Universal Resource Identifier),whose interfaces and bindings are capable of being defined, described,and discovered as XML artifacts. A Web service supports directinteractions with other software agents using XML-based messagesexchanged via Internet-based protocols.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 6: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Motivacao - Problema da Integracao B2B

As plataformas EAI (brokers)fornecem o mecanismo para aintegracao de sistemasautonomos e heterogeneos nocontexto de uma organizacao.

Os sistemas de Workflowimplementam e executam osprocessos de negocio,distribuindo o trabalho pelaspessoas e aplicacoes, mas...

O sistema pode estardistribuıdo por variasempresas/entidades distintas,relacionadas em algum processode negocio partilhado.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 7: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Motivacao - Problema da Integracao B2B

Tradicionalmente:

Questao Fundamental: Onde colocar o middleware para aintegracao?

Numa das partes?

Confiar em terceiros? Peer-2-Peer?

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 8: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Motivacao - Problema da Integracao B2B

Tradicionalmente:

Questao Fundamental: Onde colocar o middleware para aintegracao?

Numa das partes? autonomia e modularidade.

Confiar em terceiros? Peer-2-Peer?

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 9: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Solucoes com Middleware Convencional

1 (Solucao 1) B2B - versao EAI

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 10: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Solucoes com Middleware Convencional

1 (Solucao 1) B2B - versao EAI

Problema: Seguranca, Fiabilidade

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 11: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Solucoes com Middleware Convencional

1 (Solucao 2) B2B - versao peer-to-peer

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 12: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Solucoes com Middleware Convencional

1 (Solucao 2) B2B - versao peer-to-peer

Problema: Escalabilidade

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 13: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Contribuicao dos Web Services para a Integracao B2B

1 Arquitecturas orientadas a servicos

Um servico e um procedimento, metodo ou objecto com umainterface publicada que pode ser invocada por aplicacoes clientes.Web services sao como os servicos de middleware. Funcionam comowrappers das funcionalidades internas, expondo-as atraves de umainterface publicada.

2 Protocolos de Middleware Peer-to-Peer

Redesenhar os protocolos de middleware para funcionamento emmodo Peer-to-Peer.

3 Standards

Linguagens e Protocolos standards necessarios para a escalabilidade.A nao utilizacao de standards levaria a profusao de formatos.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 14: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Contribuicao dos Web Services para a Integracao B2B

All Together

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 15: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

DefinicoesLimitacoes do Middleware EstudadoIntegracao com Web Services

Contribuicao dos Web Services para a Integracao EAI

All Together

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 16: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

TecnologiaArquitectura

Service Description, Discovery and Interactions

Descricao de Servicos (WSDL)

Descoberta de Servicos (UDDI)

Descricoes dos Servicos sao guardados num service directoryOs clientes utilizam o Service Directory para localizar os servicosA especificacao do UDDI define uma API para o publishing ediscovery de informacao sobre servicos no service directory

Interaccoes entre Web Services (SOAP)

TransporteBasic and Secure messaging

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 17: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

TecnologiaArquitectura

Arquitectura

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 18: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

TecnologiaArquitectura

Arquitectura Interna

Arquitectura por camadas. Os Web services sao mais uma camadapor cima do middleware convencional.A implementacao esta no middleware convencional. Web servicesfuncionam como wrappers dos servicos existentes, servindo deinterface entre as camadas de nıvel superior e inferior.Atraves da composicao pode-se contruir novos servicos(flexibilidade, escalabilidade). Web Services de ordem superior saoWeb Services resultantes da composicao de Web Services.Uma nova camada e o empacotamento de mensagens entre camadascausam um overhead no processamento das mensagens.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 19: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

TecnologiaArquitectura

Arquitectura Externa

Os fornecedores de servicos criam Web services e uma interface paraa invocacao dos servicos.Geram descricoes dos servicos e publica-as no service registry.Os clientes consultam o service registry por um determinado servico.O service registry responde com a localizacao do servico e como oinvocar.O binding entre o cliente e o fornecedor e feito na invocacao doservico.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 20: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Enquadramento

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 21: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Enquadramento

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 22: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Enquadramento

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 23: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Objectivos

Protocolo para a comunicacao entre Web services que especifica:

Formato generico das mensagens

Convencoes para a implementacao de comunicacao estilo RPC

Regras e accoes para os nos que processam as mensagens SOAP.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 24: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Formato Generico das Mensagens SOAP

SOAP Envelope

SOAP Header

SOAP Body

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 25: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Tipos de Interaccao

Document-style

RPC-style

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 26: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Codificacao da informacao em XML

Exemplos de codificacao para uma mesma mensagem

Cliente e servidor devem por isso concordar na representacao dos dados

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 27: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Processamento da Mensagem

Cliente e Servidor estao separados por nos de processamento.

O nos podem desempenhar varios papeis: none, next eultimateReceiver.

Os blocos do cabecalho podem definir quais os papeis que os devemprocessar:

none: o bloco nao deve ser processado por nenhum no. Pode ser lidopara obter informacao necessaria para processar outros blocos.next: todos os nos devem processar o bloco.ultimateReceiver: o bloco deve ser processado apenas pelodestinatario da mensagem.

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 28: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

SOAP e Protocolos de Transporte

SOAP define como as mensagens devem ser incorporadas numprotocolo de transporte.

Tipicamente sao usados os protocolos HTTP e SMTP (SOAPAssıncrono).

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 29: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Implementacao do SOAP

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 30: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Exemplos

Programa Cliente (Java)

API

Mensagens SOAP

Implementacao doServico (Java)

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 31: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Exemplos

Programa Cliente (Java)

API

Mensagens SOAP

Implementacao doServico (Java)

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 32: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Exemplos

Programa Cliente (Java)

API

Mensagens SOAP

Implementacao doServico (Java)

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 33: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

SOAP-based MiddlewareExemplos

Exemplos

Programa Cliente (Java)

API

Mensagens SOAP

Implementacao doServico (Java)

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP

Page 34: Web Services e SOAP - INESC-IDler/docencia/tm0607/slides/...Introdu¸c˜ao Web Services Middleware SOAP Referˆencias Bibligr´aficas Web Services e SOAP Alexandre Zua Caldeira Tecnologias

IntroducaoWeb Services Middleware

SOAPReferencias Bibligraficas

[1]G. Alonso, F. Casati, H. Kuno, V. Machiraju. Web Services: Concepts,Architecture and Applications. Springer Verlag 2004[2]http://www.oreilly.com/catalog/progwebsoap/chapter/ch03.html

Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 Web Services e SOAP