1 / 15

a fin a l, o q u e é u m S D ?

a fin a l, o q u e é u m S D ?. •. Os. p r ó x i m o s. s lide s. d e v e r ão. s e r. e x e c u t a d o s u m s e r v i d o r ,. c o n t in u a m e n t e p a r a c ri a r mo s u m c lie n t e e. a m b o s l o c a l m e n t e , p a r a e m r ede ;.

helen-mayo
Download Presentation

a fin a l, o q u e é u m S D ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. afinal,oqueéumSD? • Os próximos slides deverão ser executados umservidor, continuamenteparacriarmosumclientee amboslocalmente,para emrede; posteriormente,configurarmos • Para que não hajam problemas de compilação/execuçãoé importantequeocomputador já esteja com as variáveis de ambiente declaradas e configuradas;

  2. afinal,oqueéumSD? • • • • • • • • • • • Os10passosparacriarmosnossosegundo Definirainterfaceremota; Implementaroobjetoremoto; Implementarumservidorparaoobjeto; Compilaroobjetoremoto; Gerarstubseskeletonscomrmic; Escrever,compilareinstalarocliente; Instalarostubnocliente; RMI: Iniciar Iniciar Iniciar o o o RMIRegistrynoservidor; servidordeobjetos; clientequevaiacessaroservidor;

  3. afinal,oqueéumSD? • • Primeiropasso:Definirainterfaceremota; Declaretodos os métodos que o programa cliente poderáchamarremotamenteem estendadejava.rmi.Remote; umainterface que • Todos os métodos devem declarar throws java.rmi.RemoteException; Istodeveserfeitoparacadaobjetoqueseráacessível atravésdarede; •

  4. afinal,oqueéumSD? • • Segundopasso:Implementaroobjetoremoto; Cadaobjetoremotoéumaclassequeestendeaclasse java.rmi.server.UnicastRemoteObject implementaainterfaceremotacriada e nopasso1; que • Todos os métodos utilizam a exceção java.rmi.RemoteException;

  5. afinal,oqueéumSD? • • • • Terceiropasso:Implementarumservidor; Crieumaclasseque: Crieumainstânciadoobjetoaserservidor; Registre(rebind)oobjeto(comumnome)noservidor denomesRMIRegistry;

  6. afinal,oqueéumSD? • Terceiropasso: Implementar um servidor [continuação];

  7. afinal,oqueéumSD? • • Quartopasso:Compilaroobjetoremoto; Compiletodasasclasseseinterfacesutilizadas definirainterfacejava.rmi.Remote: para javacFalador.java FaladorImplementacao.java • Observação:noEclipse,estepassonãoétãocrítico. Bastaapenassalvarosarquivosqueosbytecodes.class serãogerados(facilmente)deformaautomática;

  8. afinal,oqueéumSD? • • • Quintopasso:GerarStubseSkeletons; UseaferramentadoJ2SDK:rmic Será gerado um arquivo stub e (o um proxy) arquivo FaladorImplementacao_Stub.class skeleton FaladorImplementacao_Skel.class para cada objetoremoto(nestecaso,apenasum); • • • RMIC=RMICompiler Useopção-keepsequisermantercódigo-fonte; Execute o rmic sobre as implementações do objeto remotojácompiladas; %rmicFaladorImplementacao; •

  9. afinal,oqueéumSD? • • Sextopasso:Compilareinstalarosclientes; Agora,escrevaumaclasse(ocliente)queiráprocurar, nosistemadenomesjava.rmi.Naming,o(s)objeto(s) remotosdesejado(s): Obtenhaumainstânciaremotadoobjeto(lookup); Useoobjeto,chamandoseusmétodos; • •

  10. afinal,oqueéumSD? • Sextopasso: Compilar e instalar os clientes [continuação];

  11. afinal,oqueéumSD? • Sétimopasso:Instalarosstubsnocliente; • Distribua os clientes para as máquinas-cliente. A distribuiçãodeveconter: • Classe(s) que implementa(m) o(s) cliente(s) FaladorCliente.class; • O(s)stub(s)FaladorImplementacaoStub.class; • A(s)interface(s)remota(s)Falador.class;

  12. afinal,oqueéumSD? • Oitavopasso:IniciaroRMIRegistry noWindows; %startrmiregistry • ORMIRegistryfica"calado"quandoestáexecutando. NesteexemploseráprecisoiniciaroRMIRegistryno diretórioondeestãoosstubseinterfaceRemota; • Isto é, para que o RMIRegistry“veja” o mesmo CLASSPATHqueorestodaaplicação;

  13. afinal,oqueéumSD? • • Nonopasso:Iniciaroservidordeobjetos; Oservidoréumaaplicaçãoexecutávelque objetosnoRMIRegistry.Rodeaaplicação: registraos %javaFaladorServidor+falamuito “Servidornoar!.” • Neste exemplo serápreciso iniciar o servidor no diretório onde estão os stubs com e o interface Remote adicionandoo “falamuito”; parâmetro nome doobjeto • Isto é para que o RMIRegistryveja o mesmo CLASSPATHqueorestodaaplicação;

  14. afinal,oqueéumSD? • Décimopasso:Executeocliente; • Finalmente,“chame” a máquina virtual Javapara inicializaroCliente.Nesteexemplo,eleprocurapelo serviçodenomeseusaoobjetoremotoviarede; javaFaladorCliente+ip+falamuito

  15. afinal, o que éumSD? Exercícios Implementeoexemplomostrado, passandomensagensdiferentespara o objetoremoto.Tenteacessaroobjeto remotonamáquinadeumcolega

More Related