17
1 1 Contributions de l’équipe ADAM dans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France as DOLET ([email protected] ) ppe MERLE ([email protected] ) ADAM (ex Projet Jacquard) - INRIA Futurs, toire d‘Informatique Fondamentale de Lille (LIFL), sité des Sciences et Technologies de Lille (USTL), euve d’Ascq, France

Contributions de l’équipe ADAM dans le projet JOnES

  • Upload
    nowles

  • View
    34

  • Download
    1

Embed Size (px)

DESCRIPTION

Contributions de l’équipe ADAM dans le projet JOnES. Mercredi 11Avril 2007. Revue de projet, Montbonnot - France. Nicolas DOLET ( [email protected] ) Philippe MERLE ( [email protected] ) Equipe ADAM (ex Projet Jacquard) - INRIA Futurs, - PowerPoint PPT Presentation

Citation preview

Page 1: Contributions de l’équipe ADAM dans le projet JOnES

1

1

Contributionsde l’équipe ADAMdans le projet JOnES

Mercredi 11Avril 2007

Revue de projet, Montbonnot - France

Nicolas DOLET ([email protected])Philippe MERLE ([email protected])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

Page 2: Contributions de l’équipe ADAM dans le projet JOnES

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)

Page 3: Contributions de l’équipe ADAM dans le projet JOnES

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

Page 4: Contributions de l’équipe ADAM dans le projet JOnES

4

Le modèle de programmation Fraclet

Page 5: Contributions de l’équipe ADAM dans le projet JOnES

5

5

Développement sans Fracletpublic 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; }

} }

<definition name="Client"> <interface name="r" role="server" signature="Main"/> <interface name="s" role="client" signature="Service"/>

<content class="Client"/></definition>

<definition name="Client"> <interface name="r" role="server" signature="Main"/> <interface name="s" role="client" signature="Service"/>

<content class="Client"/></definition>

Répétitif

Redondant

Propice aux erreurs

Page 6: Contributions de l’équipe ADAM dans le projet JOnES

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">

<component name="s" definition="ServerImpl(# ,3)"/></definition>

<definition name="HelloWorld" extends="ClientImplComposite">

<component name="s" definition="ServerImpl(# ,3)"/></definition>

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);} }

Page 7: Contributions de l’équipe ADAM dans le projet JOnES

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.

Page 8: Contributions de l’équipe ADAM dans le projet JOnES

8

Déploiement d’applications distribuées/hétérogènes :

Fractal Deployment Framework

Page 9: Contributions de l’équipe ADAM dans le projet JOnES

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é)

Page 10: Contributions de l’équipe ADAM dans le projet JOnES

10

10

Exemple : une agence de voyages

Page 11: Contributions de l’équipe ADAM dans le projet JOnES

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

Page 12: Contributions de l’équipe ADAM dans le projet JOnES

12

12

Fonctionnement de FDF

• Bibliothèque de composants primitifs encapsulant les mécanismes système

• Composition de ces composants dans les personnalités

Page 13: Contributions de l’équipe ADAM dans le projet JOnES

13

13

Description des dépendances

Page 14: Contributions de l’équipe ADAM dans le projet JOnES

14

14

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

Page 15: Contributions de l’équipe ADAM dans le projet JOnES

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)

Page 16: Contributions de l’équipe ADAM dans le projet JOnES

16

16

Merci

Et maintenant, la démo !

Page 17: Contributions de l’équipe ADAM dans le projet JOnES

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.