Sistemas Distribuídos
|
|
|
- Luiz Fernando Valverde Rijo
- 10 Há anos
- Visualizações:
Transcrição
1 Sistemas Distribuídos Marcelo Lobosco DCC/UFJF
2 Comunicação em Sistemas Distribuídos Aula 06
3 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral Criando aplicações distribuídas com RMI Escrevendo código do servidor Escrevendo código do cliente Compilando e executando o exemplo
4 Visão Geral RMI provê suporte para comunicação remota entre programas escritos na linguagem de programação Java Java RMI permite que um objeto executando em uma Máquina Virtual Java (MVJ) invoque métodos de um objeto executando em uma segunda MVJ Aplicações RMI geralmente consistem de dois programas separados Cliente e servidor
5 Visão Geral Típico programa servidor cria algum(ns) objeto(s) remoto(s), torna a(s) referência(s) a este(s) objeto(s) acessível(ies) e aguarda o(s) cliente(s) invocarem métodos neste(s) objeto(s) Típico programa cliente obtêm uma referência remota para um ou mais objetos remotos em um servidor e então invoca métodos neste(s) RMI provê o mecanismo pelo qual clientes e servidores se comunicam e passa informações de um lado para o outro
6 Visão Geral Tais aplicações algumas vezes chamadas sistemas de objetos distribuídos (OD). Ações necessárias em um sistema de OD: Localizar os objetos remotos Comunicar com objetos remotos Ler definições de classes para objetos que são passados como parâmetro / retorno
7 Visão Geral Localizar objetos remotos Vários mecanismos podem ser utilizados para obter referência de objetos remotos Aplicação pode registrar seus objetos remotos em um serviço especial de registro de nomes, RMI registry Referências remotas podem ser passadas / retornadas como parte de invocações remotas Comunicar com objetos remotos Detalhes da comunicação com objetos remotos são tratados por RMI Para programador, comunicação remota similar a invocação tradicional de métodos
8 Visão Geral Ler definições de classes para objetos que são passados como parâmetro / retorno RMI permite que objetos sejam passados como parâmetro / retorno RMI provê mecanismos para ler definição da classe de um objeto Java é uma linguagem dinâmica RMI provê mecanismos para transmitir estado de um objeto
9 Visão Geral
10 Visão Geral Figura ilustra aplicação RMI distribuída que usa registro para obter referência para objeto remoto Servidor chama registro para associar (ou ligar bind) um nome a um objeto remoto Cliente procura por objeto remoto pelo seu nome no registro do servidor e então invoca um método neste objeto Webserver pode ser usado por sistema RMI para ler definição de classes para objetos necessários Tanto do lado do cliente quanto do servidor
11 Visão Geral Interfaces, objetos e métodos remotos Como qualquer aplicação Java, aplicação distribuída composta de classes e interfaces Interfaces declaram métodos Classes implementam métodos declarados na interface, podendo declarar métodos adicionais Em uma aplicação distribuída, implementações podem residir em máquinas virtuais distintas Objetos com métodos que podem ser invocados por diferentes MVJ são chamados de objetos remotos
12 Visão Geral Objeto torna-se remoto quando implementa um interface remota, que possui as seguintes características: Uma interface remota estende a interface java.rmi.remote Cada método da interface declara java.rmi.remoteexception em sua cláusula throws, em adição a qualquer exceção específica da aplicação
13 Visão Geral RMI trata objetos remotos de forma distinta dos objetos locais quando o objeto é passado de uma MVJ para outra Ao invés de copiar na MVJ o objeto de implementação invocado, RMI passa um stub remoto para um objeto remoto Stub age como representante local (proxy) do objeto remoto Basicamente stub é, para o cliente, a referência remota Cliente invoca método no stub local, que é responsável por repassar a chamada para o objeto remoto
14 Visão Geral Stub para um objeto remoto implementa o mesmo conjunto de interfaces remotas que o objeto remoto implementa Somente métodos definidos na interface remota podem ser chamadas pela MVJ onde clientes executam cliente stub servid or Máquina do cliente Máquina do servidor
15 Criando Aplicações Distribuídas com RMI Passos gerais para desenvolver aplicação distribuída com RMI: Projetar e implementar os componentes de sua aplicação distribuída Compilar os fontes Tornar as classes acessíveis via rede Iniciar a aplicação
16 Criando Aplicações Distribuídas com RMI Projetar e implementar os componentes de sua aplicação distribuída Inicialmente, determine a arquitetura de sua aplicação, definindo componentes locais e componentes acessíveis remotamente: Defina as interfaces remotas: especifica métodos que podem ser invocados remotamente por um cliente Defina tipos dos parâmetros e retorno dos métodos Implemente os objetos remotos: objetos remotos devem implementar uma ou mais interfaces Podem incluir implementações de interfaces e métodos disponíveis apenas localmente
17 Criando Aplicações Distribuídas com RMI Projetar e implementar os componentes de sua aplicação distribuída (cont) Implemente o(s) clientes Compile os fontes Como qualquer programa java, use javac para compilar os programas fonte Declarações de interfaces remotas, suas implementações, outras classes de serviço, clientes Versões anteriores a JSE 5.0 necessitam do rmic
18 Criando Aplicações Distribuídas com RMI Tornar as classes acessíveis via rede Neste passo, torne certas definições de classes acessíveis via rede Como definições para interfaces remotas e seus tipos associados, e definições de classes que precisam ser acessadas por clientes e servidores Geralmente tornam-se acessíveis através de um servidor web Iniciar a aplicação Inclui, além do cliente e do servidor, o serviço de registro de nomes, rmiregistry
19 Criando Aplicações Distribuídas com RMI Passagem de parâmetros Qualquer tipo primitivo, objeto remoto ou objeto local, pode ser passado como parâmetro em chamadas RMI No caso de objeto local, além de acessível via rede, deve ser também serializável Para objeto ser considerado serializável, sua classe deve implementar a interface java.io.serializable
20 Exemplo de Aplicação: Calculadora Distribuída Servidor oferece serviços de uma calculadora Funcionalidade simples: soma, subtração, multiplicação e divisão com dois inteiros Cliente faz uso dos serviços Faz invocação, passando parâmetros e imprimindo resultado Objetivo: ilustrar o funcionamento de RMI Naturalmente que overhead proibitivo para aplicação real Serviço muito simples
21 Interface Primeiro passo: projetar interface remota Que serviços serão oferecidos? Quais os parâmetros necessários? Quais os tipos dos valores retornados? Quais exceções podem ocorrer?
22 Interface package exemplo; import java.rmi.remote; import java.rmi.remoteexception; import exemplo.divisaoporzero; public interface Calculadora extends Remote { float som (float a, float b) throws java.rmi.remoteexception; float sub (float a, float b) throws java.rmi.remoteexception; float mul (float a, float b) throws java.rmi.remoteexception; float div (float a, float b) throws DivisaoPorZero, java.rmi.remoteexception; }
23 Interface Ao estender a interface java.rmi.remote, a interface Calculadora identifica-se como uma interface que pode receber requisições de outras MVJ Qualquer classe que implemente esta interface pode produzir objetos remotos Métodos da interface Calculadora podem ser executados remotamente Logo devem ser capazes de sinalizar exceção java.rmi.remoteexception Sinaliza ocorrência de falha de comunicação ou erro de protocolo
24 Implementação da Interface De modo geral, classe que implementa interface remota deve seguir, no mínimo, os seguintes passos: Declarar as interfaces remotas sendo implementadas Definir o construtor para cada objeto remoto Prover uma implementação para cada método remoto declarado nas interfaces remotas
25 Implementação da Interface Programa servidor RMI deve: Criar os objetos remotos e Exportá-los para o sistema runtime do RMI Sistema runtime torna-os aptos a receber invocações remotas Este processo de configuração pode ser: Encapsulado em um método da implementação da interface remota ou Incluído completamente em outra classe Roteiro do processo de configuração: Criar e instalar um gerente de segurança Criar e exportar um ou mais objetos remotos Registrar ao menos um objeto remoto no registro de nomes do RMI (ou outro serviço de nomes)
26 Implementação da Interface package exemplo; import java.rmi.remoteexception; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; import java.rmi.server.unicastremoteobject; import exemplo.calculadora; import exemplo.divisaoporzero; public class CalculadoraImpl implements Calculadora{ public CalculadoraImpl() { super(); }
27 Implementação da Interface public float som (float a, float b) { return a+b; } public float sub (float a, float b) { return a-b; } public float mul (float a, float b) { return a*b; } public float div (float a, float b) throws divisaoporzero { if (b == 0) throw new divisaoporzero(); return a/b; }
28 Implementação da Interface public static void main(string[] args) { if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } try { String name = "Calculadora"; Calculadora calc = new CalculadoraImpl(); Calculadora stub = (Calculadora)UnicastRemoteObject.exportObject(calc,0); Registry registry = LocateRegistry.getRegistry(); registry.rebind(name, stub); System.out.println("Calculadora registrada!"); } catch (Exception e) { System.err.println("Ocorreu excecao: "); e.printstacktrace(); } } }
29 Implementação da Interface Declarando a interface remota sendo implementada: public class CalculadoraImpl implements Calculadora Podemos criar objetos remotos da classe CalculadoraImpl Alguns dos seus métodos, entretanto, só podem ser invocados localmente Construtor e método main
30 Implementação da Interface Definindo o construtor para o objeto remoto public CalculadoraImpl() { super(); } Em nosso caso, apenas invoca construtor da classe ancestral Apesar de não ser necessário, foi adicionado por questões de clareza de código
31 Implementação da Interface Provendo implementações para cada método remoto Classe provê implementações para todos os métodos declarados na interface som, sub, mul, div Passagem de parâmetros em Java segue as seguintes regras Objetos remotos passados por referência Objetos locais passados por cópia Todos os campos, exceto declarados estáticos ou transientes Desde que serializáveis e classes acessíveis (por exemplo, via servidor web)
32 Implementação da Interface Implementação do método main Primeira tarefa: instalar o gerente de segurança Protege o acesso aos recursos do sistema Determina, por exemplo, se código pode ter acesso ao sistema local de arquivos ou realizar qualquer outra ação privilegiada Receita de bolo: if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); }
33 Implementação da Interface Implementação do método main Segunda tarefa: tornar os objetos remotos disponíveis para o cliente Instanciar objeto Exportar objeto, com UnicastRemoteObject.exportObject, de forma que ele possa receber chamadas remotas: Calculadora stub = (Calculadora)UnicastRemoteObject.exportObject(calc,0); Segundo parâmetro indica número da porta TCP a ser ouvida Zero indica porta anônima Porta real escolhida por SO ou RMI
34 Implementação da Interface Implementação do método main Método exportobject retorna stub para objeto remoto exportado Observe que tipo do stub deve ser da interface, e não da implementação Antes do cliente invocar um objeto em um objeto remoto, deve primeiro obter referência para objeto remoto Registro faz esse papel Serviço de nomes, que fornece uma referência para objeto remoto, dado um nome
35 Implementação da Interface Servidor registra nome no serviço de nomes String name = "Calculadora"; Registry registry = LocateRegistry.getRegistry(); registry.rebind(name, stub); Rebind faz chamada remota para registro localizado na máquina do servidor Como qualquer chamada remota, pode retornar exceção, que deve ser tratada Bloco try/catch faz tratamento
36 Implementando o Cliente package exemplo; import java.rmi.registry.locateregistry; import java.rmi.registry.registry; public class CalculadoraClnt { public static void main(string args[]) { if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); }
37 Implementando o Cliente } } try { String name = "Calculadora"; Registry registry = LocateRegistry.getRegistry(args[0]); Calculadora calc = (Calculadora) registry.lookup(name); System.out.println("2 + 2 = " + calc.som(2,2)); } catch (Exception e) { System.err.println("Calculadora exception:"); e.printstacktrace(); }
38 Implementando o Cliente Assim como servidor, começamos declarando gerente de segurança Necessário se cliente fizer download de código do servidor a partir do servidor web if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } Próximo passo: localizar referência para objeto remoto String name = "Calculadora"; Registry registry = LocateRegistry.getRegistry(args[0]); Calculadora calc = (Calculadora) registry.lookup(name);
39 Implementando o Cliente Passo final: usar as funcionalidades do objeto remoto, através de seus métodos, da mesma forma que usaríamos as funcionalidades de um objeto local System.out.println("2 + 2 = " + calc.som(2,2));
40 Compilação e Execução Para compilar: Compilar com javac *.java Criar arquivo jar com classes relacionadas ao servidor: jar cvf server.jar Calculadora.class CalculadoraImpl.class divisaoporzero.class Caso código do servidor seja acessado através de servidor web, disponibilizar arquivo jar em pasta acessível via rede Caso alguma classe do cliente seja acessada pelo servidor, deve-se criar jar e disponibilizálo através da rede
41 Compilação e Execução Antes de executar: Criar arquivo contendo políticas de segurança Neste exemplo, daremos todas as permissões de acesso: grant { permission java.security.allpermission; };
42 Compilação e Execução Para executar: Iniciar rmiregistry (rmiregistry&) Iniciar servidor: java -Djava.security.policy=f:\ calc\exemplo\secpolicy -Djava.rmi.server.codebase=file:\f:calc\exempl o\server.jar CalculadoraImpl Iniciar cliente: java -Djava.security.policy=f:\calc\exemplo\secpoli cy CalculadoraClnt localhost Resultado: = 4.0
43 Próxima Aula... Remote Procedure Call (cont.) Questões de Implementação Problemas
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
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
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
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:
Sistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis [email protected] 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
INF01018 Aula Prática 2 RMI Remote Method Invocation
1 / 18 INF01018 Aula Prática 2 RMI Remote Method Invocation Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais
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
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
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
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.
Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:
Tratamento de Exceções Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Exceções Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
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
Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
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 ([email protected]) Rede A Rede B Rede C 2015/01 - INF02799 Sistema
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
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
Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Linguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Curso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
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
3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
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
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
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
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)
Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel
Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve
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)
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. Conceitos Básicos a. Invocação remota (RPC/RMI)
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
Guia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
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, [email protected] Este tutorial ensina como criar uma aplicação distribuída
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
Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
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 ([email protected]): SCJP, faz Ciência da Computação na Faesa e atua
Introdução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Java : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Alocação Dinâmica e Transparente de Computadores Ociosos em Java
Alocação Dinâmica e Transparente de Computadores Ociosos em Java Márcia Cristina Cera, Rodrigo Righi e Marcelo Pasin {cera, rodrigor, pasin}@inf.ufsm.br Universidade Federal de Santa Maria - UFSM Laboratório
Java para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
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
Curso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Programação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a
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
Prototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Num sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 9-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
Técnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Padrões Arquiteturais. Sistemas Distribuídos: Broker
Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
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
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
Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Documentação Usando o Javadoc
Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro [email protected] Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários
Módulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
Objetivos: Entender o funcionamento dos programas Java via linha de comando
Algoritmos e Programação I Aula de Laboratório Objetivos: Entender o funcionamento dos programas Java via linha de comando 1. A Linha de Comando: DOS ou Shell Apesar dos usuários geralmente não enxergarem
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
Sobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
Padrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.
Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Exercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
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
Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Laboratório I Aula 2
Laboratório I Aula 2 Prof. Msc. Anderson da Cruz Fases da Programação Implementação de Linguagens de Programação Compilação geração de código executável dependente da plataforma de execução tradução lenta
Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame
6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java
Programação online em Java
Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão
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
Programação Orientada a Objetos em java. Polimorfismo
Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa
