Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Trabalho t.a 2015

222 views

Published on

Acetatos de SDs(Sistems Distribuited)

Published in: Technology
  • Be the first to comment

Trabalho t.a 2015

  1. 1. 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. quarta-feira, 8 de abril de 2015 1 RPC, RMI e CORBA
  2. 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ão Bibliografia quarta-feira, 8 de abril de 2015 2
  3. 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) quarta-feira, 8 de abril de 2015 3
  4. 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); quarta-feira, 8 de abril de 2015 4 A B pc1 pc2 pn p1 p2 p1 x pcn Resposta do procedimento Máquina A Máquina B Informações do Chamdor x
  5. 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: quarta-feira, 8 de abril de 2015 5 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 B pc1 pc2 pcn Servidor A pn p1 p2 xCliente
  6. 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. quarta-feira, 8 de abril de 2015 6
  7. 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ída struct 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... quarta-feira, 8 de abril de 2015 7
  8. 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ída struct 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... quarta-feira, 8 de abril de 2015 8
  9. 9. quarta-feira, 8 de abril de 2015 9
  10. 10. quarta-feira, 8 de abril de 2015 10
  11. 11. quarta-feira, 8 de abril de 2015 11
  12. 12. quarta-feira, 8 de abril de 2015 12
  13. 13. quarta-feira, 8 de abril de 2015 13 Método de Invocação Remota (RMI- Remote Method Invocation)
  14. 14. quarta-feira, 8 de abril de 2015 14
  15. 15. quarta-feira, 8 de abril de 2015 15
  16. 16. quarta-feira, 8 de abril de 2015 16
  17. 17. quarta-feira, 8 de abril de 2015 17
  18. 18. quarta-feira, 8 de abril de 2015 18
  19. 19. Objecto Comum de Requisição na Arquitectura de Falhas(CORBA-Common Object Request Broker Architecture) quarta-feira, 8 de abril de 2015 19
  20. 20. quarta-feira, 8 de abril de 2015 20
  21. 21. quarta-feira, 8 de abril de 2015 21
  22. 22. Conclusão quarta-feira, 8 de abril de 2015 22
  23. 23. Bibliografia • Acetatos da Universidade Federal do ABC quarta-feira, 8 de abril de 2015 23

×