1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

Tamanho: px
Começar a partir da página:

Download "1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)"

Transcrição

1 PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de (RMI) 2. Implementações de RMI/RPC a. CORBA b. JRMI c. Referência a objeto remoto d. Formato da mensagem de REQUEST-REPLY e. Protocolo REQUEST-REPLY Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1 1 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla a CONCEITOS BÁSICOS Invocação remota (RPC/RMI) Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 3 3 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 4 4 COMUNICAÇÃO INTERPROCESSOS DISTRIBUÍDOS MIDDLEWARE Modelos de invocação de operações remotas baseiam-se nos modelos locais: Procedural: Chamada de funções chamada remota de funções (RPC) OO: Invocação de invocação remota de (RMI) Processo Invocar função ou método Processo Invocar função ou método Processo Processo RMI (JRMI), RPC, CORBA provêm transparência de localização Invocação transparente de procedure/método Transparente até certo ponto, semântica invocação remota local sockets PROTOCOLOS PROTOCOLOS SIST. SIST. OPER. OPER. HARDWARE HARDWARE APLICAÇÃO APLICAÇÃO DISTRIBUÍDA DISTRIBUÍDA MIDDLEWARE MIDDLEWARE PROTOCOLOS PROTOCOLOS SIST. SIST. OPER. OPER. HARDWARE HARDWARE RMI RPC CORBA PLATAFORMA Quem garante esta transparência? Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 5 5 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 6 6

2 SEMÂNTICA DA INVOCAÇÃO REMOTA Invocações remotas podem falhar! 1 b Opções de tratamento Semântica de invocação remota (RPC/RMI) UM TIRO Retransmitir Request NÃO Filtrar requests Duplicados --x-- Re-executar ou retransmitir resp. --x-- Exceção OK 0 ou 1 1 PELO -1 SIM NÃO RE-EXECUTAR 0 ou + 1 ou + MÁX 1 SIM SIM RETRANSMITIR 0 ou 1 1 pular A coluna semântica devem ser interpretada do seguinte modo: Exceção: ao receber um erro, o método invocado foi executado... vez(es) OK : ao receber um ok, o método invocado foi executado... vez(es) Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 7 7 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 8 8 SEMÂNTICA DA INVOCAÇÃO REMOTA UM TIRO Ao receber uma resposta, o invocador tem certeza que o método remoto foi executado somente uma vez Ao receber exceção (resposta não chegou, logo timeout), o invocador não saberá se o método foi executado ou não, pois: Falha do servidor Request chega, mas servidor cai antes ou durante a execução do método (0) Request chega, servidor executa o método e falha em seguida (1) Falha no canal de comunicação Request não chega no servidor (0) Resposta não chega: servidor executa o método, envia resposta, mas resposta não chega no cliente ou chega depois do timeout (1) SEMÂNTICA DA INVOCAÇÃO REMOTA PELO MENOS UMA (1 ou +) Ao receber uma resposta, o invocador sabe que o método remoto foi executado ao menos uma vez, pois: Falha do canal de comunicação Request chega, servidor executa o método e envia resposta. Resposta não chega, request é retransmitido Servidor executa o método e envia resposta,... até que a resposta chegue! (1 ou +) Ao receber exceção, o invocador não saberá se o método foi executado ou não, pois: Falha do servidor Request chega, mas servidor cai antes ou durante a execução do método, retransmissões do request,..., exceção! (0) Request chega, servidor executa o método e falha em seguida, retransmissões do request,..., exceção! (1) Falha no canal de comunicação Request não chega no servidor, retransmissões do request,..., exceção! (0) Resposta não chega: servidor executa o método, envia resposta, mas resposta não chega no cliente, retransmissão do request, servidor executa método, envia resposta, mas resposta não chega... exceção! (1 ou +) Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 9 9 Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla SEMÂNTICA DA INVOCAÇÃO REMOTA NO MÁXIMO UMA (0 ou 1) Ao receber uma resposta, o invocador sabe que o método foi executado uma só vez, pois: Falha do canal de comunicação Request chega no servidor Servidor executa o método Servidor envia resposta. Resposta não chega... Retransmissão do request Servidor detecta que o request já foi executado e retorna a resposta com resultado anterior Se a resposta chegar no cliente Método terá sido executado uma só vez Se não Após um certo número de retransmissões, uma exceção será gerada 1 c Remote Method Invocation (RMI) Ao receber exceção, o invocador sabe que o método não foi executado ou foi executado somente uma vez Semântica utilizada em JRMI e CORBA Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 12 12

