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

1 1 Contributions de l’équipe ADAM dans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France Nicolas DOLET

Présentations similaires


Présentation au sujet: "1 1 Contributions de l’équipe ADAM dans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France Nicolas DOLET"— Transcription de la présentation:

1 1 1 Contributions de l’équipe ADAM dans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France Nicolas DOLET (nicolas.dolet@inria.fr) Philippe MERLE (philippe.merle@inria.fr) Equipe ADAM (ex Projet Jacquard) - INRIA Futurs, Laboratoire d‘Informatique Fondamentale de Lille (LIFL), Université des Sciences et Technologies de Lille (USTL), Villeneuve d’Ascq, France

2 2 2 Quatre contributions Le modèle de programmation Fraclet Annotations Java pour simplifier la programmation de composants Fractal http://fractal.objectweb.org/fraclet Utilisé (entre autres) par PEtALS (EBM WS) et DREAM (INRIA SARDES) Le canevas GoTM Construction de services de transactions à la carte http://gotm.objectweb.org Utilisé dans un service de transactions pour WebServices Thread Management Framework Observation et contrôle des activités dans un serveur d’application http://tmf.gforge.inria.fr Utilisé (entre autres) dans PEtALS Fractal Deployment Framework Déploiement de toute pile logicielle (OS, JRE, serveurs, conteneurs, applicatifs) http://fdf.gforge.inria.fr Utilisé (entre autres) pour déployer la pile logicielle JBI (JRE, PEtALS, composants JBI)

3 3 3 Dissémination Le modèle de programmation Fraclet 5th International ECOOP Workshop on Fractal Component Model (Fractal'06) 11th International ECOOP Workshop on Component-Oriented Programming (WCOP'06) 5ièmes Journées Composants (JC'06) Thèse de doctorat Romain Rouvoy Le canevas GoTM 5th International ETAPS Symposium on Software Composition (SC'06) International ERCIM Workshop on Software Evolution (EVOL'06) 6th International IFIP Conference on Distributed Applications and Interoperable Systems (DAIS'06) Thèse de doctorat Romain Rouvoy Thread Management Framework Rien encore Fractal Deployment Framework Présentation à la réunion d'architecture ObjectWeb 2nd International OTM Symposium on Grid computing, high-performAnce and Distributed Applications (GADA'06) Soumission à EUROMICRO CBSE 2007

4 4 Le modèle de programmation Fraclet

5 5 5 Développement sans Fraclet public class Client implements Main, BindingController { private Service s; public void main (final String[] args) { s.print("hello world"); } public String[] listFc () { return new String[] { "s" }; } public Object lookupFc (final String cItf) { if (cItf.equals("s")) { return s; } return null; } public void bindFc (final String cItf, final Object sItf) { if (cItf.equals("s")) { s = (Service)sItf; } } public void unbindFc (final String cItf) { if (cItf.equals("s")) { s = null; }} <interface name="r" role="server" signature="Main"/> <interface name="s" role="client" signature="Service"/> <interface name="r" role="server" signature="Main"/> <interface name="s" role="client" signature="Service"/> Répétitif Redondant Propice aux erreurs

6 6 6 Développement avec Fraclet /** @provides name=r */ public interface Main { void main (String[] args); } /** @provides name=r */ public interface Main { void main (String[] args); } /** @provides name=s */ public interface Service { void print (String msg); } /** @provides name=s */ public interface Service { void print (String msg); } <definition name="HelloWorld" extends="ClientImplComposite"> <definition name="HelloWorld" extends="ClientImplComposite"> public class Client implements Main { /** @requires name=s */ protected Service service; public void main (final String[] args) { service.print("hello world");} public class Client implements Main { /** @requires name=s */ protected Service service; public void main (final String[] args) { service.print("hello world");} public class Server implements Service { /** @attribute */ protected String header ; /** @attribute value=1 */ protected int count ; public void print (final String msg) { for (int i = 0; i < count; ++i) System.err.println(header + msg);} public class Server implements Service { /** @attribute */ protected String header ; /** @attribute value=1 */ protected int count ; public void print (final String msg) { for (int i = 0; i < count; ++i) System.err.println(header + msg);}

7 7 7 Bilan sur Fraclet Simplification et fiabilisation du développement Intégration progressive du code technique Réduction de la taille du programme (~50%) Fortement utilisé JOnES – PEtALS, DREAM, GoTM, TMF et FDF ProActive: une plate-forme pour l’informatique sur grille COSMOS: un canevas pour la composition de ressources systèmes DACAR: un canevas pour le déploiement autonome FAC: une extension pour le support de l’AOP au niveau composant A venir refactoring outils Fractal ADL, Fractal RMI, etc.

8 8 Déploiement d’applications distribuées/hétérogènes : Fractal Deployment Framework

9 9 9 Motivation Déploiement classique Processus de déploiement scripté Difficile à maintenir en cas de changement dans la topologie du réseau Aucune représentation du système déployé Parallélisme impossible Gestion des dépendances « à la main » Déploiement avec FDF Description du système Un changement dans la topologie impacte seulement la description de l’élément modifié Représentation du système déployé dans l’IHM Parallélisme, quand c’est possible Dépendances techniques prises en compte dans la description du déploiement d’un programme (personnalité)

10 10 Exemple : une agence de voyages

11 11 Déploiement de la démo Plusieurs logiciels à déployer Java PEtALS Tomcat Les composants applicatifs Chaque logiciel possède sa propre procédure de déploiement Processus de déploiement décrits dans les personnalités Dépendances entre logiciels Dépendances techniques –Un composant JBI dépend de PEtALS –Une application Web (WAR) dépend de Tomcat –PEtALS et Tomcat dépendent de Java Dépendances métier –Les serveurs doivent démarrer avant les clients

12 12 Fonctionnement de FDF Bibliothèque de composants primitifs encapsulant les mécanismes système Composition de ces composants dans les personnalités

13 13 Description des dépendances

14 14 FDF Explorer Administration du déploiement via une console graphique

15 15 Bilan sur FDF Canevas générique permettant d’abstraire le processus de déploiement Gère l’hétérogénéité à tous les niveaux : Matériel Logiciel Applicable dans différents domaines : Informatique sur grille Informatique ubiquitaire / mobile (PDAs) FDF sait déjà déployer : JRE / PEtALS (+ applicatif) / Apache Tomcat (+ applicatif) / Java RMI Registry / Apache Ant / JOnAS (+ applicatif) / Geronimo / JBoss / JADE / MySql / Fractal – Julia – Fractal RMI Registry – Fractal RMI Server / OpenCCM (+ applicatif) / FDF lui-même ! Prototypes : Applicatifs pour Geronimo et JBoss / OSCAR / Apache Tuscany SCA (+ applicatifs) / BPEL (Orchestra) / Qemu (virtualisation d’OS)

16 16 Merci Et maintenant, la démo !

17 17 Dissémination Le modèle de programmation Fraclet [Rouvoy 2006a] Romain Rouvoy, Nicolas Pessemier, Renaud Pawlak et Philippe Merle. Using Attribute-Oriented Programming to Leverage Fractal-Based Developments. Dans Proceedings of the 5th International ECOOP Workshop on Fractal Component Model (Fractal'06), Nantes, France, Juillet 2006. [Rouvoy 2006b] Romain Rouvoy et Philippe Merle. Leveraging Component-Oriented Programming with Attribute- Oriented Programming. Dans Proceedings of the 11th International ECOOP Workshop on Component-Oriented Programming (WCOP'06), Nantes, France, Juillet 2006. [Rouvoy 2006c] Romain Rouvoy, Nicolas Pessemier, Renaud Pawlak et Philippe Merle. Apports de la programmation par attributs au modèle de composants Fractal. Dans Actes des 5ièmes Journées Composants (JC'06), Perpignan, France, Octobre 2006. Le canevas GoTM [Rouvoy 2006d] Romain Rouvoy, Patricia Serrano-Alvarado et Philippe Merle. A Component-based Approach to Compose Transaction Standards. Dans Proceedings of the 5th International ETAPS Symposium on Software Composition (SC'06), Volume 4089 de Lecture Notes in Computer Science (LNCS), pages 114 - 130, Vienne, Autriche, Mars 2006. Springer-Verlag. [Rouvoy 2006e] Romain Rouvoy et Philippe Merle. Using Microcomponents and Design Patterns to Build Evolutionary Transaction Services. Dans Proceedings of the International ERCIM Workshop on Software Evolution (EVOL'06), Lille, France, Avril 2006. [Rouvoy 2006f] Romain Rouvoy, Patricia Serrano-Alvarado et Philippe Merle. Towards Context-Aware Transaction Services. Dans Proceedings of the 6th International IFIP Conference on Distributed Applications and Interoperable Systems (DAIS'06), Volume 4025 de Lecture Notes in Computer Science (LNCS), pages 272 - 288, Bologne, Italie, Juin 2006. Springer-Verlag. [Rouvoy 2006h] Romain Rouvoy. Une démarche à granularité extrêmement fine pour la construction de canevas intergiciels hautement adaptables : application aux services de transactions. Thèse de doctorat. Université des Sciences et Technologies de Lille, Villeneuve d’Ascq, France, décembre 2006. Fractal Deployment Framework [Merle 2006] Philippe Merle. Towards a Generic Deployment Framework for J2EE, OSGi, Web Services (or Everything). Présentation à la réunion d'architecture ObjectWeb, Lille, France, Juin 2006. [Flissi 2006] Areski Flissi et Philippe Merle. A Generic Deployment Framework for Grid Computing and Distributed Applications. Dans Proceedings of the 2nd International OTM Symposium on Grid computing, high-performAnce and Distributed Applications (GADA'06), Lecture Notes in Computer Science, volume 4279, pages 1402-1411, Montpellier, France, Novembre 2006. Springer-Verlag.


Télécharger ppt "1 1 Contributions de l’équipe ADAM dans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France Nicolas DOLET"

Présentations similaires


Annonces Google