trabalho t.a 2015

23
UNIVERSIDADE AGOSTINHO NETO FACULDADE DE CIÊNCIAS DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO TEMA: Pesquizadores: Fernando Fortuna Bernardo de Araújo Jeremias Kugingama Capemba Grupo nº: Disciplina: Tópicos Avançados Regente: Mateus Padoca Calado, MSc. 25-05-2022 1 RPC, RMI e CORBA

Upload: capeloy

Post on 13-Jan-2017

183 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

1

UNIVERSIDADE AGOSTINHO NETOFACULDADE DE CIÊNCIAS

DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO

TEMA:

Pesquizadores: Fernando Fortuna Bernardo de AraújoJeremias Kugingama Capemba

Grupo nº:

Disciplina: Tópicos AvançadosRegente: Mateus Padoca Calado, MSc.

RPC, RMI e CORBA

Page 2: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

2

Sumário

Introdução• Conceitos Sobre Sistemas Distribuidos

• Apoio conceitual de Tanenbaum/Van Steen• Característica Principais• Exemplos

Desenvolvimento• Chamada do Procedimento Remoto (RPC-Remote Procedure Call)• Metódo de Invocação Remota (RMI-Remote Method Invocation)• Desvantagens entre RPC vs RMI• CORBA

ConclusãoBibliografia

Page 3: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

3

Introdução• Sistemas Distribuidos

– é uma coleção de Hardwares e Software s independentes, interconectados por uma rede a partir de um Software projectado para produzir acções somente por envio Mensagens em suas comunicações.

– Segundo Tanenbaum/Van Steen , 2002“Um sistema distribuído é um conjunto de computadores

independentes entre si, que se apresenta a seus usuários como um sistema único e coerente.”

• Características Principais– Existência de várias máquinas(Computadores/Processadores)– Existência de Redes (Elemento de InterComunicação)– Existência do critério de Partilhamento (Trocar Informações)

• Exemplos– Aplicações comerciais (reservas de bilhetes,

bancos)– Aplicações Internet (WWW)– Aplicações de acesso a informações multimídia

(Áudio (voz) e vídeo conferência, P2P-TV)– Groupware (trabalho cooperativo)

Page 4: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

4

Chamada de Procedimento Remoto (RPC-Remote Procedure Call)

• Breve resumo– 1984, Birrel e Nelson apresentaram um conjunto de questões de métodos

remotos denominados por: “Chamada de Procedimento Remoto”, e com todas essas questões eles pretendiam que havesse permissão nos programas para chamarem procedimentos localizados em outras máquinas, mas que o conjunto formasse uma ou várias aplicações compostas.

Exemplo:

Embora a ideia fora objectiva , existe problemas e tais problemas têm sido detectados automaticamente. Destes temos alguns principais:

Problemas no Servidor Problemas no Cliente Arquitecturas distintas difere nos tipos de dados Passgens de Parametros(assinaturas distintas)

Demo read(int x, char *cadeia, long numBytes);p1= read(valor1, vectNome, qtdBytes);

p2= read(valor2, vectNome2, qtdBytes2, tipo);

A Bpc1

pc2

pn

p1

p2

p1

x

pcn

Resposta do procedimentoMáquina

AMáquina B

Informações do Chamdor

x

Page 5: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

5

Chamada de Procedimento Remoto (RPC-Remote Procedure Call)

Entretanto, o princípio básico das chamadas de procedimento Remoto consiste do processo de requisição e resposta no contexto de SDs denomina-se “Cliente/Servidor”.Onde os comandos básicos consistem em Escrita e Leitura( write«»Escrita ou read«»Leitura ) e destes são manipulados a cada nova interação para cada RPC.

Análise estrutural e funcional de uma chamada remota, abaixo temos uma Ilustração:

Linha do tempo

Linha do tempo

RespostaRequisição

Tempo de Espera do Resultado

Figura Ilustrativa de uma chamada Local

Retorno da ChamdaChamada do procedimento Remoto

Bpc1

pc2 pcn

Servidor

Apn

p1

p2

xCliente

Page 6: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

6

