Trabalho RMI entregar

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