La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Interopérabilité JOnAS - CORBA Projet de fin détudes chez Evidian Patrick Bruneton et Marc Dutoo.

Présentations similaires


Présentation au sujet: "Interopérabilité JOnAS - CORBA Projet de fin détudes chez Evidian Patrick Bruneton et Marc Dutoo."— Transcription de la présentation:

1 Interopérabilité JOnAS - CORBA Projet de fin détudes chez Evidian Patrick Bruneton et Marc Dutoo

2 Objectifs

3 Objectifs de linteropérabilité Intérêts –Relier des applications existantes –Permettre des clients EJB multi-langages Buts –Interopérabilité inter-conteneurs EJB –Accès à un serveur JOnAS depuis un client CORBA –Accès à des serveurs CORBA depuis un EJB

4 Objectifs du stage Les cas envisagés Client CORBA Client CORBA Client EJB Client EJB Serveur JOnAS Serveur JOnAS

5 Objectifs 4 niveaux dinteropérabilité –Protocole: support du protocole de communication de CORBA par JOnAS –Nommage: support du service de nommage CORBA par JOnAS –Transactions mixant des ressources CORBA et JOnAS –Sécurité

6 Choix dun protocole RMI/IIOP

7 Nécessité dun protocole RMI/IIOP JOnAS utilise des protocoles RMI inconnus du monde CORBA. IIOP (Internet Inter Orb Protocol) est le protocole de communication de CORBA. EJB impose le modèle de programmation répartie Java RMI, mais pas le protocole sous jacent. EJB sadapte à CORBA avec RMI/IIOP: modèle de programmation RMI au dessus dun ORB IIOP.

8 Protocoles disponibles Sun RMI/IIOP –Implémentation de référence par Sun David RMI –Personnalité RMI/IIOP de lORB Jonathan (Kelua) Jonathan (ORB) Jérémie (RMI)David (CORBA) David RMI (RMI/IIOP)

9 Comparaison des protocoles Sun RMI/IIOP et David RMI: performances identiques mais plus lent que RMI/JRMP

10 Comparaison des protocoles Sun : pas de passage de paramètres implicites David : produit Objectweb, similarités avec Jérémie déjà intégré dans JOnAS Test dinteropérabilité Client \ ServeurSun RMI/IIOPDavid RMI/IIOP Sun RMI/IIOP oui Sun Java IDLoui Orbacusouinon David RMI/IIOPoui David CORBAoui

11 Choix dun protocole David RMI est plus adapté à nos besoins par la présence dintercepteurs Mais, David non disponible au début du projet À défaut, intégration de RMI/IIOP dans JOnAS –Possibilité de patcher les stubs pour passage de paramètres implicites

12 Intégration dun protocole RMI/IIOP dans JOnAS

13 JOnAS actuel Deux protocoles, deux distributions: –Version RMI/JRMP –Version Jérémie –Compilation conditionnelle Sources JOnAS Version RMI Version Jérémie Compilation 1Compilation 2

14 2 possibilités dintégration (1/2) Dans la continuité Sources JOnAS Version RMI Version Jérémie Compilation 1 Compilation 2 Version RMI/IIOP Compilation 3

15 2 possibilités dintégration (2/2) Une seule distribution mais support simultané de plusieurs protocoles –Des clients RMI/JRMP et RMI/IIOP peuvent contacter un même serveur. –Nécessite un export des beans sur tous les ORB ou un export au cas par cas (plus problématique). –Mais difficultés dunification des sources, notamment au niveau des transactions. –Solution étudiée mais non retenue: intégration simple privilégiée

16 Principe dintégration (1/2) La classe RemoteObject est la classe de base de tous les objets distants JOnAS. La changer, revient à modifier le protocole de JOnAS. La compilation condition conditionnelle de JOnAS sélectionne une implémentation. Ajout dun protocole RMI/IIOP: –Modification de RemoteObject.jpp –Modification des scripts de compilation

17 Principe dintégration (2/2) La compilation de JOnAS doit générer les stubs et tie iiop des objets distants : –Pour Sun RMI/IIOP : rmic -iiop ne fonctionne pas: compilation de JOnAS impossible (correction dans JDK 1.4) –Pour David RMI : nouveau compilateur jrmic

18 Interopérabilité CORBA Client CORBA (Java, C++, …) Serveur JOnAS (Java) stub CORBA (Java, C++, …) tie RMI/IIOP (Java) RMI rmic –idl puis idl2java, idl2c++, … rmic -iiop IIOP Client RMI/IIOP (Java) stub RMI/IIOP (Java) rmic -iiop Ecriture dun client CORBA pour JOnAS :

19 Service de nommage