Chamada de Procedimento Remoto (RPC-Remote Procedure Call)

• Passos de demonstração de um RPC funcional

1. O processo do Cliente chama a sua parte integrante para construção da mensagem(modo padrão).2. A parte integrante constroi(empacota) a mensagem, posteriormente chama o S.O(Kernel Local) do

Cliente.3. O S.O(Kernel Local) do Cliente envia a mensagem(requisição) construida para o S.O remoto(Kernel

Remoto).4. O S.O remoto(Kernel Remoto) envia a mensagem para parte integrante do Servidor.5. A parte integrante do Servidor desempacota os paramentros da mensagem e chama o Servidor.6. O Servidor chama o procedimento com o tipo de assinatura requisitado para prestar serviço e retorna

para a parte integrante do Servidor com a resposta.7. Aparte integrante do Servidor empacota a resposta(mensagem), posteriormente chama o

S.O(Kernel Local) do Servidor.8. O S.O(Kernel Local) do Servidor envia a mensagem(resposta) construida para o S.O remoto(Kernel

Remoto).9. O S.O remoto(Kernel Remoto) envia a mensagem(resposta) para S.O(Kernel Local) do Cliente.10. O S.O(Kernel Local) do Cliente envia-na para a parte integrante.11. A parte integrante desempacota a mensagem(resposta), posteriormente retorna para ao

Cliente(modo padrão).

Obs.: O objectivo principal de uma parte integrante é de Empacotar/Desempacotar os parâmetros de uma mensagem.

Page 7: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

7

Chamada de Procedimento Remoto (RPC-Remote Procedure Call)

• 1- Algoritmia Usando RPC na linguagem C– Exercício: Dado um programa com um procedimento que acha a soma entre dois

números, crie um Cliente e Servidor e registe-os usando RPC. Obs.: Efectue algumas demonstrações.

// Definição das estrutura para os procedimento de entrada e saídastruct campos{ long num1; // pararametro de entrada long num2; // pararametro de saída};

program SOMA{ version ADICAO { int ADD(campos) = 1; } = 1; // Numero da versão: 1} = 0x2fffffff; // valor de identificação do programa

Obs.: Agora basta termos instalado em nosso computador(PC) o RPCGen(Gerador de RPCs) e executar o programa add com a extensão .x, Ex: “ add.x” após ter sido salvo. Será gerado 7 ficheiros para posseguirmos com a DEMONSTRAÇÃO...

Page 8: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

8

Chamada de Procedimento Remoto (RPC-Remote Procedure Call)

• 2- Algoritmia Usando RPC na linguagem C– Exercício: Dado um programa com um procedimento que acha a raiz quadrada

de um numero, crie um Servidor e registe-o usando RPC. Obs.: Efectue algumas demonstrações.

// Definição das estrutura para os procedimento de entrada e saídastruct quadrado_in{ long argumento; // pararametro de entrada};struct quadrado_out{ long resultado; // pararametro de saída};program quadrado{ version versao_quadrado { quadrado_out = SQUAREPROC(quadrado_in) = 1; } = 1; // Numero da versão: 1} = 0x31230000; // valor de identificação do programa

Obs.: Agora basta termos instalado em nosso computador(PC) o RPCGen(Gerador de RPCs) e executar o programa quadrado com a extensão .x, Ex: “ quadrado.x” após ter sido salvo será gerado 7 ficheiros para posseguirmos com a DEMONSTRAÇÃO...

Page 9: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

9

Page 10: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

10

Page 11: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

11

Page 12: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

12

Page 13: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

13

Método de Invocação Remota (RMI-Remote Method Invocation)

Page 14: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

14

Page 15: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

15

Page 16: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

16

Page 17: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

17

Page 18: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

18

Page 19: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

19

Objecto Comum de Requisição na Arquitectura de Falhas(CORBA-Common Object Request Broker

Architecture)

Page 20: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

20

Page 21: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

21

Page 22: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

22

Conclusão

Page 23: Trabalho t.a   2015

segunda-feira, 1 de maio de 2023

23

Bibliografia• Acetatos da Universidade Federal do ABC