Adaptabilit dynamique des services dans JOnAS Java Open Application Server - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Adaptabilit dynamique des services dans JOnAS Java Open Application Server

Description:

Capable d 'adapter les applications des conditions changeantes d 'ex cution ... S paration du code fonctionnel / services non fonctionnels. Modifier ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 19
Provided by: zja1
Category:

less

Transcript and Presenter's Notes

Title: Adaptabilit dynamique des services dans JOnAS Java Open Application Server


1
Adaptabilité dynamique des services dans
JOnAS(Java Open Application Server)
Zahi JARIR Encadre Pr. Thomas LEDOUX
2
Introduction
  • Diversité des plates-formes dexécution.
  • Changement du contexte d exécution des
    applications.
  • Objectif
  • Mettre en place une infrastructure dynamiquement
    adaptable.

3
Infrastructure pour middleware adaptable
  • Capable d adapter les applications à des
    conditions changeantes d exécution
  • Repose sur un MOP de type runtime RAM.
  • Séparation du code fonctionnel / services non
    fonctionnels
  • Modifier dynamiquement les associations.
  • Politiques d adaptations écrites en XML.
  • Quand effectuer une configuration à la volée ?
  • Comment la réaliser?
  • Observation de lenvironnement et du système
    lui-même.
  • Décision de déclencher une adaptation
  • Action pour modifier le système.
  • Moteur d adaptation
  • Attacher / Détacher / Reconfigurer dynamiquement
    des services non-fonctionnels aux composants
    fonctionnels de l application.

4
Architecture
Politiques dadaptation
Services non-fonctionnels
Moteur dadaptation
Composants fonctionnels
Notify
Notify
Moniteurs
Ressources physiques
5
Etude dAdaptabilité dynamique des services dans
Jonas
  • Besoin dadapter les services aux profit des
    applications EJB selon les changements dans leurs
    contextes dexécution
  • Emploi statique des fichiers prédéfinis dans
    Jonas (fichier de déploiement).
  • Besoin d adapter dynamiquement les services dans
    Jonas.
  • Solution
  • Mapper l infrastructure présentée vers Jonas.!
  • Est ce possible? Si oui comment?

6
Etude dAdaptabilité dynamique des services dans
JonasRaisons de pourquoi est ce possible ?
  • Couplage lâche entre les principaux modules de
    linfrastructure
  • Moteur dadaptation des politiques
  • Infrastructure d observation des ressources
  • Composants fonctionnels des applications
  • Composants non-fonctionnels (services systèmes)
    contrôlés par des méta-objets.
  • Possibilité de remplacer MOP RAM utilisé par le
    container du serveur Jonas.

7
Etude dAdaptabilité dynamique des services dans
JonasComment aboutir ?
  • Mise en place dune indirection au niveau de
    lobjet d interposition.
  • Intégrer linfrastructure d observation dans
    Jonas
  • Intégrer le moteur d adaptation des politiques
    dans Jonas.

8
Mise en place dune indirection au niveau de
lobjet dInterposition
  • Responsabilité dédié à lObjet dInterposition
    doffrir les services prédéfinis par la
    spécification des EJB.
  • Mise en uvre de ladaptabilité dynamique au
    niveau de cet objet Interposition.
  • Créer un indirection à ce niveau vers un autre
    objet DynamicComposite (créer par Objet
    d Interposition)
  • Réification des appels métiers avant leurs
    exécution par lobjet dInterposition et leurs
    envois vers lobjet DynamicComposite.
  • DynamicComposite joue le rôle de compositeur
    dynamique des services au sein de Jonas.

9
Mise en place dune indirection au niveau de
lobjet dInterposition
  • Mise en place dun objet DynamicComposite
  • Non intégrer les mécanismes d adaptation au sein
    de l objet d interposition
  • Déléguer à DynamicComposite ce rôle de
    compositeur dynamique des services.
  • Créer par lobjet d interposition grâce au code
    supplémentaire ajouter par GenIC.

10
Mise en place dune indirection au niveau de
lobjet dInterposition (suite)
  • Mise en place d une indirection au niveau de
    l objet d interposition (EJB Object).
  • JOnAS est un open source
  • Introduire une nouvelle balise ltJonasDynamicCompos
    itegt au sein de jonas-ejb-jar.xml.
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltjonas-ejb-jargt
  • ltjonas-sessiongt
  • ltejb-namegtOplt/ejb-namegt
  • ltjndi-namegtOpHomelt/jndi-namegt
  • ltjonas-dynamic-compositegttruelt/jonas-dynamic-
    compositegt
  • lt/jonas-sessiongt
  • ltjonas-sessiongt
  • ltejb-namegtOpbislt/ejb-namegt
  • ltjndi-namegtOpbisHomelt/jndi-namegt
  • ltjonas-dynamic-compositegtfalselt/jonas-dynamic
    -compositegt
  • lt/jonas-sessiongt
  • lt/jonas-ejb-jargt