20 Nécessité dun CosNaming Le service de nommage de CORBA et de RMI/IIOP est le CosNaming. JOnAS sur David RMI doit lutiliser (David en a un). En EJB, accès au nommage via JNDI (Java Naming and Directory Interface). Ajout dune couche JNDI au dessus du CosNaming. Couche JNDI SUN CosNaming David CosNaming David Serveur JOnAS Serveur JOnASClient RMI/IIOP Client CORBA

21 Nécessité dun registre RMI Certains objets JOnAS ne peuvent pas être enregistrés dans le CosNaming. Il faut conserver un registre RMI. Deux services de nommage: CosNaming Registre RMI JOnAS Client CORBA Client RMI/IIOP

22 Transactions et sécurité

23 Transactions dans les EJBs Principe –mise à jour distribuée ACID de plusieurs ressources réparties (BD, JMS, …) Gestion des transactions –Bean-managed –Container managed –Initialisation possible côté client

24 Transactions et interopérabilité Le service transactionnel CORBA –Object Transaction Service spécifié en IDL –Contexte transactionnel Identification et contrôle de la transaction en cours imposé par EJB 2.0 Le cas container-managed –Mise en oeuvre immédiate Initialisation côté client –interactions EJB – CORBA (contexte propagé)

25 Transactions et interopérabilité 3 solutions envisagées, la dernière retenue –Encapsulation du JOnAS TM sous forme dOTS –Implémentation intégrale dun OTS pour JOnAS –Coopération des mécanismes OTS et JOnAS TM

26 Encapsulation du JOnAS TM sous forme dOTS (1/3) Client CORBA Serveur JOnAS Client RMI/IIOP JOnAS TM Couche OTS Current (OTS) UserTransaction (JTA) TransactionManager (JTA)

27 Encapsulation du JOnAS TM sous forme dOTS (2/3) Traduction de types OTS – JOnAS TM –Exceptions –Références dobjets distants CORBA - RMI Unification du contexte transactionnel vers CosTransactions::PropagationContext –Utilisation spécifique du champ any Côté client de lOTS à écrire

28 Encapsulation du JOnAS TM sous forme dOTS (3/3) Avantages –réutilisation et intégration relatives du code –Obtention dun OTS CORBA complet Inconvénients –Trop de traductions dexceptions –Problème du double référencement des interfaces OTS et JOnAS TM Doù abandon.

29 Implémentation intégrale dun OTS pour JOnAS (1/2) Client CORBA Serveur JOnAS Client RMI/IIOP JOnAS TM Implémentation JTS Current (OTS) UserTransaction (JTA) TransactionManager (JTA)

30 Implémentation intégrale dun OTS pour JOnAS (2/2) Unification du contexte transactionnel –Vers celui de CORBA Adaptation par correspondances de types Incompatibilité des APIs –70% du code diffère avec la version RMI Intégration du service peu cohérente avec JOnAS RMI Doù abandon.

31 Coopération des mécanismes OTS et JOnAS TM (1/3) Client CORBA Serveur JOnAS Client RMI/IIOP JOnAS TM UserTransaction (JTA) TransactionManager (JTA) OTS CORBA Coopération Current (OTS) Chaque monde (EJB et CORBA) contrôle ses propres transactions

32 Coopération des mécanismes OTS et JOnAS TM (2/3) Contexte transactionnel: champ any un client CORBA appelle un EJB –Encapsulation du contrôle JOnAS de la transaction sous forme de ressource CORBA et enregistrement par le contrôle OTS un EJB appelle un objet CORBA –Il faut signaler la présence de la transaction à lOTS du monde CORBA pour quil la contrôle chez lui

33 Coopération des mécanismes OTS et JOnAS TM (3/3) Inconvénients –Mise en oeuvre moins évidente –Cas de lappel dun objet CORBA par un EJB Avantages –Réutilisation et intégration maximales –Le côté client transactionnel est à la charge de lOTS externe Solution retenue pour JOnAS David RMI –Validation non effectuée faute de temps.

34 Sécurité Actuellement: contexte de sécurité propagé –Spécifique à JOnAS Intégration dans JOnAS David RMI –Configuration –Sérialisation Java faute de temps Interopérabilité CORBA –Sécurité JOnAS étendue au monde CORBA –Envisagée (sérialisation IIOP)

35 Bilan

36 Validation Utilisation des tests standards Tests portés et validation de JOnAS David –Transactions, sécurité Non régression de JOnAS RMI / JRMP Non régression de JOnAS Jérémie –Passage à Jonathan 3.0 (transactions et sécurité) Interopérabilité CORBA –Validation par test simple (sans transactions)

37 Conclusion Objectifs atteints –JOnAS version David RMI –Interopérabilité CORBA Perspectives –Version JOnAS David RMI officielle (il reste des bugs) –Validation de linteropérabilité des transactions


Télécharger ppt "Interopérabilité JOnAS - CORBA Projet de fin détudes chez Evidian Patrick Bruneton et Marc Dutoo."

Présentations similaires


Annonces Google