Upload
thiers-euller
View
214
Download
0
Embed Size (px)
Citation preview
8/6/2019 Trabalho RMI entregar
1/11
Jos Carlos
Luiza Gabriela Felix Gonalves
Paulo Henrique Damio Pires
Thiers Euler de Oliveira Fernandes
TRABALHO DE SISTEMAS DISTRIBUDOS:RMI - JAVA
Santa Luzia
Faculdade da Cidade de Santa Luzia - FACSAL
2011
8/6/2019 Trabalho RMI entregar
2/11
Jos Carlos
Luiza Gabriela Felix Gonalves
Paulo Henrique Damio Pires
Thiers Euler de Oliveira Fernandes
TRABALHO DE SISTEMAS DISTRIBUDOS:RMI - JAVA
Trabalho apresentado ao professorLeandro como requisito da MatriaSistemas Distribudos.
Santa Luzia
Faculdade da cidade de santa Luzia
2011
8/6/2019 Trabalho RMI entregar
3/11
SUMRIO
1.INTRODUO AO RMI..............................................................................................42.CONCEITOS..................................................................................................................5
3.PRINCPIO DO RMI - INTERFACES..........................................................................64.ARQUITETURA EM CAMADAS DO RMI................................................................74.1A camada Stub & Skeleton...........................................................................................74.2A camada de Referncias Remotas..............................................................................74.3A camada de Transporte...............................................................................................75.NAMING SERVIO DE REGISTRO........................................................................96.REFERENCIAS BIBLIOGRFICAS.........................................................................10
8/6/2019 Trabalho RMI entregar
4/11
Feliz aquele que cr no Senhor!
Pois Ele a essncia da vida.
a luz do mundo.
8/6/2019 Trabalho RMI entregar
5/11
1. INTRODUO AO RMI
A tecnologia RMI (Remote Method Invocation), uma abordagem de
introduo ao Java do prover o conceito de funcionalidades de plataformas de objetos
distribudos. Foi primeiramente introduzida no Java, no JDK verso 1.1, elevando a
programao para redes em um patamar mais elevado. O RMI define um novo conceito
para a computao quanto objetos distribudos. Utilizando-se da tecnologia RMI o
programador pode desenvolver aplicativos que um objeto ativo em uma mquina virtual
Java utilize mtodos de outras mquinas independentes da sua localizao. Dessa forma
possvel que classes e objetos Java trabalhem com mltiplas JVMs.
Figura 1: Funcionamento do RMI
Na figura 1 (acima) mostrado o funcionamento do RMI de forma simples. O
aplicativo do cliente solicita um mtodo (servio) interface. O Servidor escuta essa
chamada de mtodo e, caso exista algum retorno, devolve para o cliente.
Claramente pode ser identificado que na arquitetura de aplicao distribuda impe
condies prpria aplicao, como risco de falhas de comunicao, falhas de servidor,largura de banda, etc. O RMI consegue lidar com algumas dessas condies, apesar de
no serem todas.
4
8/6/2019 Trabalho RMI entregar
6/11
2. CONCEITOS
A ideia central do RMI a separao entre interface e implementao de uma
classe, que claramente compatvel com a ideia de Orientao a Objetos. Essa
separao permite que a interface e a sua respectiva implementao estejam situadas em
JVMs diferentes. Com isso permitido aos programadores, desenvolverem programas
distribudos em Java com a mesma sintaxe e semntica usada em programas no
distribudos. Para isso, um mapeamento cuidadoso teve que ser feito de como classes e
objetos trabalham em uma nica JVM para implementar um novo modelo de como as
classes e objetos trabalhariam num ambiente distribudo de computao (mltiplas
JVMs) . Os arquitetos do RMI tentaram fazer com que o uso dos objetos distribudos
em Java fosse similar ao uso de objetos Java local. A arquitetura RMI define como se
comportam, como e quando excees podem ocorrer, como a memria gerenciada e
como os parmetros so passados e retomados de mtodos remotos.
5
8/6/2019 Trabalho RMI entregar
7/11
3. PRINCPIO DO RMI - INTERFACES
A definio do comportamento e a implementao so conceitos separados.
permitido no RMI tanto para o comportamento quanto para a implementao este
comportamento permanece separado e rodam em JVMs separadas. Ento, a chave para
explicar RMI lembrar que interfaces definem o comportamento e as classes definem
implementao.
6
8/6/2019 Trabalho RMI entregar
8/11
4. ARQUITETURA EM CAMADAS DO RMI
Essencialmente ela classificada em 3 camadas de abstrao como mostra a
figura 2, a seguir:
Figura 2: Estrutura de Camadas RMI.
4.1 A camada Stub & Skeleton
a camada mais prxima do programador. Os Stubs so classes usadas do lado
da aplicao do cliente e funcionam como Proxies entre a aplicao cliente e o objeto
remoto. Ela intercepta chamadas de mtodos solicitadas pelo cliente para que a varivel
de referencia da interface redirecione essas chamadas para o servio RMI remoto comos parmetros definidos pela interface da classe remota.
4.2 A camada de Referncias Remotas
Ela sabe interpretar e gerenciar referncias feitas pelos clientes para os objetos
do servio remoto, e estabelece a semntica da ligao RMI.
4.3 A camada de TransporteBaseada nas conexes TCP/IP, assegurando a ligao entre as mquinas virtuais.
O RMI possui um protocolo denominado JRMP (Java Remote Method Protocol) que
permite ultrapassar alguns obstculos que podem surgir na comunicao de rede via
TCP/IP. Por exemplo, o JRMP permite multiplexar vrias ligaes TCP/IP numa nica
ligao TCP/IP ultrapassando imposies de utilizao de apenas uma ligao em
alguns ambientes (ex.: certos browsers a executar aplicaes RMI).
7
8/6/2019 Trabalho RMI entregar
9/11
Atravs desta estrutura de camada, poderiam ser feitas modificaes, trocas e melhoras
em cada uma das camadas sem interferir no sistema.
8
8/6/2019 Trabalho RMI entregar
10/11
5. NAMING SERVIO DE REGISTRO
Para ser encontrado um servio na rede, antes necessrio que ele seja
registrado em um local onde a aplicao cliente possa procur-lo e assim utilizar o
servio. O prprio RMI possui este servio que o RMI Registry, acessado atravs da
classe Naming (esttica) e atravs do mtodo lookup() o cliente requisita o registo. Se
esse servio for encontrado, o Servio de Registos retorna um objeto Stub atravs do
qual se torna possvel chamar os mtodos do objeto remoto.
9
8/6/2019 Trabalho RMI entregar
11/11
6. REFERENCIAS BIBLIOGRFICAS
http://www.guj.com.br/articles/37 - Acesso 24/03/2011
http://paginas.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html - Acesso 10/04/2011
http://pt.wikipedia.org/wiki/Java_%26_RMI - Acesso 10/04/2011
10
http://www.guj.com.br/articles/37http://paginas.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html-%20Acesso%2010/04/2011http://pt.wikipedia.org/wiki/Java_%26_RMIhttp://www.guj.com.br/articles/37http://paginas.fe.up.pt/~eol/AIAD/aulas/JINIdocs/rmi1.html-%20Acesso%2010/04/2011http://pt.wikipedia.org/wiki/Java_%26_RMI