11
Mise en place dune indirection au niveau de
lobjet dInterposition (suite)
  • Modifier la DTD jonas-ejb-jar.dtd.
  • ......
  • lt!ELEMENT JOnAS-entity (ejb-name, jndi-name,
    JOnAS-dynamic-composite?, JOnAS-resource,
    JOnAS-resource-env, JOnAS-ejb-ref,
    is-modified-method-name?, passivation-timeout?,
    jdbc-mapping?)gt
  • lt!ELEMENT JOnAS-dynamic-composite (PCDATA)gt
  • ........
  • lt!ELEMENT JOnAS-session (ejb-name, jndi-name,
    JOnAS-dynamic-composite?, JOnAS-resource,
    JOnAS-resource-env, JOnAS-ejb-ref,
    session-timeout?)gt
  • .......

12
Mise en place dune indirection au niveau de
lobjet dInterposition (suite)
  • Modifier les classes parseurs associées à cette
    nouvelle balise (org.objectweb.jonas-ejb.deploymen
    t.xml)

13
Mise en place dune indirection au niveau de
lobjet dInterposition (suite)
  • Modifier les classes  mémoire  des informations
    parsées (org.objectweb.jonas-ejb.deployment.api)
    utiliser par GenIC (Generate Interposition
    Classes) générateur du container associé au bean
    (BeanDesc, SessionDesc et EntityDesc).
  • Modifier les classes utilisées par GenIC afin
    dajouter du code supplémentaire associé à cette
    indirection (GenICRemote, GenICSessionRemote,
    GenICEntityRemote)
  • Modification de lappel des méthodes métiers
    standard
  • Exemple
  • eb.buy(p1).
  • Par le code suivant
  • Object args new Object new Integer(p1)
  • java.lang.reflect.Method metheb.getClass().getMe
    thod("buy", new ClassInteger.TYPE )
  • dynamicComposite.execute(eb,meth,args)

14
Intégrer le moteur dAdaptation des politiques
  • Ajouter un service Jonas appelé LoadPolicies
  • Ajouter ce service dans Jonas.properties
  • Jonas.services LoadPolicies, jmx,security,.
  • Jonas.service.LoadPolicies.class proto.LoadPolicie
    s
  • Responsable de charger tous les politiques
  • Services.xml liste des services fournis.
  • ltservicesgt
  • ltservice name"misc.trace"/gt
  • ltservice name"servicelog"/gt
  • ltprovider class"proto.servicelib.SimpleTracePr
    ovider"/gt
  • ltprovider class"proto.servicelib.ServiceLog"/gt
  • lt/servicesgt

15
Intégrer le moteur dAdaptation des politiques
(suite)
  • System.xml
  • politique de bas niveau
  • Définition des règles d adaptation (Quels
    services doivent être utilisés et avec quels
    paramètres en fct des conditions
    environnementales) Condition --gt Action.
  • ltrulegt
  • ltwhengt
  • ltless-thangt
  • ltproperty-value name"/system/network.bandwidth
    "/gt
  • ltnumber value"40000"/gt
  • lt/less-thangt
  • lt/whengt
  • ltensuregt
  • ltattached service"misc.trace" role"main"gt
  • ltparameter name"prefix" value"TRACE"/gt
  • lt/attachedgt
  • lt/ensuregt
  • lt/rulegt

16
Intégrer le moteur dAdaptation des politiques
(suite)
  • Application.xml
  • Niveau d abstraction élevé.
  • Description comment vont être appliquées les
    politiques systèmes et à quels composants.
  • ltgroup name"groupbean1"gt
  • ltselect from"all"gt
  • ltequalsgt
  • ltproperty-value name"className"/gt
  • ltstring value"sb.OpBean"/gt
  • lt/equalsgt
  • lt/selectgt
  • ltbind policy"tracer"/gt
  • lt/groupgt
  • Intégrer lobjet DynamicComposite au sein du
    groupe adéquat selon la politique applicative.

17
Etude de l adaptabilité dynamique des services
dans JOnAS
EJB Server
EJB Container
Home interface
Entreprise Java Bean
DynamicComposite
Remote interface
Service Maison
Transaction
Management
Security
Naming
JMS
Database
LoadPolicies
Service Maison
Services.xml System.xml Application.xml
Services
Sondes
Ressources Physiques
18
Conclusion Perspectives
  • Infrastructure capable dadapter dynamiquement
    les services dans Jonas.
  • Conjugaison de deux richesses
  • Infrastructure pour middleware adaptable
  • plate-forme Jonas à base de composants beans
  • Se pencher sur lutilisation des services
    prédéfinies de Jonas
Write a Comment
User Comments (0)
About PowerShow.com