Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouArtur Salvador Alterado mais de 9 anos atrás
1
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB
2
Organização Módulo 1: –Conceitos de Sistemas Distrubídos; Módulo 2: –Remote Procedure Call; Módulo 3: –Java RMI; Módulo 4: –CORBA;
3
Módulo 2 - Sumário RPC – Remote Procedure Call –Introdução; –Arquitetura RPC; –Java RPC; –Estudo de Caso; –Atividade;
4
Remote Procedure Call Introdução Comunicação no modelo cliente- servidor é baseada em E/S: –Abstração fraca; Ideal é programar um SD como se fosse um SC; Permitir chamada de procedimento remoto como se fosse local;
5
Remote Procedure Call Introdução Um servidor é definido por sua interface; O cliente possui um Stub de cada serviço do servidor; Stub: representante local de um procedimento remoto;
6
Remote Procedure Call Arquitetura client Request Reply Communication module dispatcher service client stub server stub procedure client processserver process procedure program
7
Remote Procedure Call Arquitetura Stub: –Aumenta transparência da implementação; –Faz marshalling do procedimento e dos argumentos em uma requisição; –Quando recebe Reply faz unMarshalling;
8
Remote Procedure Call Arquitetura Dispatche: chama o Server Stub apropriado; Server Stub: faz unMarshall dos argumentos e chama procedimento; –Faz unMarshall para Reply;
9
Remote Procedure Call Arquitetura – Sun RPC Também chamado de ONC (Open Network Computing) RPC; Usa linguagem de definição de interface Sun XDR; Compilador de interface RPCGEN para linguagem C;
10
Remote Procedure Call Arquitetura – Sun RPC const MAX = 1000; typedef int FileIdentifier; typedef int FilePointer; typedef int Length; struct Data { int length; char buffer[MAX]; }; struct writeargs { FileIdentifier f; FilePointer position; Data data; }; struct readargs { FileIdentifier f; FilePointer position; Length length; }; program FILEREADWRITE { version VERSION { void WRITE(writeargs)=1; Data READ(readargs)=2; }=2; } = 9999;
11
Remote Procedure Call Arquitetura – Sun RPC client.csquare_clnt.c square_xdr. c square_svc.c server.c square. x rpcgen square.h clientserver gcc
12
Remote Procedure Call Arquitetura – Sun RPC Executa um servidor de ligação chamado port mapper; –Registra número do programa, versão e porta em que o serviço executa; Serviço se registra no serviço de ligação; Cliente requisita a porta de um serviço, –Informando o número do programa e a versão;
13
Remote Procedure Call Arquitetura – Sun RPC
14
Remote Procedure Call Java RPC Implementação do Sun RPC para Java; Jrpcgen.exe; Portmapper; Implementação: –http://netbula.com/javarpc/ –Biblioteca orpc.jar; –Arquivo RPCmid;
15
Remote Procedure Call Estudo de Caso – Java RPC Exemplo RPChello; Código fonte: –Interface: hello.x; –Cliente: ClihelloRPC.java; –Servidor: SrvhelloRPC.java;
16
Remote Procedure Call Estudo de Caso - Cliente Desenvolver interface: –hello.x; Compilar a interface no cliente: –Jrpcgen.exe; Desenvolver aplicação cliente; Compilar cliente: –javac -classpath..\orpc.dev\lib\orpc.jar;. ClihelloRPC.java
17
Remote Procedure Call Estudo de Caso - Servidor Compilar a interface no servidor: –Jrpcgen.exe; Desenvolver aplicação servidor; Compilar servidor: –javac -classpath..\orpcc.dev\lib\orpc.jar;. SrvhelloRPC.java
18
Remote Procedure Call Estudo de Caso - Execução Executar pmapsvc (PortMapper): –java -classpath..\..\orpc.dev\lib\orpc.jar;. pmapsvc Executar o servidor: –java -classpath..\orpcc.dev\lib\orpc.jar;. SrvhelloRPC Executar o cliente: –java -classpath..\orpcc.dev\lib\orpc.jar;. ClihelloRPC localhost
19
Remote Procedure Call Atividade Testar estudo de caso em diferentes computadores; Passar e retornar parâmetro na mensagem; –Alterar interface; –Alterar cliente; –Alterar servidor;
20
Remote Procedure Call Atividade Exemplo da calculadora remota: –CalcRPC.x; –CliCalcRPC.java; –SrvCalcRPC.java;
21
Remote Procedure Call Atividade Exemplo da calculadora remota: –Gerar strubs; –Compilar Cliente; –Compilar Servidor; –Executar PortMapper; –Executar Servidor; –Executar Cliente;
22
Remote Procedure Call Atividade Exemplo da calculadora remota: –Testar em diferentes máquinas; Extensão: –Alterar adição e subtração para trabalhar com três parâmetros;
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.