Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

RPC RMI

No description
by

Luis Ribeiro

on 3 April 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of RPC RMI

RMI e RPC RMI RMI (Remote Method Invocation) é um recurso Java semelhante a RPC; ela (RMI) permite que uma thread invoque um método em um objeto remoto.

O objeto é considerado remoto se residir em maquina virtual java (JVM) diferente, independentemente da localização dessas máquinas virtuais. Funcionamento RMI O funcionamento de RMI consiste basicamente em dois programas, segundo a arquitetura cliente-servidor, onde um seria o cliente e outro o servidor.
O servidor instancia objetos remotos, o referencia com um nome e faz um "BIND" dele numa porta, onde este objeto espera por clientes que invoquem seus métodos. Já o cliente referencia remotamente um ou mais métodos de um objeto remoto.
RMI fornece os mecanismos para que a comunicação entre cliente e servidor seja possível. Esse tipo de aplicação geralmente é denominada como Aplicação de Objeto Distribuído. Aplicação RMI: A aplicação de criptografia esta relacionada a segurança da informação, e neste caso trata-se de um programa cliente-servidor no qual o cliente quer criptografar uma mensagem. A mensagem é enviada para o servidor, o que criptografa a mensagem e devolve-a criptografada. O inverso também ocorre.
“Imagine que uma empresa quer transmitir dados por email, mas esta preocupada com a possibilidade de seus emails estarem sendo rastreados. Todos os seus dados são transmitidos como texto e/ou números. Eles pedem para você escrever um programa que criptografará os dados para que possam ser transmitidos com mais segurança. O aplicativo de ler uma cadeia de caracteres digitados pelo usuário em um diálogo de entrada e criptografá-lo. O mesmo programa deverá decifrá-lo para formar o texto original”. RPC RPC ( Remote Procedure Calls) foi projetada como um meio de separar mecanismo de chamada de procedimento para uso entre RPCs com conexões em rede. Em vários aspectos, ela é semelhante ao mecanismo de IPC.
Método de transferência de controle de parte de um processo para outra parte; Procedimentos: permite a divisão do programas em vários pedaços RPC: Modelo de Execução RPC: Programa Distribuído Alunos:
Camila Taborda de Paula Martins
Daiane Freira dos Santos
Luis Henrique Ribeiro
Rodrigo Matheus Silvério
Samara de Sousa Melo Funcionamento RPC Similar ao RMI, o modelo RPC, possui uma Thread que é responsável pelo controle de dois processos: cliente e servidor. O processo cliente primeiro manda uma mensagem para o processo servidor e aguarda (bloqueia) uma mensagem de resposta. A mensagem enviada pelo cliente contém os parâmetros do procedimento e a mensagem de resposta contém o resultado da execução do procedimento. Uma vez que a mensagem de resposta é recebida, os resultados da execução do procedimento são coletados e a execução do cliente prossegue.
Do lado do servidor, um processo permanece em espera até a chegada de uma mensagem do cliente. Quando uma mensagem deste é recebida, o servidor extrai os parâmetros, processa-os e produz os resultados, que são enviados na mensagem de resposta. O servidor, então, volta a esperar por uma nova mensagem do cliente.- Aplicação RPC: Sun-RPC
Sistema originalmente criado para máquinas Sun. Oferecido atualmente em diversos sistemas operacionais. A arquitetura definida inclui:
– uma linguagem para definição das interfaces (cabeçalhos de procedimentos, etc);
– a ferramenta RPCGEN, que gera os stubs cliente e servidor
automaticamente;
– uma biblioteca RPC, que pode ser usada diretamente na
construção de programas que não usem o PRCGEN;
– o protocolo de comunicação entre os stubs.
– pode utilizar TCP ou UDP Conclusão As diferenças fundamentais entre RMI e RPC são duas. Primeiro as RPCs admitem a programação por procedimentos, na qual somente procedimentos ou funções remotas podem ser chamadas. Ao contrário, a RMI é baseada em objeto: ela admite a invocação de métodos em objetos remotos. Segundo os parâmetros dos procedimentos remotos são estruturas de dados comuns em RPC; com a RMI é possível passar objetos como parâmetro aos métodos remotos. Permitindo que um programa Java invoque métodos em objetos remotos, a RMI permite que os usuários desenvolvam aplicações Java distribuídas por uma rede. Camadas de Software do Sistema RMI Stubs
O "stub" funciona semelhante a um proxy para o objeto remoto. Quando um objeto local invoca um método num objeto remoto, o "stub" fica responsável por enviar a chamada ao método para o objeto remoto. Passos do "stub" quando é invocado:
•Iniciar conexão com a "Virtual Machine" que contém o objeto remoto.
•Escrever e transmitir os parâmetros para a "Virtual Machine" remota.
•Esperar pelos resultados da invocação do método.
•Ler os resultados retornados.
•Retornar os valores ao objeto que executou a chamada .
Skeletons
Na "Virtual Machine" remota, cada objeto deve ter um "skeleton" correspondente ao "stub". O "skeleton" é responsável por enviar a chamada ao objeto remoto. Passos do "skeleton" quando recebe uma chamada:
•Ler os parâmetros enviados pelo "stub"
•Invocar o método no objeto remoto
•Escrever e transmitir o resultado ao objeto que executou a chamada
Camada de Referências Remotas
Esta camada mantém as referência entre os clientes e os objectos remotos e estabelece a semântica da ligação RMI.
Camada de Transporte
Esta camada lida diretamente com a comunicação entre as várias JVM's, usando TCP/IP. É importante referir que mesmo que as JVM's sejam executadas no mesmo computador, o RMI recorre sempre à comunicação TCP/IP.
Full transcript