1 Web Services José Gustavo Quadro Julho de 2005.

40
1 Web Services José Gustavo Quadro Julho de 2005

Transcript of 1 Web Services José Gustavo Quadro Julho de 2005.

Page 1: 1 Web Services José Gustavo Quadro Julho de 2005.

1

Web Services

José Gustavo QuadroJulho de 2005

Page 2: 1 Web Services José Gustavo Quadro Julho de 2005.

2

ObjetivosInvestigar as especificaçõesExplorar as tecnologias de Web

Services disponíveisCaracterizar algumas

implementações

Page 3: 1 Web Services José Gustavo Quadro Julho de 2005.

3

MetodologiaFundamentação nas especificações

JCPEscolha de implementaçõesInvestigação de características

principais

Page 4: 1 Web Services José Gustavo Quadro Julho de 2005.

4

EspecificaçõesJSR 101:

JAX-RPCJSR 109:

Empacotamento Instalação Execução (de componentes)

Page 5: 1 Web Services José Gustavo Quadro Julho de 2005.

5

JSR 101A implementação é o JAX-RPC3 tipos de clientes:

stub estático stub dinâmico (dynamic proxy) DII (dynamic invocation interface)

invocação dinâmicageração automática e sob demanda

Page 6: 1 Web Services José Gustavo Quadro Julho de 2005.

6

JSR 109 (1/3)Define o processo de instalação

(deploy) no servidor J2EEDefinição dos tipos de servidores

Bean sem estado (contêiner EJB) Classe Java (contêiner Web)

Page 7: 1 Web Services José Gustavo Quadro Julho de 2005.

7

JSR 109 (2/3)Modelo de programação

Como é definido o servidor para ser acessível via Web Service

Como o cliente utiliza JAX-RPC para chamarEmpacotamentoInstalação

Como descrever o servidor como um Web Service

Como descrever o cliente para usar JAX-RPC

Page 8: 1 Web Services José Gustavo Quadro Julho de 2005.

8

JSR 109 (3/3)Clientes são os mesmos da JSR 101109 > 101Só uma formalização do que já havia

sido implementado

Page 9: 1 Web Services José Gustavo Quadro Julho de 2005.

9

Web Services - JSR 101 (1/2)

Page 10: 1 Web Services José Gustavo Quadro Julho de 2005.

10

Web Services - JSR 101 (2/2)

Page 11: 1 Web Services José Gustavo Quadro Julho de 2005.

11

Web Services - características 1. Implementação mantida no servidor,

na rede 2. Padrão para troca de dados e

chamadas 3. Padrão de descrição de serviço 4. Padrão para segurança 5. Padrão para descoberta e registro de

serviços

Page 12: 1 Web Services José Gustavo Quadro Julho de 2005.

12

Web Service - funcionamento O que normalmente ocorre:

Page 13: 1 Web Services José Gustavo Quadro Julho de 2005.

13

Web Service - funcionamento

Page 14: 1 Web Services José Gustavo Quadro Julho de 2005.

14

Web Services - Siglas SOAP, WSDL, UDDI JAXR=UDDI+ebXML

Page 15: 1 Web Services José Gustavo Quadro Julho de 2005.

15

Implementações3 Produtos analisadosBEA WebLogic - versão 8.1Oracle OC4J - versão 10gIBM WebSphere - versão 5.2

Page 16: 1 Web Services José Gustavo Quadro Julho de 2005.

16

BEA WebLogic (1/8)SOAP 1.1, 1.2, with Attachments (SAAJ)

XML PayloadWSDL 1.1JAX-RPC 1.0WS-SecurityUDDI 2.0XML Schema

Page 17: 1 Web Services José Gustavo Quadro Julho de 2005.

17

BEA WebLogic (2/8)Segurança em 3 níveis

1. Nível de mensagem: criptografia 2. Nível de protocolo: SSL

JMS não suporta segurança 3. Nível de usuário:

usuáriogrupooperaçãoroles

Page 18: 1 Web Services José Gustavo Quadro Julho de 2005.

18

BEA WebLogic (3/8)Confiabilidade

na troca de mensagens assíncronas utilizado em JMS 2 estados possíveis mensagem enviada mensagem não enviada transação no servidor

Page 19: 1 Web Services José Gustavo Quadro Julho de 2005.

19

BEA WebLogic (4/8)Suporta UDDISuporta SAAJSuporta SOAP 1.2Suporta JMS sobre TCP/IP

Page 20: 1 Web Services José Gustavo Quadro Julho de 2005.

20

BEA WebLogic (5/8)Geração automática:

stubs para chamadas assíncronas (2 métodos)

clientes web, J2SE, J2ME exposição da fachada de sessão

Page 21: 1 Web Services José Gustavo Quadro Julho de 2005.

21

BEA WebLogic (6/8)Implementação no servidor:

Stateless session bean Java class Message-driven bean

