Java RMI (parte I) Luís Lopes DCC-FCUP
|
|
|
- Levi Alencastre de Figueiredo
- 9 Há anos
- Visualizações:
Transcrição
1 (parte I) Luís Lopes DCC-FCUP
2 RMI (Remote Method Invocation) é uma API que permite a implementação de aplicações distribuídas baseadas em objectos o objectivo principal dos arquitectos da API era o de extender a semântica da linguagem para suportar aplicações cujas componentes executam em diferentes JVMs, mantendo uma sintaxe semelhante à dos programas não distribuídos (single JVM)
3 a JVM original não permitia o movimento de código e objectos para fora do seu espaço de endereçamento o RMI teve de estender este modelo por forma a descrever qual o comportamento das classes e objectos em ambientes com múltiplas JVMs em particular o RMI permite a invocação de métodos em objectos de uma JVM remota
4 permite a troca de classes e objectos com complexidade arbitrária entre clientes e servidores, por exemplo, como argumentos ou valores de retorno de chamadas a métodos um cliente ou servidor pode mesmo carregar objectos de tipos diferentes dinamicamente (dynamic loading)
5 Java RMI os conceitos fundamentais na arquitectura RMI são os de comportamento e de implementação interface é o código que define o comportamento de um componente de software uma implementação é o código que implementa o comportamento descrito pela interface e.g. o cliente só precisa de conhecer a interface fornecida por um servidor, o qual fornece uma implementação
6 No RMI a definição de um serviço é feita utilizando uma interface Java que extende java.rmi.remote A implementação do serviço é feita numa classe Java
7 uma interface Java não contém nenhum código numa aplicação RMI existirão pelo menos duas classes que implementam uma interface: a classe do servidor e uma classe que funciona como um proxy para o servidor e executa no lado do cliente a invocação de métodos por um cliente no servidor é na realidade uma invocação local feita num proxy do servidor os valores de retorno são passados da mesma forma
8
9 o RMI é construído com base em 3 camadas de software Stub e Skeletons Remote Reference Transport a camada Stub e Skeletons intercepta as chamadas a métodos remotos efectuadas pelo cliente e reencaminha-as via o proxy do servidor localizado na JVM do cliente
10 a camada Remote Reference interpreta e gere as referências feitas pelo cliente a objectos remotos que fornecem um serviço esta camada é responsável pela conexão entre clientes e objectos servidores registados na rede esta camada também providencia o Remote Object Activation (activação de objectos servidores por instanciação de uma classe)
11 a camada Transport é baseada no protocolo TCP/IP e providencia uma conexão estável entre clientes e servidores também implementa algum suporte para a penetração de firewalls (e.g. HTTP tunneling)
12
13 a camada Stub & Skeleton é responsável pela implementação do padrão proxy neste padrão, um objecto num contexto (e.g. um servidor uma JVM remota) é representado por um outro (o proxy), num outro contexto (e.g. na JVM do cliente) o proxy (implementado no stub) sabe como reencaminhar chamadas a métodos para o seu objecto original
14
15 no RMI, uma classe implementada no stub desempenha o papel de proxy ao passo que a classe que implementa o servidor remoto desempenha o papel de RealSubject o Skeleton é uma classe auxiliar que interage com o Stub do lado do servidor lê os parâmetros da chamada ao método, faz a chamada ao método, recebe o valor de retorno e envia-o para o Stub
16 a partir do Java 2, as classes Skeleton passaram a ser implementadas como parte do protocolo RMI, utilizando Java Reflection
17 a camada Remote Reference define e suporta a invocação de métodos numa conexão RMI a camada utiliza um tipo de objecto designado por RemoteRef e que representa o link entre o Stub e o objecto servidor até ao JDK1.1 o servidor tinha de estar registado no sistema RMI para um cliente poder nele invocar métodos (unicast, point-to-point connection)
18 a partir do Java 2, o RMI permite outra semântica para a invocação de métodos quando uma chamada a um método é feita num proxy de um objecto activatable, o RMI determina se o objecto servidor está inactivo nesse caso o RMI pode instanciar o objecto servidor restaurando o seu estado a partir de um checkpoint prévio, como resposta à invocação do método
19 outras semânticas de chamada a métodos são possíveis, por exemplo, o multicast, em que um cliente, via um único proxy, envia uma invocação simultaneamente a vários servidores na rede (não implementado) a arquitectura RMI é extensível e ortogonal a estes aspectos
20 a camada Transport faz a conexão entre as JVMs as conexões são baseadas em streams utilizando TCP/IP mesmo entre JVMs no mesmo computador a comunicação é feita via TCP/IP
21
22 Java RMI o RMI tem um esquema de descoberta de serviços por nome que usa um serviço... este serviço mantém um registo de todos os serviços e as suas localizações no sistema RMI o serviço de registo está acessível num host e num número de porta bem conhecidos o RMI pode utilizar vários destes serviços como o Java Naming & Directory Interface ou o RMI Registry (corre em todos os hosts com objectos servidores)
23 para fornecer um serviço remoto um servidor cria um objecto que implementa a interface do serviço e exporta-o para o sistema RMI o RMI cria um serviço que escuta por conexões e invocações a métodos do objecto o servidor regista o objecto no RMI Registry com um nome público
24 no lado do cliente, o RMI Registry é consultado para descobrir a referência ao objecto por nome do serviço o nome do serviço é dado por um URL da forma rmi://hostname[:<name_service_port>:]/<service_na me> o método retorna uma referência para o objecto remoto
25 passagem de parâmetros e retorno de resultados na JVM tipos primitivos: copy by value objectos: são identificados por referências no heap quando atribuimos um a uma variável estamos a guardar a referência quando passamos a variável como argumento, a referência é copiada e não o objecto
26 passagem de argumentos no RMI estamos a falar de passar argumentos e retorno de resultados para/de JVMs remotas tipos primitivos: copy by value objectos: copy by value, o objecto e não a sua referência é copiado o envio do objecto é feito depois de serializado, e é deserializado à chegada
27 Java RMI a serialização transforma um grafo de objectos numa stream de bytes que pode ser enviada entre JVMs o RMI introduz outro tipo de parâmetro, para além dos anteriores: objectos remotos tratam-se de objectos que implementam interfaces remotas (serviços RMI) um cliente pode obter uma referência para um destes objectos via RMI Registry ou como resultado de uma chamada a um método
28 quando um cliente invoca um método que retorna uma referência para um objecto remoto, o RMI não retorna o objecto mas antes uma referência para um proxy do objecto remoto objectos remotos não são passados por valor a JVM do cliente recebe uma referência para o proxy do objecto remoto
29 (exemplo)
30 componentes de uma aplicação RMI interfaces para o serviço remoto implementação para o serviço remoto (servidor) stubs e skeletons programa de arranque do servidor um serviço de nomes (e.g. RMI Registry) um servidor para classes (FTP ou HTTP, opcional) um programa cliente
31 Passos na implementação desenhar as interfaces (javac) implementar as interfaces (javac) gerar stubs para essa implementação (rmic) escrever código para o servidor RMI (javac) escrever código para o cliente RMI (javac) correr o RMI Registry (rmiregistry &), o servidor e o cliente
32 desenhar as interfaces (Calculator.java) implementar as interfaces (CalculatorImplementation.java) gerar stubs para essa implementação (rmic CalculatorImplementation) escrever código para o servidor RMI (CalculatorServer.java) escrever código para o cliente RMI (CalculatorClient.java) correr o RMI Registry (rmiregistry &), o servidor (java CalculatorServer) e o cliente (java CalculatorClient)
33 a implementação do servidor no CalculatorImplementation.java extende java.rmi.server.unicastremoteobject isto torna mais simples o código de registo do serviço e procura do mesmo pelo servidor e cliente, respectivamente no entanto, em certos casos, o servidor poderá querer extender outra classe Java pelo a solução acima poderá não ser adequada (o Java só permite herança simples)
34 nestes casos, podemos implementar o servidor sem fazer essa extensão o código para o registo do serviço fica um pouco mais extenso e é necessário fazer a exportação do serviço explicitamente com UnicastRemoteObject.exportObject()
35 (demo)
36 (mobilidade de código)
37 Exploramos agora uma das características mais poderosas do Java RMI: a capacidade de carregar classes dinamicamente a partir da Web para uma aplicação local Corresponde à extensão para um ambiente distribuído do modelo de execução e carregamento de classes da JVM A JVM carrega classes dinamicamente a partir de servidores Web ou FTP especificados inicialmente
38 Exemplo: Compute Server Neste exemplo, um servidor recebe um objecto executável Só sabe deste que tem o método void execute() Os clientes enviam diferentes objectos que implementam esta interface para execução no servidor O servidor não conhece à priori o código das classes para os ditos objectos tem de carregá-lo dinamicamente
39 num primeiro passo criamos as interfaces que defnem o protocolo entre um clientes e o servidor em compute/ criamos um fcheiro.jar com as interfaces defnidas para disponibilizar aos clientes e aos servidores desta forma podemos desenvolver clientes e servidores para o serviço com base no contracto defnido pela interface javac compute/*.java jar cvf compute.jar compute/*.class
40 regra geral as interfaces em compute.jar fcam disponíveis na rede na plataforma Java, isto é feito regra geral recorrendo a servidores de HTTP ou FTP
41 por exemplo, no caso do HTTP, os servidores possibilitam a colocação de ficheiros de utilizadores em que corresponde ao caminho /home/user_server/public_html aqui vamos usar o URL, (/home/user_server/public_html/classes) scp compute.jar user_server@web_server:public_html/classes/
42
43 para compilar a classe ComputeEngine, a única do lado do servidor, é necessário que as interfaces compute.jar estejam na sua CLASSPATH. Por exemplo: cd /home/user_server/src/ javac -cp /home/user_server/public_html/classes/compute.jar server/computeserver.java
44 para compilar as classes do lado do cliente fazemos algo de semelhante para ComputePi e Pi aqui vamos usar o URL, (/home/user_client/public_html/classes)
45 cd /home/user_client/src/ Java RMI javac -cp /home/user_client/public_html/classes/compute.jar client/client.java client/pi.java Em web_server: mkdir /home/user_client/public_html/classes/client scp client/pi.class Apenas a classe Pi precisa de fcar disponível na rede pois é ela que é passada como argumento ao método remoto executetask ()
46 os programas cliente e servidor correm com um "security manager" instalado que controla a execução de código de classes locais e remotas (as últimas potencialmente "untrusted") na JVM local estes security managers implementam políticas definidas em ficheiros server.policy e client.policy nos exemplos seguintes só permitimos a classes locais a realização de operações que precisem de permissões especiais (e.g. acesso a ficheiros, devices)
47 server.policy grant codebase "file:/home/user_server/src/" { permission java.security.allpermission; }; client.policy grant codebase "file:/home/user_client/src/" { permission java.security.allpermission; };
48 a propriedade java.rmi.server.codebase é usada para especificar uma lista de URLs onde são mantidas as classes de objectos que são descarregadas da JVM corrente para outras JVMs se um programa numa JVM envia um objecto para outra JVM (e.g. como valor de retorno de uma chamada a um método), essa outra JVM necessita do código para a classe associada a esse objecto
49 rmiregistry & arranque do servidor: cd /home/user_server/src java -cp /home/user_server/src:/home/user_server/public_html/classes/compute.jar -Djava.rmi.server.codebase= -Djava.rmi.server.hostname=server_hostname -Djava.security.policy=server.policy server.computeserver
50 java.rmi.server.codebase especifica o local de onde podem ser descarregadas classes ou interfaces pelos clientes associadas com o servidor (no caso apenas o compute.jar) arranque do cliente: cd /home/user_client/src java -cp /home/user_client/src:/home/user_client/public_html/classes/compute.jar -Djava.rmi.server.codebase= -Djava.security.policy=client.policy client.client server_hostname 45
51 java.rmi.server.codebase especifica onde podem ser descarregada a interface compute.jar e a classe Pi.class a partir da rede server_hostname especifica a máquina em que corre o servidor 45 especifica a precisão em número de dígitos no valor de pi
52
53 Java RMI quando o ComputeEngine se regista no registry, o código para as interfaces em compute.jar é descarregado do servidor para o registry, pois o stub/proxy do servidor precisa desse código o ComputePi usa apenas as interfaces compute.jar e não recebe classes novas do servidor (note-se que o último não retorna objectos por ele definidos) o ComputeEngine, por seu lado, descarrega a classe Pi do web server do cliente pois recebe um objecto do tipo Pi quando o cliente nele invoca o método executetask com um objecto Pi como argumento
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
Java 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
Java RMI Remote Method Invocation
Java RMI Remote Method Invocation Prof. Tiago Garcia de Senna Carneiro Sistemas Distribuídos - 2006 Conteúdo Passos para implementar um aplicação RMI Executando e compilando uma aplicação RMI Exemplo:
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
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
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
RPC 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
Remote 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
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
INTRODUÇÃO. RPC x RMI
1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.
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
Invocaçã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
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
TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018
PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 17-A TECNOLOGIAS DE ACESSO A BASES DE DADOS Profª Ana Paula Cação Maio de 2018 CONTEÚDOS 1. Métodos de Ligação a Bases de Dados 2. Arquitectura de Componentes
Objetos e Componentes Distribuídos: EJB e CORBA
: EJB e CORBA 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
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
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
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
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
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 "
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
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
Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES
Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,
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
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 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
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
Sistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Sistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Exemplo 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
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
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
Programação com Sockets
Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas
Sistemas 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
Redes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
Principais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Desenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
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
SISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Protocolo 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
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
Objetos e Componentes Distribuídos: EJB
: EJB 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
JINI. Rodrigo Campiolo João Bosco Mangueira Sobral. Disciplina: Computação Distribuída Curso: Sistemas de Informação
JINI Rodrigo Campiolo João Bosco Mangueira Sobral Disciplina: Computação Distribuída Curso: Sistemas de Informação O que é Jini É um sistema distribuído baseado na idéia de federação de grupos de usuários
Modelo de Componentes CORBA
Modelo de Componentes CORBA Cláudia Brito L. N. da Silva [email protected] Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!
Vamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira [email protected]
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
O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.
Web Services Por que os Web Services são atrativos para a integração de sistemas? Pois os Web services são componentes que possibilitam que as aplicações se comuniquem utilizando protocolos padrão da internet
FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão
Unidade 5 Camada de Transporte e Aplicação Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP
Sockets e Threads em Java
Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação
Programando 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
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
Comunicaçã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
Middleware de Aplicações Paralelas/Distribuídas
Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware
Sistemas Distribuídos. Relatório dos Trabalhos 1 e 2
Sistemas Distribuídos Relatório dos Trabalhos 1 e 2 12 de Novembro de 2006 Informação dos Autores Grupo Diogo Emanuel de Almeida Guerra 501041522 [email protected] Hugo Andre Dias Pereira Vieira Cura
Sumário. Sistemas Operativos 1
Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32
Comunicaçã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 [email protected] Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:
Arquiteturas. capítulo
Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos
Prof. 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
Funcionalidade e Protocolos da Camada de Aplicação
Funcionalidade e Protocolos da Camada de Aplicação Network Fundamentals Capítulo 3 1 Aplicações A Interface entre usuário e Rede de Dados A Camada de aplicação provê recursos para enviar e receber dados
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Introdução à Computação
Introdução à Computação Jordana Sarmenghi Salamon [email protected] [email protected] http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Capítulo 2. Camada de aplicação
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN Disciplina: Arquitetura de redes de computadores e Tecnologia de Implementação de Redes Professor: M. Sc. Rodrigo Ronner T.
Data and Computer Network Endereçamento IP
Endereçamento IP P P P Prof. Doutor Félix Singo Camadas do TCP/IP Data and Computer Network Aplicação: Camada mais alta Protocolos de Aplicações clientes e servidores HTTP, FTP, SMTP, POP Transporte: Estabelece
Processos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Linguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
AULA 1 INTRODUÇÃO AO JAVA
AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede
Introdução a Web Services
Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas
