Comunica - PowerPoint PPT Presentation

About This Presentation
Title:

Comunica

Description:

Comunica o Distribu da Estrat gias diferentes que permitem a comunica o entre aplica es distribu das Estrat gias Distintas Sockets RPC - Remote Procedure ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 18
Provided by: Joo85
Category:
Tags: comunica | java

less

Transcript and Presenter's Notes

Title: Comunica


1
Comunicação Distribuída
  • Estratégias diferentes que permitem a comunicação
    entre aplicações distribuídas

2
Estratégias Distintas
  • Sockets
  • RPC - Remote Procedure Call
  • RMI - Remote Method Invocation
  • CORBA Commom Object Request Broker
  • Architecture

3
Conceito de Porta
  • Uma porta é um ponto de interação entre uma
    aplicação e o sistema operacional da máquina.
  • Proporciona à aplicação uma forma de estabelecer
    um canal de comunicação com o sistema operacional
    da máquina.
  • É representada por um endereço numérico.

4
Sockets
  • Um socket é um mecanismo de baixo nível, definido
    como uma extremidade de um canal de comunicação.
  • Um par de processos (thread) se comunica em uma
    rede utilizando um par de sockets um para cada
    processo.
  • Um mecanismo do TCP/IP que permite que processos
    distribuídos se comuniquem em uma rede.
  • Um socket é formado por um endereço IP
    concatenado com um número de porta.

5
Sockets
  • Um mecanismo de baixo nível, entre processos ou
    threads distribuídos, que permitem a troca de um
    fluxo não-estruturado de bytes entre os threads
    em comunicação.

6
Sockets Java
  • Sockets orientados a conexão (TCP)
  • Classes Socket, ServerSocket
  • Sockets sem conexão (UDP)
  • Classe DatagramSocket
  • Socket de difusão (multicast)
  • Classe MultcastSocket

7
Estruturando os Dados na Comunicação
  • É responsabilidade da aplicação-cliente, o da
    aplicação-servidor impor uma estrutura de dados.
  • Existem dois métodos alternativos de comunicação
    em nível mais alto
  • RPC e RMI

8
RPC
  • Permite que um processo ou uma thread chame um
    procedimento ou função em outro processo, que
    pode estar em um espaço de endereçamento separado
    na mesma máquina ou pode estar executando em um
    computador remoto conectado por uma rede.

9
Vantagens do RPC
  • Gerencia o canal de comunicação, de forma que os
    programas aplicativos podem ser escritos de modo
    que a localização de um procedimento, quer local
    ou remoto, seja transparente.
  • Mostrar figuras ...

10
RMI
  • É um recurso Java.
  • Permite que uma thread invoque um método em um
    objeto remoto, o qual reside em uma máquina
    virtual Java (JVM) distinta que pode estar no
    mesmo computador ou em uma JVM em um computador
    remoto conectado por rede.

11
RMI
  • RMI baseia-se em objetos suporta a invocação de
    métodos em objetos remotos.
  • Com RMI é possível passar objetos como parâmetros
    para os métodos remotos.
  • Torna possível aos usuários desenvolver
    aplicações Java que sejam distribuídas por toda a
    rede.

12
RMI
  • Para tornar os métodos remotos transparentes ao
    cliente e ao servidor, RMI implementa o objeto
    remoto usando stubs e skeletons.
  • Um stub é um proxy (representante)do objeto
    remoto, que reside junto ao programa-cliente.

13
RMI
  • Quando o programa-cliente invoca um método
    remoto, é esse stub para o objeto remoto que é
    chamado.
  • Um stub no cliente serve para criar uma mensagem
    consistindo do nome do método a ser invocado no
    servidor e nos parâmetros desse método.

14
RMI
  • O stub envia então essa mensagem para o lado do
    servidor, onde a mensagem é recebida pelo
    skeleton do objeto remoto.
  • O skeleton então faz a extração dos parâmetros e
    invoca o método desejado no objeto remoto do lado
    servidor.

15
RMI
  • O skeleton agrega o valor de retorno (ou exceção)
    em uma mensagem e retorna-a ao programa-cliente.
  • O stub efetua a extração do valor de retorno e o
    passa para o cliente.




















16
RMI
  • É uma tecnologia Java nativa e por isso requer
    que todas as aplicações distribuídas sejam
    escritas em Java.
  • Muitos sistemas existentes que talvez queiramos
    que seja distribuídos são escritos em C, C,
    Ada, COBOL, Smaltalk, ou outra linguagem.
  • CORBA permite a comunicação entre aplicações
    cliente e servidor heterogêneas.

17
CORBA
Write a Comment
User Comments (0)
About PowerShow.com