slide 1 rede nacional de ensino e pesquisa treinamento em gradep - julho 2005 serviço worb...
Post on 17-Apr-2015
107 Views
Preview:
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