trabalho t.a 2015
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