A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comunicação Distribuída

Apresentações semelhantes


Apresentação em tema: "Comunicação Distribuída"— Transcrição da apresentação:

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


Carregar ppt "Comunicação Distribuída"

Apresentações semelhantes


Anúncios Google