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

Post on 17-Apr-2015

107 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Slide 1

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Treinamento no Treinamento no GRADEpGRADEp

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

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

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

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

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

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.

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

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>

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.

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

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.

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>

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

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

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

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;

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(); }

}

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"));

}

Slide 20

Rede Nacional de Ensino e PesquisaTreinamento em Gradep - julho 2005

Serviço Worb

Treinamento no Treinamento no GRADEpGRADEp

Serviço Worb

WorbDemo

top related