! "# $ $ % & % ' & ( )



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

Desenvolvimento de Aplicações Java/CORBA

Objetos distribuídos. Roteiro. Java IDL

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

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

SISTEMAS DISTRIBUÍDOS

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

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

insfcanceof new public switch transient while byte continue extends for int null

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Sistemas Distribuídos

Exercícios de Revisão Java Básico

Desenvolvendo uma aplicação CORBA utilizando Java

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

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

Simulado de Linguagem de Programação Java

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

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

Sistemas distribuídos e Middleware

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

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

APÊNDICE A EXEMPLO DE APLICAÇÃO

Unidade IV: Ponteiros, Referências e Arrays

Invocação de Métodos Remotos

Threads e Sockets em Java. Threads em Java. Programas e Processos

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

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Design Patterns (Factory Method, Prototype, Singleton)

public void setdata(data d) { data = d;

Técnicas de Programação II

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Java. Marcio de Carvalho Victorino

Encapsulamento de Dados

Caso 1 NetScanner Main

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Mecanismos de Comunicação. Sockets em java (

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Templates e Pilhas. 1. Introdução

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Programação Orientada a Objetos em Java

Prof. Jhonatan Fernando

Aula 30 - Sockets em Java

Invocação Remota MC704

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Programação online em Java

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Classes Abstratas e Interfaces

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

BSI UFRPE Prof. Gustavo Callou

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Algoritmos e Programação II. Sobrecarga

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Curso Superior de Tecnologia emtelemática Programação Orientada a Objetos Streams em Java. Copyright 2010 Prof. César Rocha

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos )

UNIVERSIDADE FEDERAL DO PARANÁ

Capítulo 6. Java IO - Ficheiros

Análise de Programaçã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.

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Programação Orientada a Objetos em java. Polimorfismo

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Sobre o Professor Dr. Sylvio Barbon Junior

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br

Desenvolvimento OO com Java Orientação a objetos básica

Implementação de Classe e Auto-Relacionamento em Java

LP2 Laboratório de Programação 2 Ciência da Computação. Arquivos

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Programação por Objectos. Java

Java TM e o Modelo de Objetos

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Java : Comunicação Cliente-Servidor.

Implementando uma Classe e Criando Objetos a partir dela

Um pouco do Java. Prof. Eduardo

Keeper of Knowledge. Capítulo 2 Classes em Java

Projeto de Software Orientado a Objeto

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

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

THREADS EM JAVA. George Gomes Cabral

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Java 2 Standard Edition Como criar classes e objetos

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

Transcrição:

%&!"# $$ % &( )

! "#$# %! &&&##&# (! %! &&&#)#!##! &&&## *! &&&## +)! &&&##,)! &&&##. /."0 1$.2.3,,0 *445,0 6.1,70 +.-# 71,$.#0 6 8 9# -

. ; 6<; jidl; *5,0 jidl =)=>7?,0 javac. : * +, $8 A,BC! 230 D0 @

&( -!= ;=F0 6F, $?,6<0 7$GFH,0 $G=;F,0 ;?,# E &( - ;=F0 6F, $?,6<0 $GF $GH,J,?,0?# I -

L;,7?,!0 %/*0* 3$ 1 23$ 1 4)1 *./ $1$ K * +, 5 ) #include hello_skel.h package hello; public class Server public static void main(string args[]) orb = org.omg.corba.orb.init(args, props); Inicializa o ORB Inicializa o Adaptador de Objetos // Resolve Root POA org.omg.portableserver.poa rootpoa = org.omg.portableserver.poahelper.narrow( orb.resolve_initial_references("rootpoa")); org.omg.portableserver.poamanager manager = rootpoa.the_poamanager(); manager.activate(); // Cria o objeto Hello_impl helloimpl = new Hello_impl(); Hello hello = helloimpl._this(orb); :

* +, 5 ) // Grava a referencia do objeto em um arquivo String ref = orb.object_to_string(hello); String reffile = "Hello.ref"; java.io.fileoutputstream file = new java.io.fileoutputstream(reffile); java.io.printwriter out = new java.io.printwriter(file); out.println(ref); out.close(); // Executa o servidor orb.run(); //fim do método main //fim da classe Server Converte o objeto hello para uma string Servidor fica aguardando por requisições de clientes public class Hello_impl extends HelloPOA public void say_hello() System.out.println("Hello world!"); Implementação do método say_hello() package hello; * +, 5 ) public class Client public static void main(string args[]) org.omg.corba.object obj = null; int status = 0; org.omg.corba.orb orb = null; Inicializa o ORB orb = org.omg.corba.orb.init(args, props); Obtém a Ref. do Objeto remoto a partir de uma string try String reffile = "Hello.ref"; armazenada em arquivo BufferedReader in = new BufferedReader(new FileReader(refFile)); String ref = in.readline(); obj = orb.string_to_object(ref); @

* +, 5 ) // Converte para uma referencia ao objeto Hello Hello hello = HelloHelper.narrow(obj); Converte a Referência para um objeto do tipo Hello // Chama o metodo remoto hello.say_hello(); System.exit(status); //fim método main //fim classe Client Realiza a chamada ao método say_hello no objeto remoto * (5/3/% interface Agenda string consultanome(in string nome); boolean insereitem(in string nome, in string fone); long statusmem(); void listaitens(); ; - E

package agenda; public class Agenda_cli public static void main(string args[]) int status = 0; String input; String nome, fone; boolean res; Inicializa o ORB org.omg.corba.orb orb = null; org.omg.corba.object obj = null; orb = org.omg.corba.orb.init(args, props); Obtém a Ref. do Objeto remoto a partir de uma string String reffile = "Agenda.ref"; armazenada em arquivo BufferedReader in = new BufferedReader(new FileReader(refFile)); String ref = in.readline(); obj = orb.string_to_object(ref); : // Converte para uma referencia ao objeto Hello Agenda agenda = AgendaHelper.narrow(obj); res = agenda.insereitem(nome, fone); if (!res) System.out.println("Agenda cheia!"); agenda.listaitens(); fone = agenda.consultanome(nome); if (fone.equals("0")) System.out.println("Nao encontrado!"); else System.out.println("O telefone e: " + fone); Converte a Referência para um objeto do tipo Agenda System.out.println("Registros na memoria: " + agenda.statusmem()); return 0; //fim do método main //fim da classe Agenda_cli @ I

package agenda; public class Agenda_srv public static void main(string args[]) int status = 0; org.omg.corba.orb orb = null; Inicializa o ORB orb = org.omg.corba.orb.init(args, props); org.omg.portableserver.poa rootpoa = org.omg.portableserver.poahelper.narrow(orb.resolve_initial_references("rootpoa")); org.omg.portableserver.poamanager manager = rootpoa.the_poamanager(); manager.activate(); Inicializa o Adaptador de Objetos E // Cria o objeto Agenda_impl agendaimpl = new Agenda_impl(); Agenda agenda = agendaimpl._this(orb); Converte o objeto hello para uma string // Grava a referencia ao objeto em um arquivo String ref = orb.object_to_string(agenda); String reffile = "Agenda.ref"; java.io.fileoutputstream file = new java.io.fileoutputstream(reffile); java.io.printwriter out = new java.io.printwriter(file); out.println(ref); out.close(); // Executa o servidor orb.run(); System.exit(status); // fim do método main //fim da classe Agenda_srv Servidor fica aguardando por requisições de clientes I K

public class Agenda_impl extends AgendaPOA final int MAX = 20; private class Agenda String nome; String fone; ; private Agenda [] ag; private int numitens; Implementação da classe e métodos que serão invocados pelo cliente public Agenda_impl() numitens = 0; ag = new Agenda[MAX]; for (int i=0; i < MAX; i++) ag[i] = new Agenda(); K public String consultanome(string chave) public boolean insereitem(string nome, String fone) Implementação dos métodos que serão invocados pelo cliente public int statusmem() public void listaitens() //fim classe Agenda_impl

$GF /F0 M, H,J=#6.=?,### Referência de Objeto IDL:CCS:1.0 lasdix:2133 controller:c1 Informação utilizada pelo ORB e AO para localizar o objeto alvo. Informações necessárias para que um ORB estabeleça uma conexão com o servidor. Informação utilizada para localizar descrições da interface no Repositório de Interfaces