Sistemas Distribuídos 2013/14
|
|
- Neuza Martini Castelhano
- 5 Há anos
- Visualizações:
Transcrição
1 CORBA CORBA Tem origem no Object Management Group (OMG) criado em 1989 Modelo Conceptual é uma síntese entre o modelo cliente servidor e as arquitecturas de objectos A proposta original do Corba -Object Management Architecture foi publicada em 1990 e continha: Serviços de suporte ao ciclo de vida dos objectos Object request broker Page 1
2 Object Request Broker Novo paradigma proposto consistia num serviço que auxilia a invocação de objectos remotos (evolução do run-time do RPC) O papel do ORB é localizar o objecto, activá-lo se necessário, enviar o pedido do cliente ao objecto Localizar objecto (serviço) Aplicação Cliente ORB Estabelecer ligação Comunic. Activar serviço Serviço Remoto (objecto) CORBA CORBA 2.0 publicado em 1996 Os principais elementos da plataforma são: IDL linguagem object oriented com suporte para herança Arquitectura define o ambiente de suporte aos objectos, à invocação, ao ciclo de vida GIOP General Inter Orb Protocol protocolo de invocação remota entre Orb de fabricantes diferentes IIOP -Internet Inter Orb Protocol implementação do GIOP sobre protocolos TCP/IP Actualmente Actividade de normalização reduzida Vários produtos disponíveis Visigenic/Visibroker IONA Menos utilizado vs. plataformas J2EE /.net Page 2
3 Modelo de Objectos Um objecto CORBA implementa uma interface descrita na IDL CORBA Um objecto CORBA pode ser invocado remotamente através de uma referência remota Os objectos CORBA residem no servidor Os clientes podem ser objectos ou programas que enviam as mensagens correctas para os objectos Os objectos CORBA não têm de ser implementados numa linguagem Object Oriented podem ser em Cobol, C, etc. Passagem de Parâmetros Todos os parâmetros cujo tipo é especificado pelo nome de uma interface é uma referência a um objecto CORBA e são passados como referências a objectos remotos. Os argumentos do tipo primitivo ou estruturas são passados por valor. Na chegada um novo objecto é criado no processo receptor (pode ser no cliente ou no servidor). Este mecanismo é idêntico ao do RPC Page 3
4 CORBA IDL A interface é escrita em OMG IDL A interface é object-oriented com sintaxe muito semelhante ao C++ A herança é suportada Especifica um nome de uma interface e um conjunto de métodos que os clientes podem invocar Descreve os parâmetros e o respectivo sentido in, out, inout Os métodos podem ter excepções Exemplo da IDL CORBA module Accounts interface Account readonly attribute string number; readonly attribute float balance; exception InsufficientFunds (string detail); float debit (in float amount) raises (insufficientfunds); float credit (in float amount); interface InterestAccount : Account readonly attribute float rate; Herança Page 4
5 Arquitectura client Implementation repository interface repository server Client program Proxy for A ORB core Request Reply ORB core object adapter skeleton Servant A Or dynamic invocation or dynamic skeleton Elementos da Arquitectura ORB núcleo run-time da invocação remota, conjunto de funções residentes quer no cliente quer no servidor Implementa a infra-estrutura de comunicação O ORB tem funções para ser inicializado e parado Servidor Object adapters -rotina de despacho que recebe as mensagens e invoca os stubs apropriado O nome do object adapter faz parte da referência remota e permite a sua invocação Despacha cada invocação via um skeleton para o método apropriado Skeletons Funções de adaptação que fazem a conversão dos parâmetros de entrada e saída e o tratamento das excepções Client proxies Para as linguagens Object-oriented Efectua a conversão dos parâmetros de entrada e de saída Page 5
6 Referências Remotas Para invocar uma operação remota é necessário que o objecto invocador tenha uma referência remota para o objecto Uma referência remota pode ser obtida como Resultados de invocações remotas anteriores a servidores ou ao gestor de nomes Ter sido obtida como parâmetro de um invocação a um objecto local É diferente de bindinghandleestático dos RPC IOR IDL interface type name Protocol and address details Object key interface repository identifier IIOP host domain name port number adapter name object name Invocação A invocação do método tem por omissão uma semântica at-most-once A heterogeneidade é resolvida com a conversão para CDR Common Data Representation Inclui 15 tipos básicos Receiver makes it right Page 6
7 CORBA CDR index in sequence of bytes Struct Pessoa string Nome; string Lugar; unsigned long Ano; ; 4 bytes 5 Smit h 6 Lond on 1934 notes on representation length of string Smith length of string London unsigned long Representa a struct Person com os valores: Smith, London, 1934 Elementos da Arquitectura: Servidor de Interfaces Interface repository Dá informação sobre as interfaces registadas Para uma interface pode dar a informação dos métodos e dos respectivos parâmetros O compilador de IDL atribui um número único a cada tipo IDL que compila. Esta facilidade permite a invocação dinâmica em CORBA. Se um cliente recebe uma referência remota para um novo objecto CORBA de que não tem um proxy, pode ir buscar esta informação ao Interface repository Page 7
8 Elementos da Arquitectura: servidor do código das implementações Implementation repository Contém localização das implementações dos objectos Permite ao object adapter carregar o código das classes para instanciar os respectivos objectos CORBA Invocação Dinâmica Para dinamicamente invocar um objecto em tempo de execução existe a invocação dinâmica O cliente não precisa de ter os proxies As invocações remotas são construídas dinamicamente Novos servidores podem ser usados por clientes já existentes Funcionamento O Cliente usa o Interface Repository para obter a informação sobre os métodos e argumentos. Cria a mensagem de acordo com a especificação da interface, e envia o pedido para o respectivo objecto. Account_ptr acc =...; Obter ref para objecto Account acc.credit( 100 ); Invoc. estática CORBA::Object_ptr obj =...; CORBA::Request_ptr req = obj.request( credit" ); req.add_in_arg( "amount" ) <<= (CORBA::ULong) 100; req->invoke(); Invocação Dinâmica Page 8
9 Invocação dinâmica Obter a referência para o método Obter a lista de parâmetros Criar a mensagem de invocação Invocar várias alternativas Page 9
10 Equivalente ao RMI para C# na plataforma.net. Vamo-nos concentrar nas novas opções fornecidas.net Remoting Objectos Remotos Qualquer objecto pode ser usado remotamente derivando-o de MarshalByRefObject ou de MarshalByValObject MarshallByValue Objectos serializáveis, são copiados para o cliente Pode ser muito ineficiente MarshallByRef Quando o cliente recebe uma referência de um objecto remoto é uma referência a um objecto proxy local criado automaticamente pelo.net Remoting. Page 10
11 Utilização de Objectos Remotos Requer a respectiva activação. Dois modos: Singleton Apenas uma instância em cada instante Criada aquando da primeira invocação Requer sincronização no acesso a estado partilhado SingleCall Uma nova instância é criada para cada pedido. Após a execução de uma chamada, a próxima chamada será servida por outra instância. Tempo de Vida dos Objectos Tempo de vida dos objectos Singleton determinado por sistema de leases. Ao expirar um lease, este deve ser renovado, caso contrário a memória ocupada pelo objecto é recuperada pelo garbage collector. Java RMIescolheu solução mais complexa: contagem de referência distribuída. Problema: falhas na rede e nos servidores? Java RMI usa adicionalmente leases para tolerar falhas Page 11
12 Canais A comunicação entre dois processos distintos é realizada através de canais, cuja função é: Empacotar a informação de acordo com um tipo de protocolo Enviar esse pacote a outro computador. Dois tipos pré-definidos: TcpChannel (que envia os dados por TCP em formato binário). HttpChannel (que utiliza o protocolo HTTP em formato XML). Maior flexibilidade do que no RMI na escolha dos mecanismos de serialização e protocolos de transmissão Resumo das Opções MarshallByRef vs. MarshallByValue Canais TcpChannel vs. HttpChannel vs. Custom Activação Singleton vs. Single Call Tempo de vida Single Call vs. Leases Page 12
13 Exemplo: Interface public interface Account float debit(float amount); float credit(float amount); public interface AccountList Account getaccount(int id); Exemplo: Servidor class bankserver : MarshalByRefObject, accountlist ArrayList aclist; public bankserver ()... public Account getaccount(int id) return aclist[id]; static void Main() TcpChannel chan1 = new TcpChannel(8086); ChannelServices.RegisterChannel(chan1); RemotingConfiguration.RegisterWellKnownServiceType(typeof(bankServer), accountlist", WellKnownObjectMode.Singleton); System.Console.WriteLine("<enter> para sair..."); System.Console.ReadLine(); Page 13
14 Exemplo: Cliente class cl static void Main() TcpChannel chan = new TcpChannel(); ChannelServices.RegisterChannel(chan); accountlist aclist = (accountlist) Activator.GetObject(typeof(accountList), "tcp:localhost:8086/accountlist"); if (aclist == null) System.Console.WriteLine("Could not locate server"); else Account a = aclist.getaccount(2); Console.WriteLine(a.debit(1000)); Comparação IDL C#/Remoting IDL CORBA - IDL Java/RMI - Interface definition using System; namespace SimpleStocks public interface StockMarket float get_price(string symbol); module SimpleStocks interface StockMarket float get_price(in string symbol); ; ; package SimpleStocks; import java.rmi.*; import java.util.*; public interface StockMarket extends java.rmi.remote float get_price( String symbol) throws RemoteException; Page 14
15 C# / Remoting - Server implementation CORBA - Server implementation Java/RMI Departamento - Server implementation de Engenharia Informática StockMarketServer StockMarketServer StockMarketServer using System.Runtime.Remoting; public class StockMarketImpl : MarshalByRefObject, SimpleStocks.StockMarket public float get_price( string symbol ) float price = 0; for( int i = 0; i < symbol.length(); i++ ) price += (int) symbol.charat(i); price /= 5; return price; import org.omg.corba.*; import SimpleStocks.*; public class StockMarketImpl extends _StockMarketImplBase public float get_price( String symbol ) float price = 0; for(int i = 0; i < symbol.length(); i++) price += (int) symbol.charat( i ); price /= 5; return price; public StockMarketImpl( String name ) super( name ); package SimpleStocks; import java.rmi.*; import java.rmi.server.unicastremoteobject; public class StockMarketImpl extends UnicastRemoteObject implements StockMarket public float get_price( String symbol ) float price = 0; for( int i = 0; i < symbol.length(); i++ ) price += (int) symbol.charat( i ); price /= 5; return price; public StockMarketImpl( String name ) throws RemoteException try Naming.rebind( name, this ); catch( Exception e ) System.out.println( e ); C# / Remoting - Server Main CORBA - Server Main Java/RMI - Server Main StockMarketServer Main using System.Runtime.Remoting; class StockMarketServer static void Main(string[] args) TcpChannel chan1 = new TcpChannel(8086); ChannelServices.RegisterChannel (chan1); RemotingConfiguration.RegisterWel lknownservicetype(typeof(stockmar ket), NASDAQ",WellKnownObjectMode.Singleton); System.Console.WriteLine("<enter> para sair..."); System.Console.ReadLine(); StockMarketServer Main import org.omg.corba.*; import org.omg.cosnaming.*; import SimpleStocks.*; public class StockMarketServer public static void main(string[] args) try ORB orb = ORB.init(); BOA boa = orb.boa_init(); StockMarketImpl stockmarketimpl = new StockMarketImpl("NASDAQ"); boa.obj_is_ready( stockmarketimpl ); org.omg.corba.object object = orb.resolve_initial_references("nameser vice"); NamingContext root = NamingContextHelper.narrow( object ) ; NameComponent[] name = new NameComponent[1]; name[0] = new NameComponent("NASDAQ", ""); root.rebind(name, stockmarketimpl); boa.impl_is_ready(); catch( Exception e ) e.printstacktrace(); StockMarketServer Main import java.rmi.*; import java.rmi.server.unicastremoteobject; import SimpleStocks.*; public class StockMarketServer public static void main(string[] args) throws Exception if(system.getsecuritymanager() == null) System.setSecurityManager(new RMISecurityManager()); StockMarketImpl stockmarketimpl = new StockMarketImpl("NASDAQ"); Page 15
16 C# / Remoting - Client implementation CORBA - Client implementation Java/RMI - Client implementation StockMarketClient namespace SimpleStocks public class StockMarketClient static void Main() try StockMarket market = (StockMarket)Activator.GetObject( typeof(stockmarket), tcp:localhost:8086/nasdaq ); System.Console.WriteLine("The price of MY COMPANY is " + market.get_price("my_company") ); StockMarketClient import org.omg.corba.*; import org.omg.cosnaming.*; import SimpleStocks.*; public class StockMarketClient public static void main(string[] args) try ORB orb = ORB.init(); NamingContext root = NamingContextHelper.narrow( orb.resolve_initial_references("names ervice") ); NameComponent[] name = new NameComponent[1] ; name[0] = new NameComponent("NASDAQ",""); StockMarket market = StockMarketHelper.narrow(root.resolve (name)); System.out.println("Price of MY COMPANY is " + market.get_price("my_company")); catch( SystemException e ) System.err.println( e ); StockMarketClient import java.rmi.*; import java.rmi.registry.*; import SimpleStocks.*; public class StockMarketClient public static void main(string[] args)throws Exception if(system.getsecuritymanager() == null) System.setSecurityManager(new RMISecurityManager()); StockMarket market = (StockMarket)Naming.lookup("rmi:local host/nasdaq"); System.out.println( "The price of MY COMPANY is " + market.get_price("my_company") ); Page 16
Invocação de Métodos em Objectos Remotos
Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Um sistema de objectos distribuídos é uma extensão ao conceito de RPC Um objecto invoca um método noutro objecto localizado
Leia maisMétodos em Objectos Remotos
1 Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Um sistema de objectos distribuídos é uma extensão ao conceito de RPC Um objecto invoca um método noutro objecto localizado remotamente.
Leia maisInvocação de Métodos em Objectos Remotos. Invocação de Métodos em Objectos Remotos. Invocação de Objectos Remotos
Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos public static void main(string args[]) AccountList aclist = ObtemObjecto( server.meubanco.pt/accountlist ); Account a =
Leia maisMétodos em Objectos Remotos
Métodos em Objectos Remotos Orientado aos Métodos Partilha de componentes ou módulos entre aplicações Vantagens Fácil de utilizar nas linguagens baseadas em procedimentos, objectos e/ou componentes Ofertas
Leia maisInvocação de Métodos em Objectos Remotos
Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Um sistema de objectos distribuídos é uma extensão ao conceito de RPC Um objecto invoca um método noutro objecto localizado
Leia maisPADI 2014/15. Aula 3.Net Remoting
PADI 2014/15 Aula 3.Net Remoting Sumário 1..Net Remoting .NET Remoting Comunicação entre aplicações Permite invocar métodos em objectos remotos Qualquer objecto pode ser usado remotamente Objectos remotos
Leia maisAPÊ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 maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisNum 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
Leia maisRMI e RPC. RPC significou um passo muito grande em direcção à
Sumário RMI Conceito. Arquitectura de Implementação. Java RMI Características. Interfaces e Objectos Remotos JVM e Java RMI. Passagem de Argumentos e Serialização. Class Downloading. 1 RMI e RPC RPC significou
Leia maisTópicos em Sistemas Distribuídos CORBA
Tópicos em Sistemas Distribuídos CORBA Introdução - Middleware Middleware camada de software distribuído, ou plataforma que abstrai a complexidade e a heterogeneidade do ambiente distribuído formado por
Leia maisSistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21
Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação
Leia maisSistemas 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 maiswww/~cagf/sdgrad Serviço de Nomes CORBA e Interoperabilidade de ORBs
www/~cagf/sdgrad Serviço de Nomes CORBA e Interoperabilidade de ORBs 2002-2003 Carlos A. G. Ferraz 2 Serviço de Nomes CORBA Páginas Brancas Permite encontrar objetos através de nomes Nomes Referência de
Leia maisArquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Middleware de Aplicações Paralelas/Distribuídas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro
Leia maisParadigmas de Computação Paralela
Paradigmas de Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho 9 Novembro 2017 Paradigmas de Computação Paralela
Leia maisInvocaçã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 maisSistemas 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 maisSistemas 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 maisServiço de Nomes CORBA. Serviço de Nomes CORBA e Interoperabilidade de ORBs. Serviço de Nomes CORBA. Serviço de Nomes CORBA. Serviço de Nomes CORBA
www/~cagf/sdgrad Páginas Brancas e Interoperabilidade de s Permite encontrar objetos através de nomes Nomes Referência de Objeto Essa associação é denominada name binding Um name context é o espaço onde
Leia maisINTRODUÇÃ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 maisJava 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 mais15/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 maisPrincipais 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 maisJavaTM RMI - Remote Method Invocation
JavaTM RMI - Remote Method Invocation Java e Engenharia de Software Orientada a Objetos por Jorge H. C. Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Julho de 1999 Objetivos desta Aula Mostrar o modelo de
Leia maisSistemas Distribuídos CORBA. Edeyson Andrade Gomes.
Sistemas Distribuídos CORBA Edeyson Andrade Gomes www.edeyson.com.br Introdução Middleware Camada de software que abstrai a complexidade e a heterogeneidade do ambiente distribuído Objetivos Facilita a
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisMiddleware 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 maisSistemas 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 maisProgramando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Leia maisSistemas Distribuídos
Chamada Remota de Procedimento abril de 2017 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 maisNum 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 maisJava RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisUma 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 maisObjetos 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 maisCapí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 maisLaborató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 maisSistemas Distribuídos: Conceitos e Projeto RPC e RMI
Sistemas Distribuídos: Conceitos e Projeto RPC e 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 15 de abril
Leia maisExemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
n n n n Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança Callbacks Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Estende o modelo de objeto Java para fornecer suporte
Leia maisSistemas 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 Paula
Leia maisCliente. Servidor. Núcleo do ORB. Depende do adaptador Interface proprietária. Independe de ORB Depende das definições IDL.
1 Copyright 1998, 1999 Francisco Reverbel Cliente Servidor Interface de Invocação Dinâmica Stub IDL Interface do ORB Esqueleto IDL Esqueleto Dinâmico Adaptador de Objetos Núcleo do ORB Independe de ORB
Leia maisIORs, GIOP e IIOP. Partes da Especificação CORBA
IORs, GIOP e IIOP 1 Copyright 1998, 1999 Francisco Reverbel Partes da Especificação CORBA ^ O núcleo (core) do ORB ^ A linguagem de definição de interfaces (IDL) ^ O repositório de interfaces ^ Mapeamentos
Leia maisObjetos 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 maisSISTEMAS 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 maisInvocação Remota. Prof. Leonardo Barreto Campos. 1/29
Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os
Leia maisRemote Method Invocation (RMI)
Remote Method Invocation (RMI) November 1, 2009 Sumário RMI Conceito Implementação Exemplos Java RMI Características Objectos Remotos e Interfaces Remotas Implementação de Java RMI Argumentos e serialização
Leia maisCOMUNICAÇÃ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 maisPlataformas de Distribuição de Objetos
Plataformas de Distribuição de Objetos Denominações Equivalentes: Modelos de Componentes Modelos de Integração de Objetos Motivação: Reuso de objetos Redução do Tempo e do Custo de Desenvolvimento de Software
Leia maisSistemas de Objetos Distribuídos
Sistemas de Objetos Distribuídos Alex Carneiro Carlos Eduardo Elmadjian Karina Awoki Prof. Fabio Kon POO 2016.1 Agenda Conceitos Histórico CORBA Demos Comparação com SOA Conclusão 1 CONCEITOS Sistemas
Leia mais1 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)
Leia maisTeste-Tipo de Sistemas Distribuídos RPC, RMI, Web Services Guia de resolução
Teste-Tipo de Sistemas Distribuídos RPC, RMI, Web Services Guia de resolução Grupo RPC Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC. const
Leia maisJava 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 "
Leia maisInvocaçã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 maisSistemas 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 maisObject 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 maisNúmero: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:
Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisAspectos para Construção de Aplicações Distribuídas
Aspectos para Construção de Aplicações Distribuídas Cristiano Amaral Maffort maffort@gmail.com Programa de Pós-Graduação em Informática PUC Minas Belo Horizonte MG 12 de junho de 2007 Middleware Objetivo:
Leia maisDesenvolvimento 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 maisGrupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?
Número: Nome: Página 1 de 7 LEIC/LETI 2013/14, 1º Teste de Sistemas Distribuídos, 29 de Março de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisUNIVERSIDADE 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 maisRPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisProtocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Leia mais1 Copyright 1998, 1999 Francisco Reverbel
1 Copyright 1998, 1999 Francisco Reverbel General Inter-ORB Protocol (GIOP): protocolo abstrato (família de protocolos) O Internet Inter-ORB Protocol (IIOP) é uma realização concreta do GIOP Tres elementos
Leia maisSTD29006 Sistemas Distribuídos
STD29006 Sistemas Distribuídos Comunicação II Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 05 de setembro
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos A arquitetura CORBA 2 Para saber mais... O compreendimento e aplicação do tópico
Leia maisChamadas 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 maisCORBA IDL. Interface Definition Language. Mário Meireles Teixeira.
CORBA IDL Interface Definition Language Mário Meireles Teixeira mario@deinf.ufma.br Desenvolvimento de aplicações Para desenvolver uma aplicação CORBA, segue-se o seguinte roteiro: Descrever a interface
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido
Leia maisTrabalho Final de Mestrado Profissional
Uma Comparação entre Diversas Tecnologias de Comunicação de Objetos Distribuídos em Java Carlos Eduardo Calabrez Trabalho Final de Mestrado Profissional i Instituto de Computação Universidade Estadual
Leia maisComunicação Objetos Distribuídos e RMI
Sistemas Distribuídos Comunicação Objetos Distribuídos e RMI - Parte 2 - Instituto de Informática UFG Verão 2005 Baseado em: Tanenbaum, Capítulo 2 Chamadas de Objetos: Chamadas Remotas e Chamadas Locais
Leia maisQuando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa
Leia maisInvocaçã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 maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia maisGrupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC.
Número: Nome: Página 1 de 7 LEIC/LERC 2012/13, 1º Teste de Sistemas Distribuídos, 16 de Abril de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisProjecto hipotético para resolvermos hoje
Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:
Leia maisChamada Remota de Procedimento (RPC)
Chamada Remota de Procedimento (RPC) cont semântica de chamadas pelo menos uma vez no máximo uma vez exatamente uma vez relação com protocolo subjacente falhas e reinicializações de servidores funções
Leia maisInvocaçã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 maisIntrodução a CORBA. Renato Cerqueira. Departamento de Informática, PUC-Rio
Introdução a CORBA Renato Cerqueira Departamento de Informática, PUC-Rio Ferramentas de Programação p/ SD Vários níveis de abstração Sockets (TCP/IP) Chamada de Procedimentos Remotos (RPC) Objetos Distribuídos
Leia maisArquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Leia maisChamada Remota de Métodos. Marco Túlio de Oliveira Valente
Chamada Remota de Métodos Marco Túlio de Oliveira Valente Middleware Desenvolver uma aplicação distribuída é mais difícil do que desenvolver uma aplicação centralizada Problemas típicos: comunicação, heterogeneidade,
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisComunicação entre Processos
Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisOBJETOS 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 maisMIDDLEWARE 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 maisChamada Remota de Procedimento (RPC)
Chamada Remota de Procedimento (RPC) cont semântica de chamadas pelo menos uma vez no máximo uma vez exatamente uma vez relação com protocolo subjacente falhas e reinicializações de servidores funções
Leia maisJava 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 maisA ) 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 maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa
Leia maisComunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.
Tópicos Comunicação Carlos Ferraz cagf@cin.ufpe.br Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:
Leia maisInformá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 maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisUTILIZANDO REFLEXÃO COMPUTACIONAL NO DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUÍDAS
UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Arthur Cattaneo Zavadski UTILIZANDO REFLEXÃO COMPUTACIONAL NO DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUÍDAS Dissertação
Leia maisINE5380 - 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 maisSistemas Operacionais Distribuídos e de Redes
Contextualização Sistemas Operacionais Distribuídos e de Redes Comunicação Interprocessos Aula 04 Aula 04 Aplicação, serviços RMI e RPC Protocolo - (requisição-resposta) marshalling e representaçao externa
Leia maisCOMPUTAÇÃO DISTRIBUÍDA
COMPUTAÇÃO DISTRIBUÍDA INTRODUÇÃO Carlos Ferraz MOTIVAÇÃO Computação em evolução Antes disso Sistemas de Software (Aplicações) Infraestrutura de Software Infraestrutura de Hardware Infraestrutura
Leia mais