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

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

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

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

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

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 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

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

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

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

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

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

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 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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

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

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

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

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:

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

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

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

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

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 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

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

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

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. 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

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

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

Sistemas Distribuídos

Sistemas Distribuídos Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e

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

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

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

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

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 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 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

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

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

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 Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local

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

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

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

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Problema de resolução de endereço Mapeamento direto Associação dinâmica ARP

Leia mais

Comunicação em Sistemas Distribuídos

Comunicação em Sistemas Distribuídos Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs

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

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

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

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

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

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

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

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

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

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

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

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

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

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

Sistemas Operacionais II

Sistemas Operacionais II Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como

Leia mais

Grupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada

Grupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada Número: Nome: Pági 1 de 6 LEIC/LETI 2013/14, Repescagem do 1º Teste de Sistemas Distribuídos, 1/7/14 Responda no enunciado, apes no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

THREADS EM JAVA. George Gomes Cabral

THREADS EM JAVA. George Gomes Cabral THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

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

INTRODUÇÃO. RPC x RMI

INTRODUÇÃO. RPC x RMI 1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.

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

Principais conceitos de CORBA

Principais conceitos de CORBA Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais