1 Web Services José Gustavo Quadro Julho de 2005

Preview:

Citation preview

1

Web Services

José Gustavo QuadroJulho de 2005

2

ObjetivosInvestigar as especificaçõesExplorar as tecnologias de Web

Services disponíveisCaracterizar algumas

implementações

3

MetodologiaFundamentação nas especificações

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

principais

4

EspecificaçõesJSR 101:

JAX-RPCJSR 109:

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

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

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)

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

8

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

sido implementado

9

Web Services - JSR 101 (1/2)

10

Web Services - JSR 101 (2/2)

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

12

Web Service - funcionamento O que normalmente ocorre:

13

Web Service - funcionamento

14

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

15

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

16

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

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

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

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

19

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

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

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

22

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

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

24

Oracle OC4J (1/8)SOAP 1.1

RPC-oriented Document-oriented

WSDL 1.1UDDI 2.0

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

26

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

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

28

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

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

30

Oracle OC4J (6/8)

ServletEspecialização

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

32

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

33

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

I) entre WS independência de “bandeira”

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

35

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

Framework abstração do protocolo stub-less

Suporte a SAAJ - with Attachments

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

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

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

39

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

geração de stubs a partir do WSDL

40

Muito Obrigado!

Recommended