Suporta chamadas síncronas e assíncronas

Suporta RPC- e Document-oriented WS

Page 22: 1 Web Services José Gustavo Quadro Julho de 2005.

22

BEA WebLogic (7/8)Message-Driven Bean, JMS

Page 23: 1 Web Services José Gustavo Quadro Julho de 2005.

23

BEA WebLogic (8/8) Dados:

Padrão: JAX-RPCNão-padrão: autotypeNão-padrão: XML Schema

Manipuladores, cabeçalho SOAP(criptografia)

Simulação WS Statefull: Entity Bean, JDBC, id

Cache

Page 24: 1 Web Services José Gustavo Quadro Julho de 2005.

24

Oracle OC4J (1/8)SOAP 1.1

RPC-oriented Document-oriented

WSDL 1.1UDDI 2.0

Page 25: 1 Web Services José Gustavo Quadro Julho de 2005.

25

Oracle OC4J (2/8)Implementação do servidor

Classe Java Stateless, StatefullRPC e Document

Stateless Session Bean Message-Driven Bean (JMS) PL/SQL, JPublisher

Page 26: 1 Web Services José Gustavo Quadro Julho de 2005.

26

Oracle OC4J (2/8)Ferramenta de apoioEnterprise ManagerRealiza monitoraçãoFaz manutençãoControla o UDDI

Page 27: 1 Web Services José Gustavo Quadro Julho de 2005.

27

Oracle OC4J (3/8)Stubs Java top-down

a partir do WSDL Contraste bottom-up, aplicações legadas

Exposição de métodos de componentes J2EE

Exposição de procedures e functions PL/SQL

Page 28: 1 Web Services José Gustavo Quadro Julho de 2005.

28

Oracle OC4J (4/8)SegurançaHerdada do J2EESingle Sign-On

Page 29: 1 Web Services José Gustavo Quadro Julho de 2005.

29

Oracle OC4J (5/8)WS orientado a RPC

Classes Java - servidor Web Stateless Session Beans PL/SQL

WS orientado a Documento Classes Java JMS

PL/SQL Statefull = Classe Java->PL/SQL

Page 30: 1 Web Services José Gustavo Quadro Julho de 2005.

30

Oracle OC4J (6/8)

ServletEspecialização

Page 31: 1 Web Services José Gustavo Quadro Julho de 2005.

31

Oracle OC4J (7/8)Limite de tipos de dadosJAX-RPC não suportadoSuporte a primitivos e alguns outrosPara WS orientados a Documento:

org.w3c.dom.Element é o único aceitoSuporte a outras bases de dados

usando o UDDI Registry SQL Server, DB2, Sybase - procedures

Page 32: 1 Web Services José Gustavo Quadro Julho de 2005.

32

Oracle OC4J (8/8)Oracle Web Services Manager, GatewaySegurança XML/HTTP -> JMS

Page 33: 1 Web Services José Gustavo Quadro Julho de 2005.

33

IBM WebSphere(1/7)SOAP sobre HTTPSOAP sobre JMSJAX-RPCWS-Interoperability Basic Profile (WS-

I) entre WS independência de “bandeira”

Page 34: 1 Web Services José Gustavo Quadro Julho de 2005.

34

IBM WebSphere(2/7)IBM SOAP4J

Doação para Apache Virou Apache SOAP Outros servidores de aplicação o usam

WebSphere SOAP Engine - Apache Axis desempenho, pesquisa, alphaWorks

SOAP 1.0, mas provavelmente 2.0...

Page 35: 1 Web Services José Gustavo Quadro Julho de 2005.

35

IBM WebSphere(3/7)UDDI 2.0WSIF - Web Services Invocation

Framework abstração do protocolo stub-less

Suporte a SAAJ - with Attachments

Page 36: 1 Web Services José Gustavo Quadro Julho de 2005.

36

IBM WebSphere(4/7)WSIL - Web Services Inspection

Language UDDI x WSIL busca de WS distribuída WSDL não-centralizado sem nível de indireção mais baixo nível maior performance

Page 37: 1 Web Services José Gustavo Quadro Julho de 2005.

37

IBM WebSphere(5/7)BPEL4WS - Business Process

Execution Language for WS integrar WS em aplicações de workflow etapas de um processo envolvem WS

diferentes

Page 38: 1 Web Services José Gustavo Quadro Julho de 2005.

38

IBM WebSphere(6/7)WSGW - Web Services Gateway

monitoração gerenciamento segurança XML/HTTP -> JMS

DADX - Document Access Definition Extension integração com procedures do DB2

Page 39: 1 Web Services José Gustavo Quadro Julho de 2005.

39

IBM WebSphere(7/7)Criação de Web Services top-down

geração de stubs a partir do WSDL

Page 40: 1 Web Services José Gustavo Quadro Julho de 2005.

40

Muito Obrigado!