A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.

Apresentações semelhantes


Apresentação em tema: "Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB."— Transcrição da apresentação:

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;


Carregar ppt "Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB."

Apresentações semelhantes


Anúncios Google