Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco
|
|
- Elias Nelson Rodrigues Fidalgo
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução a Middleware: Visão do Programador de Aplicações Distribuídas Universidade Federal de Pernambuco Centro de Informática Recife - Pernambuco
2 Relembrando... Aplicação Middleware Aplicação Middleware Aplicação Middleware Aplicações distribuídas são construídas com o auxílio do middleware Middleware é uma camada de software localizada entre o sistema operacional e a aplicação Middleware é um software de comunicação
3 Motivação Quais são as alternativas de comunicação entre processos executando na mesma máquina ou máquinas diferentes? IPC tradicionais (e.g., pipe, socket, memória compartilhada, fila de mensagens, etc) Middleware
4 Antes de conhecermos os elementos que compõem o middleware, vamos ver como alguns funcionam (visão do programador)
5 Cenário em uma rede Local (LAN) LAN request Aplicação Serviço return Middleware Middleware. Lógica Física
6 Vamos começar com Socket socket não é middleware, mas pode ser usado para construir aplicação distribuída (haja disposição!) construir aplicação distribuída usando socket é equivalente a construir aplicações comuns usando assembly vamos assumir o uso do TCP
7 Socket (em C++) LAN request Cliente Servidor return Socket Socket Lógica Física
8 Socket (Unix) Cliente Socket
9 Socket (Unix) Cliente Socket Cliente / TCP... main(argc, argv) int argc; char **argv, r; { hp = gethostbyname (hostname);... sd = socket (AF_INET, SOCK_STREAM, 0);... r = connect (sd,(struct sockaddr *) &pin, sizeof(pin));... r = send (sd, argv[1], strlen(argv[1]), 0);... r = recv (sd, dir, DIRSIZE, 0);... close (sd); Comunicação entre aplicações
10 Socket (Unix) Servidor / TCP... main() { sd = socket (AF_INET, SOCK_STREAM, 0));... r = bind (sd, (struct sockaddr *) &sin, sizeof(sin));... r = listen (sd, 5) == -1);... sd_current = accept (sd, (struct sockaddr *) &pin, &addrlen)); Servidor Socket r = recv (sd_current, dir, sizeof(dir), 0);... r = send (sd_current, dir, strlen(dir), 0);... close(sd_current); close(sd);... Comunicação entre aplicações
11 Fila de Mensagem (Unix) LAN Message Sender Receiver Socket Socket Lógica Física
12 Fila de Mensagem (Unix) Sender... int main(int argc, char* argv[]) { /* create a public message queue, with access only to the owning user. */ queue_id = msgget (QUEUE_ID, IPC_CREAT IPC_EXCL 0600); rc = msgsnd (queue_id, msg, strlen(msg->mtext)+1, 0);... Sender Socket
13 Fila de Mensagem (Unix) Receiver.. void main(int argc, char* argv[]) {... /* access the public message queue that the sender program created. */ queue_id = msgget (QUEUE_ID, 0);.. rc = msgrcv (queue_id, msg, MAX_MSG_SIZE+1, msg_type, 0);... Receiver Socket
14 Socket (em Java) LAN request Cliente Servidor JVM return JVM Lógica Física
15 Socket (em Java) Cliente JVM
16 Socket - Cliente import java.io.*; import java.net.*; class TCPClient { public static void main(string argv[]) throws Exception { String sentence, modifiedsentence; BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); Socket clientsocket = new Socket("hostname", 6789); DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader infromserver = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = infromuser.readline(); outtoserver.writebytes(sentence + '\n'); modifiedsentence = infromserver.readline(); System.out.println( FROM SERVER: " + modifiedsentence); clientsocket.close();
17 Socket - Cliente import java.io.*; import java.net.*; class TCPClient { Socket clientsocket = new Socket("hostname", 6789); Cliente outtoserver.writebytes(sentence + '\n'); modifiedsentence = infromserver.readline(); JVM clientsocket.close();
18 Socket - Servidor import java.io.*; import java.net.*; class TCPServer { public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; ServerSocket welcomesocket = new ServerSocket(6789); while(true) { Socket connectionsocket = welcomesocket.accept(); BufferedReader infromclient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outtoclient = new DataOutputStream (connectionsocket.getoutputstream()); clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; outtoclient.writebytes(capitalizedsentence);
19 Socket - Servidor import java.io.*; import java.net.*; class TCPServer { ServerSocket welcomesocket = new ServerSocket(6789); while(true) { Socket connectionsocket = welcomesocket.accept(); Servidor clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; outtoclient.writebytes(capitalizedsentence); JVM
20 Vamos deixar o mundo dos mecanismos de comunicação de baixo nível...
21 RPC (UNIX) LAN request Cliente Servidor return RPC RPC
22 RPC - Interface program FIRSTTRYPROG { version FIRSTTRYVERS { string FIRSTTRY(void) = 1; = 1; = 0x ; Servidor Este é o Procedimento que será invocado remotamente. Servidor RPC
23 RPC (UNIX) - Cliente main (int argc, char *argv[]) { CLIENT *cl; char **p; if (argc!= 2) { printf("usage: firstmain hostname\n"); exit(1); cl = clnt_create(argv[1],firsttryprog, FIRSTTRYVERS, "tcp"); if (cl == NULL) { clnt_pcreateerror(argv[1]); exit(1); Cliente RPC printf("getting ready to call firsttry\n"); p = firsttry_1(null,cl); printf("back from firsttry\n"); if (p == NULL) { clnt_perror(cl,argv[1]); exit(1); printf("returned string=%s\n",*p);
24 RPC (UNIX) - Servidor char **firsttry_1() { static char msg[256]; static char *p; printf("getting ready to return value\n"); strcpy(msg, "Hello world"); p = msg; printf("returning\n"); return(&p); Servidor RPC
25 No mundo Java, temos o RMI LAN RMI é um Middleware UpperCase RMI usa TCP Cliente Servidor Serviço JVM/RMI return JVM/RMI Lógica Física
26 RMI - Interface package hello; Servidor import java.rmi.remote; import java.rmi.remoteexception; public interface Hello extends Remote { String sayhello() throws RemoteException; HelloImpl JVM/RMI
27 RMI - Cliente package courses.middleware.rmi.hello; import java.rmi.naming; import java.rmi.remoteexception; public class HelloClient { public static void main (String[] argv) { try { Hello hello = (Hello) Naming.lookup ("/HelloServer"); System.out.println (hello.sayhello()); catch (Exception e) { System.out.println ("HelloClient exception: " + e);
28 RMI - Cliente rmiregistry package courses.middleware.rmi.hello; import java.rmi.naming; import java.rmi.remoteexception; public class HelloClient { Hello hello = (Hello) Naming.lookup ("/HelloServer"); System.out.println (hello.sayhello()); Cliente JVM/RMI Servidor
29 RMI - Servidor package hello;... public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl() throws RemoteException { super(); public String sayhello() { return "Hello World!"; public static void main(string args[]) { if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); try { HelloImpl obj = new HelloImpl(); Naming.rebind("//HelloServer", obj); System.out.println("HelloServer bound in registry"); catch (Exception e) { System.out.println("HelloImpl err: " + e.getmessage()); e.printstacktrace();
30 RMI - Servidor package hello;... public class HelloImpl extends UnicastRemoteObject implements Hello { Servidor rmiregistry public String sayhello() { return "Hello World!"; public static void main(string args[]) { HelloImpl Servidor Naming.rebind("//HelloServer", obj); JVM/RMI Cliente
31 RMI X Sockets mais facilidade na construção da aplicação distribuída com RMI não dá para perceber, mas o socket é mais rápido duas novidades no RMI especificação da Interface (java) serviço de nome ( rmiregistry ) RMI usa socket, mas isto fica invisível (lembra da transparência?) ao programador
32 RMI X Sockets (cont.) RMI usa TCP no RMI invoca-se explicitamente uma operação remota, no socket a operação remota ficou implícita no RMI precisa-se que o rmiregistry esteja funcionando no socket o host do servidor é informado ao cliente, no RMI o nome do serviço é informado ao cliente (transparência de localização)
33 Chegamos ao turbinado CORBA CORBA é uma especificação as implementações do CORBA usam TCP JDK implementa o CORBA (Sun) depois veremos mais detalhes do CORBA...
34 CORBA LAN request Cliente Servidor Serviço JVM/CORBA return JVM/CORBA Lógica Física
35 CORBA - Interface module HelloApp { interface Hello { string sayhello(); oneway void shutdown(); ; ; Servidor HelloApp JVM/CORBA
36 CORBA - Cliente import HelloApp.*; import org.omg.cosnaming.*; import org.omg.cosnaming.namingcontextpackage.*; import org.omg.corba.*; public class HelloClient { static Hello helloimpl; public static void main(string args[]) { String name = "Hello"; try{ ORB orb = ORB.init(args, null); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); helloimpl = HelloHelper.narrow(ncRef.resolve_str(name)); System.out.println(helloImpl.sayHello()); catch (Exception e) { System.out.println("ERROR : " + e) ; e.printstacktrace(system.out);
37 CORBA - Cliente orbd import HelloApp.*; import org.omg.cosnaming.*; import org.omg.cosnaming.namingcontextpackage.*; import org.omg.corba.*; public class HelloClient { static Hello helloimpl; public static void main(string args[]) { String name = "Hello"; try{ ORB orb = ORB.init(args, null); org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); HelloClient helloimpl = HelloHelper.narrow(ncRef.resolve_str(name)); System.out.println(helloImpl.sayHello()); JVM/CORBA catch (Exception e) { System.out.println("ERROR : " + e) ; e.printstacktrace(system.out); Servidor
38 CORBA - Servidor class HelloImpl extends HelloPOA { private ORB orb; public String sayhello() { return "\nhello world!!\n"; public void shutdown() { orb.shutdown(false); public class HelloServer { public static void main(string args[]) { try{ ORB orb = ORB.init(args, null); // get POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); HelloImpl helloimpl = new HelloImpl(); org.omg.corba.object ref = rootpoa.servant_to_reference(helloimpl); Hello href = HelloHelper.narrow(ref); NamingContextExt ncref = NamingContextExtHelper.narrow(objRef); String name = "Hello"; NameComponent path[] = ncref.to_name( name ); ncref.rebind(path, href); orb.run(); catch (Exception e) { System.err.println("ERROR: " + e); e.printstacktrace(system.out); System.out.println("HelloServer Exiting...");
39 CORBA - Servidor class HelloImpl extends HelloPOA { private ORB orb; Servidor orbd public String sayhello() { return "\nhello world!!\n"; public void shutdown() { orb.shutdown(false); public class HelloServer { public static void main(string args[]) { HelloServer Servidor JVM/CORBA Cliente ncref.rebind(path, href); orb.run();
40 RMI X CORBA ambos fornecem facilidades para construção da aplicação distribuída não dá para perceber, mas o RMI é mais rápido não dá para perceber, mas o CORBA é muito mais complexo RMI e CORBA usam socket, mas isto fica invisível (lembra da transparência?) ao programador
41 RMI X CORBA (cont.) RMI e CORBA usam TCP não dá para perceber, mas no CORBA cliente e servidor podem ser construídos em linguagens diferentes (heterogeneidade) no RMI precisa-se que o rmiregistry estejam funcionando, no CORBA precisa-se que o serviço de nomes (orbd) esteja funcionando a interface no RMI é especificada em Java, a interface em CORBA é especificada em IDL
Objetos distribuídos. Roteiro. Java IDL
Objetos distribuídos Java IDL Roteiro Java IDL Definindo a interface IDL Compilando a interface IDL Criando o servidor Criando o cliente Rodando a aplicação Rodando a aplicação em duas máquinas Java IDL
Leia 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 maissocket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets
Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX
Leia maisProgramação de Sockets
Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados
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 maisProgramação de sockets com TCP
Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente
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 maisComunicação entre processos
Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação
Leia maisProgramação de Sockets
Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados
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 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 maisRedes de Computadores
Redes de Computadores Capítulo 2.7 e 2.8 - Camada de Aplicação Programação de sockets Prof. Jó Ueyama Março/2014 SSC0540-2014 1 Sockets TCP - Cliente Processo servidor já deve estar em execução. l Servidor
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 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 maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos
Leia 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 maisTutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
Leia 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 maisRedes de Computadores II. Programação com Sockets em Python
v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE
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 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 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 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 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 maisProgramação com sockets (em Java)
com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission
Leia 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 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 maisRMI RMI-IIOP Java IDL (CORBA) Helder da Rocha www.argonavis.com.br
RMI RMI-IIOP Java IDL (CORBA) Helder da Rocha www.argonavis.com.br 1 Sumário RMI/RPC e Java em ambientes distribuídos Java IDL (~25%) Arquitetura CORBA e mapeamento Java-IDL Construção de uma aplicação
Leia 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 maisDisciplina de Sistemas Distribuídos. Comunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos Objetivos Estudar os modelos de comunicação nos Sistemas Operacionais de Rede. Apresentar as características da camada de Transporte e seus protocolos. Estudar as principais
Leia maisCamada de Transporte. Bruno Silvério Costa
Camada de Transporte Bruno Silvério Costa Serviços Oferecidos à camada superior Camadas de rede, transporte e aplicação. Primitivas do Serviço de Transporte As primitivas para um serviço de transporte
Leia maisJava RMI. Alcides Calsavara
Java RMI Alcides Calsavara Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância de uma classe Java) situado em outra máquina
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia mais! "# $ $ % & % ' & ( )
%&!"# $$ % &( ) ! "#$# %! &&&##&# (! %! &&&#)#!##! &&&## *! &&&## +)! &&&##,)! &&&##. /."0 1$.2.3,,0 *445,0 6.1,70 +.-# 71,$.#0 6 8 9# - . ; 67?,0 javac. : * +, $8 A,BC! 230 D0 @
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 maisSistemas Distribuídos Arquiteturas Middlewares
Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes
Leia 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 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 disciplinas:
Leia maisMecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)
Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar
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 maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira neto Aula 17-18: Middleware: Implementação de RMI (cont.), RPC, Modelo de Eventos, Exemplo com Java RMI Chamadas dinâmicas
Leia 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 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 maisGrupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais
Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisUNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA Disciplina: Redes de Computadores Ano: 2007 Professor: Luiz Antonio Trabalho 1º Bimestre Cliente/Servidor
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 maisComunicação usando soquetes.
Soquetes Um soquete é definido como uma extremidade de um canal de comunicação. Um par de processos (ou threads) se comunica em uma rede utilizando um par de soquetes - um para cada processo. Um soquete
Leia maisSistemas Operacionais:
Sistemas Operacionais: Sistemas Distribuídos e Programação em Redes de Computadores Dierone Cesar Foltran Junior dcfoltran at yahoo.com Sistemas Distribuídos Sistemas Computacionais Distribuídos Lamport:
Leia maisSistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br
Sistemas Distribuídos Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Relembrando... Encapsulamento nas camadas de rede e protocolos 2-2 Relembrando...
Leia maisREC- Redes de Computadores. Capítulo 5 Camada de Aplicação
REC- Redes de Computadores Capítulo 5 Camada de Aplicação Camada de aplicação DNS: Servidores de nomes raiz contactados por servidores de nomes locais que não conseguem traduzir nome servidores de nomes
Leia maisAula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
Leia maisThreads e Sockets em Java. Threads em Java. Programas e Processos
Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos
Leia maisJava Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br. Novembro/2005
Java Básico Matrícula de Alunos Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Novembro/2005 Objetivos OO: trocar mensagens entre os objetos Exception: tratar exceções Análise: implementar
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 RPC Remote Procedure Call
Sistemas Distribuídos RPC Remote Procedure Call Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Cliente/Servidor Quais os problemas? Baseado em E/S Erro propagado
Leia 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 maisComunicação entre Processos
Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica
Leia maisCliente-servidor com Sockets TCP
Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets
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 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 maisCapítulo II Modelos de Programação Distribuída
Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent
Leia maisObjetos Distribuídos em Java
J530 - Enterprise JavaBeans Objetos Distribuídos em Java Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivo O objetivo deste módulo é fornecer os pré-requisitos de computação distribuída necessários
Leia maisMiddleware. Camada Intermediária de Suporte a Sistemas Distribuídos
Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,
Leia maisGrupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.
Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisUm pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Leia 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 maisPrincípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5
Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos
Leia maisJava : 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
Leia maisCapítulo V Sistemas de Objectos Distribuídos
From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 From: Wolfgang Emmerich Engineering Distributed Objects John Wiley & Sons, Ltd 2000 1 O modelo
Leia maisComputação Distribuída
Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender
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 maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisCaso 1 NetScanner Main
Caso 1 NetScanner import java.util.scanner; import java.net.unknownhostexception; import java.util.logging.level; import java.util.logging.logger; import javax.swing.joptionpane; public class Main { System.out.println("Digite
Leia maisExercício programa para MAC5796
Exercício programa para MAC5796 Walter Mascarenhas e Helton Rosa 9 de setembro de 2008 Resumo Esse documento explica dois aspectos do exercício programa para MAC5796: o processo de invocação remota de
Leia maisEnterprise Java Beans
Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side
Leia maisLicenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática PROVA DE TESTE PRÁTICO Sistemas Distribuídos I 2º Semestre, 2005/2006 NOTAS:
Leia maisComunicação via Sockets. Prof. Orlando Loques - IC/UFF. versão 26-04-2001
Comunicação via Sockets Prof. Orlando Loques - IC/UFF versão 26-04-2001 Referências: - Slides Prof. Alexandre Sztajnberg, UERJ - Capítulo 15, Applied Operating System Concepts, Silberschatz & Galvin; Wiley
Leia maisCapítulo 2 Camada de aplicação
Redes de computadores e a Internet Capítulo 2 Camada de aplicação Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento
Leia maisCapítulo 2. Camada de aplicação
Redes de computadores e a Internet Capítulo 2 Camada de aplicação Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento
Leia maisTROCA DE MENSAGENS SOCKETS. Comunicando processos através de SOCKETS. SOCKETS com conexão. SOCKETS sem conexão
TROCA DE MENSAGENS SOCKETS Comunicando processos através de SOCKETS SOCKETS com conexão SOCKETS sem conexão SOCKETS Princípios dos sockets: 2. Fornecer uma interface geral permitindo a construção de aplicações
Leia maisFTP FILE F TRANSFER PROTOCOL. Tópicos
FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisRedes de Computadores Programação com Sockets
Prof. Othon Batista ( othonb@yahoo.com ) Página 1 Redes de Computadores Programação com Sockets Prof. Othon Batista ( othonb@yahoo.com ) Página 2 Roteiro Introdução A Arquitetura TCP/IP O Protocolo IP
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 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 maisAplicações e Arquitetura CORBA. Edvar Oliveira edvar@ufpa.br
Aplicações e Arquitetura CORBA Edvar Oliveira edvar@ufpa.br setembro/ 2004 Tópicos Modelo Cliente/Servidor; Comunicação no modelo cliente/servidor; A arquitetura CORBA; Componentes da arquitetura CORBA;
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Leia maisinsfcanceof 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
Leia maisSistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes
Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre Camadas
Leia maisCapítulo 2 Camada de aplicação
Capítulo 2 Camada de aplicação Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para
Leia maisOProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite
Laboratório de Redes. Remote Procedure Call - RPC Pedroso 9 de março de 2006 1 Introdução 2 Conceitos básicos OProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite que sejam criadas
Leia maisJava Spaces Exemplos
Java Spaces Exemplos Programação com Objetos Distribuídos (C. Geyer) Java Spaces - Exemplos V0 1 Autoria! Autores! Local " Cláudio Geyer " Instituto de Informática " UFRGS " disciplina: Programação com
Leia maisProgramação Paralela e Distribuída. Prof. Cidcley T. de Souza
Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes
Leia maisMultithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Leia 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 maisSistemas de Operação Sockets
Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para
Leia maisPlataforma para Agentes
Plataforma para es JATLite - Java Template, Lite O que é o JATLite? http://java.stanford.edu/ http://www.fe.up.pt/~eol/aiad/jatlite/doc/index.html Pacote de programas em Java permitindo: rápida criação
Leia mais