1 / 17

Comparativa entre CORBA i Java RMI

Jordi Poch Chumillas David Rodriguez Pellicer Enric Agut Gil. Comparativa entre CORBA i Java RMI. Què és CORBA?. Acrònim de Common Object Request Broker Architecture Arquitectura que facilita el desenvolupament d'aplicacions distribuïdes (basada en el model client-servidor)

kimberly
Download Presentation

Comparativa entre CORBA i Java RMI

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. Jordi Poch Chumillas David Rodriguez Pellicer Enric Agut Gil Comparativa entre CORBA i Java RMI

  2. Què és CORBA? • Acrònim de Common Object Request Broker Architecture • Arquitectura que facilita el desenvolupament d'aplicacions distribuïdes (basada en el model client-servidor) • Definit per l’OMG (Object Management Group) el 1991. Només defineix l’estàndard, però no du a terme cap implementació. • Vàries implementacions (algunes en codi obert): OpenORB, JavaORB, Visibroker, ORB Plus, ObjectBroker, etc. • Ja inclòs en el JDK 1.4

  3. Característiques de CORBA (I) • Orientat a objectes • Arquitectura no lligada a cap llenguatge de programació ni sistema operatiu • Transparència de localització • Definició de classes mitjançant un llenguatge de definició d'interfícies (IDL) • Gran varietat de polítiques pel que fa als objectes que es creen (persistents / transitoris, activació automàtica / manual, etc.)

  4. Característiques de CORBA (i II) • No diferenciació entre objectes locals / remots • Possibilitat d'implementar client i servidor en llenguatges diferents • Possibilitat d’afegir nous serveis segons les necessitats: servei de transaccions, de persistència, de concurrència, de seguretat, etc.

  5. Aplicacions en CORBA (I) • Passos a seguir per crear una aplicació: • Escriure interfícies en IDL dels objectes remots • Compilar interfícies (idl2java, …)  stubs, skeletons • Implementar client i servidor • Implementar els objectes remots definits a les interfícies • Distribuir el codi compilat a cadascun dels nodes (stubs al client, skeletons al servidor)

  6. Aplicacions en CORBA (i II) • Mecanisme per utilitzar un servei: • Servidor crea els objectes remots i els posa (bind) al servei de noms • Servidor fa una sèrie de crides per esperar peticions dels clients • Client obté una referència a un objecte remot a partir del nom d'aquest, mitjançant una crida al servei de noms (resolve) • Client fa crides sobre l'objecte (realment sobre l’stub) com si aquest fos un objecte "normal“ (no remot) • Notem que d’alguna manera s’ha de saber on està el servei de noms (normalment via fitxer de configuració)

  7. Exemple d’IDL module MExemple { interface Persona { typedef sequence<string> llistaCites; readonly attribute string nom; attribute short anyNaixement; attribute string domicili; void AfegirCita(in string hora); llistaCites LlistarCites(); }; };

  8. Visió arquitectònica: CORBA

  9. Què és RMI? • Acrònim de Remote Method Invocation • Mecanisme que facilita el desenvolupament d'aplicacions distribuïdes (basada en el model client-servidor) • Creat i desenvolupat per Sun Microsystems • Forma part de la plataforma java des de la versió 1.1 (1996)

  10. Característiques de RMI • Orientat a objectes • Integrat a qualsevol node on hi hagi una JVM • Definició dels objectes objectes remots mitjançant interfícies java • Usable només en aplicacions realitzades completament en Java • Permet escalabilitat, ja que el servidor pot utilitzar varis threads per tractar les peticions dels clients (multi-threaded) • Seguretat (usa els mecanismes de Java)

  11. Aplicacions en RMI (I) • Passos a seguir per crear una aplicació: • Escriure interfícies en Java • Compilar interfícies (rmic)  stubs, skeletons • Implementar client i servidor • Implementar les classes dels objectes definits a les interfícies • Distribuir el codi compilat a cadascun dels nodes (stubs al client, skeletons al servidor)

  12. Aplicacions en RMI (i II) • Mecanisme per utilitzar un servei: • Servidor crea els objectes remots i els posa (bind) al servei de noms • Client obté un objecte a partir del nom d'aquest (lookup) • Client fa crides sobre l'objecte (realment sobre l’stub) com si aquest fos un objecte "normal" • També es necessari posar en marxa dos processos més: el servei de noms (rmiregistry) i l’activador d’objectes (rmid)

  13. Exemple Interfície Java package Mexemple; import java.lang.*; import java.rmi.Remote; import java.rmi.RemoteException; public interface Persona extends Remote { String nom(); short anyNaixement(); void anyNaixement(short any); String domicili(); void domicili(String domicili); void AfegirCita(String hora); ArrayList LlistarCites(); }; };

  14. Visió arquitectònica: RMI

  15. Comparació RMI - CORBA (I)

  16. Comparació RMI - CORBA (i II)

  17. Bibliografia • www.java.sun.com • www.omg.org • www.corba.org • “Advanced CORBA Programming with C++” de Michi Henning & Steve Vinoski

More Related