Mise en place d’une plate-forme d’expérimentation d’applications adaptables à partir de composants Encadreurs : Mireille Blay-Fornarino Anne-Marie Dery-Pinna Anne-Marie Dery-Pinna Encadreurs : Mireille Blay-Fornarino Anne-Marie Dery-Pinna Anne-Marie Dery-Pinna Emmanuel Gros Erwann Guyomard Lionel Vogelsgsang
PlanPlan Contexte du projet Contexte du projet Objectifs Objectifs Réalisation Réalisation Aperçu de l’application Aperçu de l’application Bilan Bilan Organisation Organisation
Le projet Rainbow Participe au RNTL ARCAD Participe au RNTL ARCAD Est affilié à l’I3S Est affilié à l’I3S Travaille sur les composants applicatifs Travaille sur les composants applicatifs Comprend plusieurs axes de recherche Comprend plusieurs axes de recherche Débouche sur de nouvelles façons de programmer Débouche sur de nouvelles façons de programmer
Les interactions Un des résultats de l’équipe Rainbow Un des résultats de l’équipe Rainbow Un langage dédié : ISL Un langage dédié : ISL Permettent l’ajout dynamique de fonctionnalités Permettent l’ajout dynamique de fonctionnalités Pas de modification du code source d’origine Pas de modification du code source d’origine Une méthodologie de développement spécifique Une méthodologie de développement spécifique
Nos objectifs Mettre en oeuvre les interactions dans un contexte d’application réel Mettre en oeuvre les interactions dans un contexte d’application réel Fiabilisation et extension du service Présenter leurs avantages Présenter leurs avantages Déterminer leurs limites Déterminer leurs limites
Supports de travail Une application d’agendas Une application d’agendas Le service d’interactions Le service d’interactions JONAS JONAS – Conteneur d’EJBs – Modifié pour le support des interactions JORAM JORAM – Bus à messages – Support du mode non connecté de notre application
Application d’agendas Fournie par l’équipe du projet SIRAC Fournie par l’équipe du projet SIRAC Propose certaines fonctionnalités de collaboration Propose certaines fonctionnalités de collaboration Mais : Mais : – Elle est peu paramétrable à ce niveau – La notification des utilisateurs a été négligée
Application d’agendas Architecture
Extensions proposées Des paramètres de collaboration Des paramètres de collaboration Une gestion de groupes de projets Une gestion de groupes de projets Une notification des utilisateurs Une notification des utilisateurs – Par messagerie instantanée – Par courrier électronique Une connexion avec l’emploi du temps de l’E.S.S.I. Une connexion avec l’emploi du temps de l’E.S.S.I.
RéalisationRéalisation A l’aide d’interactions A l’aide d’interactions Première étape Première étape – Compréhension de la plate-forme – Contribution à sa fiabilisation Puis Puis – Analyse du fonctionnement de l’application – Interaction de trace Une première utilisation type
Réalisation Gestion des groupes Réutilisation d’un composant existant Réutilisation d’un composant existant Le Bean Participant Le Bean Participant – Un groupe = un participant particulier – Stockage des noms des membres du groupe – Avantages Intégration transparente Intégration transparente Pas de modifications du code source Pas de modifications du code source
Gestion des groupes Méthodologie Détournement d’appels de méthodes Détournement d’appels de méthodes – Réification de ces appels – Exemple : disponibilité d’un groupe Capture de l’appel à getNoAvailableParticipants() Capture de l’appel à getNoAvailableParticipants() Vérification de la disponibilité de tous les membres Vérification de la disponibilité de tous les membres Remplacement du résultat Remplacement du résultat Une deuxième utilisation type
Fonctionnement originel
Après la pose d’une interaction
Réalisation Gestion de la notification Deux nouveaux composants permettant : Deux nouveaux composants permettant : – La notification instantanée Réalisée à l’aide de JORAM Réalisée à l’aide de JORAM Concertation des utilisateurs Concertation des utilisateurs Information sur les changements Information sur les changements – La notification par courrier électronique Connexion à un serveur SMTP Connexion à un serveur SMTP Indépendance vis-à-vis de l’application Indépendance vis-à-vis de l’application Une troisième utilisation type : connexion à de nouveaux composants
Réalisation Gestion des préférences Nouveau composant Nouveau composant – Développé selon les souhaits des utilisateurs – Bean d’entité Preferences – Accédé par les interactions Piloté par une interface graphique Piloté par une interface graphique Préférences possibles Préférences possibles – Niveaux de partage – Moyens de notification
Aperçu de l’application Avant nos modifications Avant nos modifications – L’interface graphique – L’architecture déployée Avec nos extensions Avec nos extensions – Les groupes de projet – Les préférences – La nouvelle architecture déployée
Architecture déployée
Nouvelle architecture
BilanBilan Contribution effective à la fiabilisation et à l’extension du service Contribution effective à la fiabilisation et à l’extension du service Un meilleur ciblage des applications potentielles des interactions Un meilleur ciblage des applications potentielles des interactions Les interactions permettent Les interactions permettent – L’ajout aisé de fonctionnalités Par de nouveaux composants Par de nouveaux composants – La modification de comportements Par des composants de réification Par des composants de réification
Bilan : bémols Le serveur d’interactions Le serveur d’interactions – Un service supplémentaire à l’exécution – Une implémentation en cours de réalisation Un langage supplémentaire Un langage supplémentaire La faible réutilisabilité des composants de réification La faible réutilisabilité des composants de réification – Boîtes à outils spécifiques
OrganisationOrganisation Des points réguliers sur notre avancement Des points réguliers sur notre avancement – Les réunions Rainbow Un site Internet Un site Internet – Présente toutes nos réalisations Une répartition du travail néanmoins difficile Une répartition du travail néanmoins difficile – Due à notre manque de recul
Ce que nous en avons retiré Découverte du monde de la recherche Découverte du monde de la recherche Organisation dans un contexte réel Organisation dans un contexte réel – Notre premier projet de longue haleine Collaboration au sein d’un projet plus vaste Collaboration au sein d’un projet plus vaste Plus de recul sur les technologies utilisées Plus de recul sur les technologies utilisées
RemerciementsRemerciements A nos encadreurs A nos encadreurs – Mireille Blay-Fornarino – Anne-Marie Dery-Pinna A l’équipe de développement du service d’interactions A l’équipe de développement du service d’interactions – Audrey Occello – David Emsellem A tous les autres membres de Rainbow A tous les autres membres de Rainbow