trabalho t.a 2015

Post on 13-Jan-2017

185 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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)

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

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

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.

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...

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...

segunda-feira, 1 de maio de 2023

9

segunda-feira, 1 de maio de 2023

10

segunda-feira, 1 de maio de 2023

11

segunda-feira, 1 de maio de 2023

12

segunda-feira, 1 de maio de 2023

13

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

segunda-feira, 1 de maio de 2023

14

segunda-feira, 1 de maio de 2023

15

segunda-feira, 1 de maio de 2023

16

segunda-feira, 1 de maio de 2023

17

segunda-feira, 1 de maio de 2023

18

segunda-feira, 1 de maio de 2023

19

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

Architecture)

segunda-feira, 1 de maio de 2023

20

segunda-feira, 1 de maio de 2023

21

segunda-feira, 1 de maio de 2023

22

Conclusão

segunda-feira, 1 de maio de 2023

23

Bibliografia• Acetatos da Universidade Federal do ABC

top related