Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos Baseados em Objetos
Advertisements

ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
A Note on Distributed Computing
Servidor de DNS Profº Marcio Funes.
Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Desenvolvimento em Camadas
Repositório de Interfaces em CORBA
Comunicação Distribuída
Prof. João Bosco M. Sobral
Conceitos do Servidor Funcionamento Básico do Servidor Tarefas necessárias para estabelecer um servidor para receber requests do Cliente.
Interação Cliente Servidor
Invocação de Métodos Remotos RMI
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Comunicação Entre Objetos Distribuídos
1 Serviços CORBA. Serviços CORBA. Funcionalidades que podem ser utilizadas por objetos distribuídos. Naming Service (Serviço de Nomes) Event and Notification.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Comunicação Inter-Processos
Classes e objetos P. O. O. Prof. Grace.
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Sistemas Distribuídos
Curso de extensão em Desenvolvimento Web
Classes, Objetos e Encapsulamento
Programação Orientada a Objetos com Java
Concorrência em Java Threads em Java.
Aula prática 13 Orientação a Objetos – C++ Parte 1
Arquitetura CORBA e Objetos Distribuídos
Tópicos de Sistemas de Informação A
CORBA e Desenvolvimento Baseado em Componentes
Chamada Remota de Procedimentos
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Remote Method Invocation RMI
Concorrência e Java RMI
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Programação Orientada à Objetos
TMV Gestão de Redes e de Sistemas Distribuídos ???? Sumário  Arquitectura de Gestão SNMP  Arquitectura de Gestão OSI/TMN  Novas Arquitecturas.
Arquitetura de Sistemas Distribuídos
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
© Ricardo Pereira e Silva
CORBA Apresentação do Padrão CORBA Maurício Maron Mendes Ramiro Pereira de Magalhães
Sistemas operacionais
Java RMI João Gabriel (jggxm).
Processos.
RMI - JAVA.
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Análise e Projeto de Sistemas
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Construtores e Destrutores
Java – Remote Method Invocation (RMI)
Programação Distribuída em Java Aula Na aula passada vimos: I/O Sockets.
Configurando o NAS O Servidor de Acesso à Rede com Segurança AAA.
Invocação Dinâmica em CORBA. Stubs Pré-Compilados Até agora temos visto clientes necessitarem stubs precompilados para invocarem operações sobre um objeto-servidor.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
RMI Remote Method Invocation
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
IP/DNS NUNO BANDOLA COMUNICAÇÃO DE DADOS CARLOS PEREIRA.
Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Passagens de Mensagens Prof. Dr. Norian Marranghello
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Mapeamento de IDL para C#
Sistemas Distribuídos Prof. Marcus Rodrigues
Aula 8 – Padrão Singleton
Java Como Programar, 8/E Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos

Iniciando o ORB O ORB provê a comunicação entre o cliente e o servidor. Quando o cliente faz um “request”, o ORB localiza a implementação do objeto requisitado, faz a ativação do objeto, se necessário, entrega o “request” ao objeto, e retorna a resposta ao cliente.

Iniciando o ORB O cliente não está ciente se o objeto está sobre a mesma máquina ou através da rede. O ORB é um usuário intensivo de recursos do sistema. Uma única instância do ORB é criada. Embora muito do trabalho feito pelo ORB seja transparente para nós, o programa- cliente deve, explicitamente, iniciar o ORB.

Iniciando o ORB Opções do ORB podem ser especificadas através de argumentos. Portanto, devemos passar argumentos ao ORB.Init para garantir que essas opções tenham efeito. Amostra de código.

Ligando a Objetos Um programa-cliente somente invoca um objeto remoto, por obter uma referência ao objeto. Referências são geralmente obtidas usando o método bind() da interface Helper, gerada em tempo de compilação do arquivo IDL.

Ligando a Objetos O ORB oculta a maior parte dos detalhes envolvidos na obtenção da referência ao objeto, tais como localizar o servidor que implementa o objeto e estabelecer uma conexão ao servidor.

O processo de Ligação Quando o processo-servidor inicia, ele executa um ORB.init() e anuncia ele próprio ao ORB, a presença dele na rede. O programa-cliente localiza o ORB, em uma máquina qualquer da rede. O ORB pode estar localizado numa das máquinas da rede, que não é a máquina do programa-cliente, nem a máquina do servidor.

Funções Quando encontra o ORB, o programa- cliente invoca o método bind(), e o ORB realiza diversas funções em nome do programa-cliente. O ORB localiza a implementação do objeto que oferece a interface requisitada. Um nome de objeto pode ser especificado no método bind(), e neste caso, quando este método é invocado, esse nome é usado na localização do objeto.

Funções Quando a implementação do objeto é localizada, o ORB tenta realizar uma conexão da implementação do objeto localizado, com o programa-cliente. Uma vez a conexão seja estabelecida, o ORB cria um objeto-proxy e retorna uma referência para aquele objeto.

Funções O programa-cliente invocará métodos sobre o objeto-proxy, o qual, por sua vez, interagirá com o objeto servidor, para executar a implementação do objeto localizada. Ver figura...

Funções O programa-cliente nunca invocará o método construtor sobre uma classe do objeto servidor. Ao invés disto, uma referência ao objeto é obtida por invocar o método estático o bind().

Invocando métodos sobre um objeto remoto O programa-cliente usa uma referência a objeto para invocar um método sobre um objeto remoto ou para referenciar dados contidos pelo objeto. Amostra de código...

Manipulando Referências a Objetos Existem algumas maneiras pelas quais uma referência a objeto pode ser manipulada: (a) Convertendo uma referência para string. (b) Convertendo um string para uma referência.

Manipulando Referências a Objetos (c) Obtendo nomes de interfaces, de objetos e o identificador do tipo de repositório associado com uma referência a objeto. (d) Determinando o tipo de uma referência a objeto: Uma referência a objeto pode ser de um particular tipo.

Manipulando Referências a Objetos (e) Determinando a localização e a situação de objetos ligados. Dado uma referência, o programa-cliente pode determinar se o objeto é ligado ou não, e se o programa-cliente e a implementação do objeto residem no mesmo processo ou mesmo espaço de endereços.

Manipulando Referências a Objetos (f) Narrowing referências a objetos. Convertendo um tipo de referência de um super-tipo para um tipo mais específico. (g) Widening referências a objetos. Convertendo de um tipo de referência mais específico para um super-tipo.