3 REMOTE METHOD INVOCATION: RMI INTERFACE REMOTA objeto Objeto remoto A Invocação remota B local local C local E D remote Invocação remota de = RMI Objeto remoto: pode ser invocado a distância (ex. B) F (Coulouris et al., 2001) A Referência remota a B Método 1 Método 2 Método 3 Interface remota de B Invocação remota B separação entre interface e implementação Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla EXEMPLO DE DECLARAÇÃO INTERFACE LIMITES DA INTERFACE REMOTA IDL (CORBA) c-like Método 1 Método 2 Método 3 Interface remota de B module banco { enum TipoConta{ CORRENTE, POUPANCA ; struct Conta { string id; string senha; TipoConta tc; ; tipos interface Operacao { long getsaldo(in Conta conta); void retirar(in Conta conta, in long valor); void depositar(in Conta conta, in long valor); void transferir(in Conta orig, in Conta dest, in long valor); ; ; Limites de uma interface (em relação ao processamento local) Não permite acessar diretamente variáveis de outros módulos Não é possível fazer passagem de argumentos por referência para modificar os argumentos na origem Ponteiros não podem ser utilizados como argumentos de chamadas Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla TRANSPARÊNCIA TRANSPARÊNCIA DA API As implementações de RMI preocupam-se: Com os limites das interfaces Com a semântica das invocações Com a transparência das invocações Fazê-las similares às invocações locais: sintaticamente e semanticamente (difícil!) Semântica: Da invocação local: exatamente uma vez Da invocação remota: várias possibilidades Tempo de execução de uma invocação remota é maior A gama de exceções também é maior: falhas de comunicação, do servidor e problemas de concorrência! Há autores que dizem que a sintaxe das invocações remotas deve ser distinta das invocações locais para expressar claramente suas diferenças ao programador. O programador de uma aplicação distribuída deve levar em conta: falhas de comunicação, indisponibilidade do serviço e, também, ter consciência que os de um objeto remoto podem ser acessados de forma concorrente levando aos problemas de race condition e falta de vivacidade. Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 18 18

4 2 2 a IMPLEMENTAÇÕES DE RMI/RPC CORBA Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla CORBA CORBA CORBA OMG: Object Management Group CORBA = Common Object Request Broker Architecture CORBA é uma especificação (OMG) de um padrão para um ambiente heterogêneo de computação orientado a objetos distribuídos. Parte desta especificação define a IDL, Interface Definition Language. Toda implementação CORBA padrão deve suportar IDL, ou seja, implementar todas as capacidades definidas na IDL utilizando uma linguagem e uma plataforma específicas. CORBA (OMG: Invocações remotas Heterogeneidade Programas escritos em linguagens e/ou paradigmas diferentes orientado a objetos ou procedurais C, Java, C++ Processos rodam em plataformas diferentes Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla FUNCIONAMENTO CORBA CLIENTE STUB ORB (un)marshall <<realizes>> Interface IDL request <<realizes>> <<realizes>> IIOP SERVIDOR SKELETON ORB (un)marshall 2 b JRMI Internet Inter-ORB Protocol IIOP: Internet Inter-ORB Protocol ORB=Object Request Broker Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 24 24

5 JRMI SUPORTE PARA JRMI JRMI: Java Remote Method Invocation objetos distribuídos em Java Transparência Utiliza mesma sintaxe da invocação local Verificação de tipos de é idêntica a local Não há necessidade de aprender uma IDL específica (como em CORBA) Faz garbage collection distribuído Porém... Há consciência (da parte do programador) que a invocação é de um método remoto, pois ele deve: tratar RemoteExceptions implementar a interface Remote Pacote java.rmi API para implementação de objetos clientes, servidores e interfaces API para utilizar os serviços de runtime Serviços de runtime Registro de objetos remotos (permite localizá-los) Ferramentas JRMI: Primeira aparição: JDK 1.1 Até JDK 1.4: compilador rmic para gerar stubs Após: Stubs podem ser gerados automaticamente pela JVM (a partir de JDK 1.5) Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla IMPLEMENTAÇÃO RMI MENSAGEM REQUEST-REPLY A: CLIENTE Invoca b1.met() return Stub monta request (marshall) A tem referência de B1 request Interface remota da classe B STUB B1 reply reply return B1: SERV Skeleton & Dispatcher para a classe de B invoca request B2: SERV Mapeia ref. remota<->local Mensagem de invocação requer referência ao objeto remoto Tipo de mensagem Id do request Referência ao obj. remoto Id do método argumentos Int (0=request 1=reply) int Ver adiante Int ou método Bytes (marshalled) referência comunicação comunicação referência Request/reply Request/reply JRMP Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla REFERÊNCIA A OBJETO REMOTO MÓDULO DE REFERÊNCIA A OBJ REMOTO Quando é utilizada: Quando um objeto invoca um método de um objeto remoto Referências também podem ser passadas como argumentos ou como respostas de remotos Dois tipos de entrada na tabela: Uma entrada para cada objeto remoto do processo Referência única no sistema distribuído No espaço de nomes No tempo (referências antigas) 32 bits 32 bits 32 bits 32 bits Uma entrada para cada stub local: Ex. no lado do cliente <ref. remota de B1>, <ref. local de B1> referência local se refere a um stub Ex. no lado do servidor <ref. remota de B1>, <ref. local de B1> <ref. remota de B2>, <ref. local de B2> IP porta Hora e data de criação Número seqüencial Interface Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 30 30

6 BINDER FUNCIONAMENTO TÍPICO Cenário Objeto A necessita de um serviço de B, mas não conhece a referência remota, somente o nome de B O objeto A pergunta a quem? CLIENTE 2. Obtém ref. remota 3. Comunica-se direto com o obj. servidor REGISTRO 1. registra objetos SERVIDOR Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Funcionamento típico EXEMPLO HELLO WORLD A:Cliente Locate rmiregistry Lookup( Alo ) stub stub.digaalo() rmiregistry:binder rebind( Alo, stub ) B:Servidor Cria stub locate rmiregistry DEFINIÇÃO DA INTERFACE DO SERVIÇO import java.rmi.remote; import java.rmi.remoteexception; public interface AloInt extends Remote { String digaalo() throws RemoteException; "Alo, mundo!" Executa o método Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla public class AloImpl implements AloInt { public String digaalo() { return "Alo, mundo!"; IMPLEMENTAÇÃO DO SERVIÇO EXEMPLO HELLO WORLD public static void main(string args[]) { try { AloImpl alo = new AloImpl(); // Exporta o objeto remoto colocando-o em listening para receber // request numa porta anonima TCP - retorna o stub do objeto servidor AloInt alostub = (AloInt)UnicastRemoteObject.exportObject(alo, 0); // Tenta localizar o rmiregistry no host local e na porta default (1099) // Caso nao encontre, retorna erro: RemoteException Registry registro = LocateRegistry.getRegistry(); // Registra o OBJ servidor: nome "Alo" e interface alostub // Se Alo ja estiver associado a outro objeto remoto, ocorre uma excecao registro.rebind("alo", alostub); catch (Exception e) { System.out.println("! Erro no servidor: " + e.getmessage()); IMPLEMENTAÇÃO DO CLIENTE EXEMPLO HELLO WORLD public class AloCli { public static void main(string[] args) { // se host = null, pega o host local no getregistry String host = (args.length < 1)? null : args[0]; try { // localiza o registro Registry registry = LocateRegistry.getRegistry(host); // localiza o serviço registrado como Alo AloInt stub = (AloInt) registry.lookup("alo"); // faz invocacao remota do digaalo() String resposta = stub.digaalo(); System.out.println("* Resposta: " + resposta); catch (Exception e) { System.err.println("! Erro no cliente: " + e.tostring()); e.printstacktrace(); Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 36 36

7 EXERCÍCIO 1: Hello em JRMI EXERCÍCIO 1: Hello em JRMI Visitar Observar no diretório build só há arquivos.class AloImpl: servidor AloInt: interface remota AloCli: cliente que utiliza o serviço O stub e skeleton são automaticamente gerados em tempo de execução Passo 1: Download e compilação 1. Crie um projeto NetBeans num diretório <home> qualquer 2. Faça o download dos arquivos.java em <home>/src/ 3. Compile o projeto PASSO 1: DOWNLOAD 1. Crie um projeto NetBeans num diretório <home> qualquer 2. Faça o download dos arquivos.java em <home>/src/ 3. Compile o projeto (é possível baixar todo o projeto, inclusive os.class. Neste caso não é necessário recompilar) (é possível baixar todo o projeto, inclusive os.class. Neste caso não é necessário recompilar) Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla EXERCÍCIO 1: Hello em JRMI PASSO 2: RODAR O RMIREGISTRY Incluir o diretório <home>/build/classes/ no classpath (ver slide seguinte) Executar o command prompt e nele fazer start (2x) Executar o rmiregistry a partir de qualquer ponto da árvore de diretórios Observações Isto é necessário, pois o rmiregistry precisa saber onde encontrar os arquivos.class RMI REGISTRY é um serviço TCP que aguarda solicitações na porta bem conhecida 1099 Para setar o classpath do faça: EXERCÍCIO 1: Hello em JRMI Linux echo $CLASSPATH (verifica classpath atual) export CLASSPATH=$CLASSPATH:<home>/build/classes/ Windows set classpath (verifica classpath atual) set classpath=%classpath%;<home>/build/classes/ Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla EXERCÍCIO 1: Hello em JRMI EXERCÍCIO 2: CALCULADORA PASSO 3: EXECUTAR Executar AloImpl (servidor) Em um dos command prompt aberto pelo start Posicionar-se no <home>/build/classes/ Executar java AloImpl Executar AloCli (cliente) Em um dos command prompt aberto pelo start Posicionar-se em <home>/build/classes/ Executar java AloCli <ip rmiregistry> O argumento é a localização do RMI Registry. Não precisa ser colocado se estiver rodando na mesma máquina Utilizando o JRMIHello2 como exemplo faça um serviço remoto que implemente a seguinte interface: double Somar(double a, double b) retorna a + b double Subtrair(double a, double b) retorna a b double dividir(double a, double b) retorna a/b Double multi(double a, double b) retorn a*b Faça um cliente que: Localize o serviço no registro Invoque os quatro acima Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 42 42

8 PRÁTICA: QUADRO BRANCO PRÁTICA: QUADRO BRANCO PASSO 1: EXECUTAR BAIXAR O CÓDIGO DE Editor gráfico estilo quadro branco compartilhado por vários usuários (Coulouris, 2001). A implementação não possui interface gráfica, porém tem todo o esqueleto! Ao executar o cliente, o usuário pode fazer java Cliente escrever para desenhar um retângulo java Cliente ler para ler todas as formas desenhadas java Cliente ler <n> para ler todas as formas desenhadas a partir da versão n (n é um inteiro) O servidor mantém o estado do desenho: Cliente pode buscar formas desenhadas fazendo polling no servidor O servidor guarda um número de versão junto com cada forma (evita que um cliente recupere formas já recuperadas) PASSO 3: OBSERVAR OS PONTOS ABAIXO Os objetos que são passados por valor (ObjetoGrafico) devem ser serializáveis (equivale ao marshalling no Java) Download de classes pela JVM Quando um cliente recebe uma resposta contendo um objeto passado por valor Quando uma referência remota aponta para um proxy que não existe localmente Dinamicidade Mudar o código do ObjetoGráfico e mostrar que funciona Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla EXERCÍCIO 3 EXERCÍCIO 4 Implementar uma interface gráfica nos clientes do quadro branco (vide slides anteriores) de maneira que todos possam editar um desenho de forma cooperativa. Implementar o avaliador de respostas de questionários (o mesmo feito em UDP e TCP) com JRMI Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla RESUMO DE RMI RMI Cada objeto do SD tem uma referência remota e uma interface remota que especifica quais operações podem ser invocadas remotamente. Invocações de locais possuem semântica de execução exatamente uma vez RMI somente garante no máximo uma vez RPC Remote Procedure Call Os componentes do middleware components (proxies, skeletons e dispatchers) escondem do programador os detalhes de marshalling, envio de mensagens e localização dos objetos. Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 48 48

9 RPC IMPLEMENTAÇÃO RPC Remote Procedure Call Chamada de procedures remotas Similar à RMI Permite cadeia de invocações A: CLIENTE programa return Procedure 1 invoca Procedure 2 Uma implementação de RPC também implementa uma ou mais semânticas de invocação Talvez Pelo menos uma No máximo uma return SKELETON PROXY STUB PROC 1. STUP PROC 2 Invoca procedure 1 STUB PROC 1 DISPATCHER request reply reply request Mais simples que RMI não tem o módulo de referência a objeto remoto comunicação Request/reply comunicação Request/reply Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla CONCLUSÃO CORBA x JRMI Use Corba se o sistema distribuído tiver programas escritos em linguagens ou paradigmas diferentes Use Corba se futuramente o sistema interoperar com outros sistemas escritos em linguagens ou paradigmas diferentes Se tudo for e será Java, use JRMI Java oferece várias formas de realizar distribuição Sockets: menor abstração, mensagens ou stream CORBA: abstração invocação JRMI: abstração maior, objetos Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 51 51

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

Leia mais

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

Capítulo V Sistemas de Objectos Distribuídos

Capítulo V Sistemas de Objectos Distribuídos From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 From: Wolfgang Emmerich Engineering Distributed Objects John Wiley & Sons, Ltd 2000 1 O modelo

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

Java RMI - Remote Method Invocation. Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1

Java RMI - Remote Method Invocation. Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1 Java RMI - Remote Method Invocation Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1 Autores Autoria Cláudio Geyer Marcelo Castiglia Pereira Local Instituto de Informática UFRGS disciplinas:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

Leia mais

Objetos Distribuídos. Nazareno Andrade

Objetos Distribuídos. Nazareno Andrade Objetos Distribuídos Nazareno Andrade O Problema Orientação a objetos é um paradigma poderoso Modularidade, extensibilidade, manutenibilidade Porque distribuir os objetos: Localidade dos objetos Tolerância

Leia mais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

Invocação de Métodos em Objectos Remotos

Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Invocações de métodos remotas e locais A remote invocation B local C invocation local E invocation local invocation D remote invocation F Page 1 1 Invocação de

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos

Leia mais

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza Sistemas Distribuídos Métodos de Invocação Remota II Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15], vamos praticar a programação de laboratório

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Invocação Remota MC704

Invocação Remota MC704 Invocação Remota MC704 Aplicações distribuídas Aplicação distribuída: conjunto de processos que cooperam entre si para prover um serviço ou realizar uma computação normalmente processos precisam invocar

Leia mais

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a

Leia mais

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

Leia mais

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

Leia mais

Sistemas Distribuídos RPC Remote Procedure Call

Sistemas Distribuídos RPC Remote Procedure Call Sistemas Distribuídos RPC Remote Procedure Call Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Cliente/Servidor Quais os problemas? Baseado em E/S Erro propagado

Leia mais

Java RMI. Alcides Calsavara

Java RMI. Alcides Calsavara 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 de uma classe Java) situado em outra máquina

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira neto Aula 17-18: Middleware: Implementação de RMI (cont.), RPC, Modelo de Eventos, Exemplo com Java RMI Chamadas dinâmicas

Leia mais

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza Sistemas Distribuídos Métodos de Invocação Remota IV Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15, aula 16 e aula 17], vamos praticar a segunda

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

RMI/JNDI - Fundamentos

RMI/JNDI - Fundamentos c o l u n a Professor J RMI/JNDI - Fundamentos Um exemplo prático do que são e de como funcionam RMI e JNDI Roberto Vezzoni (roberto.vezzoni@gmail.com): SCJP, faz Ciência da Computação na Faesa e atua

Leia mais

Desenvolvimento de Aplicações Java/CORBA

Desenvolvimento de Aplicações Java/CORBA Tutorial Desenvolvimento de Aplicações Java/CORBA Emerson Ribeiro de Mello, Fábio Favarim e Joni da Silva Fraga {emerson, fabio, fraga@das.ufsc.br Este tutorial ensina como criar uma aplicação distribuída

Leia mais

Comunicação usando soquetes.

Comunicação usando soquetes. Soquetes Um soquete é definido como uma extremidade de um canal de comunicação. Um par de processos (ou threads) se comunica em uma rede utilizando um par de soquetes - um para cada processo. Um soquete

Leia mais

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos Object Brokers Tecnologias de Middleware 2004/2005 André Santos Resumo O que são Object Brokers? Como surgiu o conceito? CORBA Exemplos de utilização Comparação com Java RMI Actualidade (J2EE,.NET) O que

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

Usando Borland DELPHI para implementar aplicações CORBA Página 1 de 10 USANDO BORLAND DELPHI PARA IMPLEMENTAR APLICAÇÕES CORBA por Simone Vey Dutra e César Bridi Introdução A Arquitetura CORBA Criando uma Aplicação CORBA em Delphi Criando um Servidor CORBA

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

Sistemas Distribuídos RPC

Sistemas Distribuídos RPC Sistemas Distribuídos RPC Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias Pontifícia

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Sistemas Distribuídos: Conceitos e Projeto Java RMI Sistemas Distribuídos: Conceitos e Projeto Java RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 19 de agosto

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Comunicação. Parte II

Comunicação. Parte II Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor

Leia mais

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos Introdução OMG (Object Management Group): uma organização formada por empresas

Leia mais

APÊNDICE A EXEMPLO DE APLICAÇÃO

APÊNDICE A EXEMPLO DE APLICAÇÃO APÊNDICE A EXEMPLO DE APLICAÇÃO Para ilustrar os três métodos de distribuição de objetos apresentados nesta dissertação iremos, a seguir, mostrar um exemplo de implementação de uma aplicação. São apresentadas

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006

Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 NOTAS:

Leia mais

CORBA (Common Object Request Broker Architecture)

CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) Sistemas Distribuídos Desafios para a realização de sistemas Distribuídos Exemplos de Sistemas Distribuídos CORBA Evolução Histórica OMA (Object Management

Leia mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

Objetos Distribuídos em Java

Objetos Distribuídos em Java J530 - Enterprise JavaBeans Objetos Distribuídos em Java Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivo O objetivo deste módulo é fornecer os pré-requisitos de computação distribuída necessários

Leia mais

Invocação de Métodos em Objectos Remotos

Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Um sistema de objectos distribuídos é uma extensão ao conceito de RPC Um objecto invoca um método noutro objecto localizado

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Exercício programa para MAC5796

Exercício programa para MAC5796 Exercício programa para MAC5796 Walter Mascarenhas e Helton Rosa 9 de setembro de 2008 Resumo Esse documento explica dois aspectos do exercício programa para MAC5796: o processo de invocação remota de

Leia mais

Objetos distribuídos. Roteiro. Java IDL

Objetos distribuídos. Roteiro. Java IDL Objetos distribuídos Java IDL Roteiro Java IDL Definindo a interface IDL Compilando a interface IDL Criando o servidor Criando o cliente Rodando a aplicação Rodando a aplicação em duas máquinas Java IDL

Leia mais

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM CAPÍTULO 7 JAVA Java é uma linguagem orientada a objeto cujo projeto foi desenvolvido pela Sun Microsystems no início de 1991. Ela foi originalmente concebida para ser utilizada na programação de dispositivos

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Aula 19-20: Arquitetura CORBA (continuação) Exemplo de cliente e servidor em CORBA Interfaces IDL Shape e ShapeList Exemplo de cliente e servidor

Leia mais

Sistemas Distribuídos e Infraestrutura. SO: todas as aulas em http:// www.cin.ufpe.br/~cagf/ if677/2014-2/

Sistemas Distribuídos e Infraestrutura. SO: todas as aulas em http:// www.cin.ufpe.br/~cagf/ if677/2014-2/ Sistemas Distribuídos e Infraestrutura de SW de Suporte SO: todas as aulas em http:// www.cin.ufpe.br/~cagf/ if677/2014-2/ Sistema de Software É composto por uma sequência de instruções, que é interpretada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

Padrões de Projeto Implementados em Infraestrturas de Componentes

Padrões de Projeto Implementados em Infraestrturas de Componentes Padrões de Projeto Implementados em Infraestrturas de Componentes Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires 1 distribuídas baseadas em componentes Comunicação transparente,

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Aplicações e Arquitetura CORBA. Edvar Oliveira edvar@ufpa.br

Aplicações e Arquitetura CORBA. Edvar Oliveira edvar@ufpa.br Aplicações e Arquitetura CORBA Edvar Oliveira edvar@ufpa.br setembro/ 2004 Tópicos Modelo Cliente/Servidor; Comunicação no modelo cliente/servidor; A arquitetura CORBA; Componentes da arquitetura CORBA;

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1. Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Objetos Distribuídos Graça Bressan Graça Bressan/LARC 2000 1 Objetos São entidades de software que encapsulam dados, ou atributos, e código e que são acessados através de funções ou métodos.

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Comunicação em Sistemas Distribuídos Sumário Modelo Cliente e Servidor Troca de Mensagens Remote Procedure Call Comunicação

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

Leia mais

RMI RMI-IIOP Java IDL (CORBA) Helder da Rocha www.argonavis.com.br

RMI RMI-IIOP Java IDL (CORBA) Helder da Rocha www.argonavis.com.br RMI RMI-IIOP Java IDL (CORBA) Helder da Rocha www.argonavis.com.br 1 Sumário RMI/RPC e Java em ambientes distribuídos Java IDL (~25%) Arquitetura CORBA e mapeamento Java-IDL Construção de uma aplicação

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1 .NET Remoting Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1 Autoria Autores 1a versão Fabio Augusto Dal Castel colaboração revisão Eduardo F. Seganfredo Rodrigo Gatto C. Geyer Programação

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco

Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco Introdução a Middleware: Visão do Programador de Aplicações Distribuídas Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco Relembrando... Aplicação Middleware Aplicação Middleware

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Capítulo II Modelos de Programação Distribuída

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

Suporte ao desenvolvimento de jogos multi-jogador, sem exigência de tempo real

Suporte ao desenvolvimento de jogos multi-jogador, sem exigência de tempo real UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Suporte ao desenvolvimento de jogos multi-jogador, sem exigência

Leia mais

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos

Leia mais

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Computação Paralela Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Dezembro 2005 Fases de desenvolvimento de aplicações paralelas

Leia mais

Programação com Objetos Distribuídos e Componentes

Programação com Objetos Distribuídos e Componentes Programação com Objetos Distribuídos e Componentes Cláudio F. R. Geyer, Luciano Cavalheiro da Silva, Patrícia Kayser Vargas, Juliano Malacarne Resumo Universidade Federal do Rio Grande do Sul Instituto

Leia mais