slide 1 rede nacional de ensino e pesquisa treinamento em gradep - julho 2005 serviço worb...

20
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no Treinamento no GRADEp GRADEp Serviço Worb WorbDemo

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 1

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Treinamento no Treinamento no GRADEpGRADEp

Serviço Worb

WorbDemo

Page 2: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 2

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

AutoriaAutoria

• Autor Marko Petek Versão (número, data, autor)

• V1, junho de 2005

• V2, 03 de agosto de 2005, Geyer

Page 3: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 3

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Sumário da apresentaçãoSumário da apresentação

1 Visão Geral: Serviço Worb

2 Exemplo : WorbDemo

Page 4: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 4

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Sumário da apresentaçãoSumário da apresentação

1 Visão Geral: Serviço Worb• Diagrama de classes• Visão geral• Protocolo de invocação remota de método

2 Exemplo : WorbDemo

Page 5: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 5

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Diagrama de classes do Serviço WorbDiagrama de classes do Serviço Worb

Page 6: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 6

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Visão GeralVisão Geral

• Visão Geral Serviço Worb

• abstração dos aspectos de baixo nível relativos ao tratamento das comunicações em rede

• modelo de comunicação baseado em RPCs, semelhante ao RMI porém sem necessidade de manutenção da conexão durante toda a execução da chamada remota

• funcionalidade construída sobre a provida pelo serviço Dispatcher

• protocolo: cada chamada recebe um identificador único• permanece válido durante desconexão• usado para recuperar o resultado da chamada remota

Page 7: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 7

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Visão Geral Visão Geral

• Visão Geral interface disponibiliza métodos para:

• registro (exportService) e cancelamento do registro (unexportService) de um objeto (serviço na perspectiva do WORB)

• método lookupService• o qual possibilita a obtenção de uma referência para um dado serviço remoto

• método setExceptionHandler• que permite modificar o tratador de exceções de comunicação associado a uma

dada referência remota.

• método getClientHost• quando utilizado dentro de um método previamente exportado pelo WORB,

permite identificar o nodo emissor da invocação remota sendo tratada.

Page 8: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 8

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

• Protocolo de Invocação Remota de Método aspectos de implementação conversão do par <objeto, método> em um path transmitido ao nodo

remoto em uma requisição HTTP POST parâmetros da requisição são transmitidos na forma de um array de

objetos serializados• mecanismo padrão de serialização do Java

• adoção deste formato indicada no atributo Content-type da requisição HTTP

• três atributos estendidos, X-Worb-Op-Hash, X-Worb-Op-Session e X-Worb-Op-Resume, são definidos para o cabeçalho da requisição HTTP/Worb

Page 9: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 9

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

POST /Domain/object-bind-name/method HTTP/1.0

X-Worb-Op-Hash: ABCDABCD

X-Worb-Op-Session: AABBCCDDEEFF0011

Content-type: application/x-java-serialized-object

Content-length: 12345

<parâmetros serializados>

Page 10: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 10

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

• Protocolo de Invocação Remota de Método X-Worb-Op-Session

• este atributo consiste em um identificador de sessão de 64 bits

• hexadecimal

• gerado pelo nodo emissor da invocação remota• caso o nodo chamador venha a entrar no modo de operação desconectado antes

da conclusão da chamada remota, • este identificador pode ser usado após a reconexão para recuperação do

resultado daquela chamada remota por intermédio do atributo X-Worb-Op-Resume.

Page 11: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 11

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

POST /domain/obj/method HTTP/1.0

X-Worb-Op-Hash: ABCDABCD

X-Worb-Op-Resume: AABBCCDDEEFF0011

Page 12: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 12

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

• Protocolo de Invocação Remota de Método formato do retorno de resultados relativos a uma invocação remota

WORB• retorno: consiste em dois objetos Java serializados

• o primeiro corresponde a condições de exceção detectadas no nodo remoto durante a execução da chamada

• o segundo é referente ao resultado da chamada• em caso de sucesso, o campo correspondente à exceção contém o valor null.

Page 13: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 13

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Protocolo de Invocação Remota de MétodoProtocolo de Invocação Remota de Método

HTTP/1.0 200

Content-type: application/x-java-serialized-object

Content-length: 1234

<exceção serializada><resultado serializado>

Page 14: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 14

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Sumário da apresentaçãoSumário da apresentação

1 Visão Geral: Serviço Worb

2 Exemplo : WorbDemo

Page 15: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 15

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

WorbDemoWorbDemo

• Exemplo : Aplicação WorkDemo

Local: /isam/isam-apps/worbdemo/ Arquivos:

• WorbDemo.java• fonte da aplicação.

• worbdemo.isam• descritor de disparo da aplicação em formato XML do ISAM

Page 16: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 16

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

WorbDemoWorbDemo

• Exemplo : Aplicação WorkDemo Classes

• WSFooImpl• implementa o serviço remoto• método strlen

• retorna o tamanho de um string passado na chamada (argumento)

• identifica o host do cliente chamador

• WorbDemo• classe principal• cria um serviço remoto do tipo WSFooImpl• registra o serviço com certo nome (“foo”)• busca o serviço pelo nome

• é só uma demo ...

• usual seria um (outro) programa cliente realizar a busca

• realiza uma chamada ao serviço e imprime o resultado

Page 17: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 17

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

WorbDemo – importsWorbDemo – imports

WorbDemo.java:

// Importa Worb

import org.isam.exehda.Exehda;

import org.isam.exehda.services.Worb;

Page 18: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 18

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

WorbDemoWorbDemo

class WSFooImpl implements WSFoo {// define o método strlen

public int strlen(String s) { System.out.println("WSFooImpl.strlen() of "+s);

Worb worb = (Worb) Exehda.getService(Worb.SERVICE_NAME);

// exibe o nodo que chamou o método remotamente System.out.println("Caller is "+ worb.getClientHost());

// devolve o comprimento do string return s.length(); }

}

Page 19: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 19

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

WorbDemo – ConstrutorWorbDemo – Construtor

public class WorbDemo() // construtor ------------{

// Obtém serviço(interface) worb Worb worb = (Worb) Exehda.getService(Worb.SERVICE_NAME);

//recebe uma URI para ser utilizada com o lookupServiceString serviceURI = worb.exportService(new WSFooImpl(), WSFoo.class, "wsfoo"); // devolve o referência para o serviço remotoWSFoo foo = (WSFoo) worb.lookupService(serviceURI, WSFoo.class);

//exibe o comprimento do stringSystem.out.println("result:"+foo.strlen("123456789"));

}

Page 20: Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo

Slide 20

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Treinamento no Treinamento no GRADEpGRADEp

Serviço Worb

WorbDemo