Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 1 : Médiation Auteurs : LIG/Adèle – Orange Labs/MAPS/MEP Workshop Cilia : 21 juin 2010 1
Plan Médiation Historique Technologies de médiation Cilia : génération OSGi et multi-personnalités Framework Cilia Modèle d'implantation Modèle de conception Médiation de données et de service Processus logiciel Vue d’ensemble Spécification d’architecture Spécification d’instances Déploiement Cas d'usage Interopérabilité dans un Système d’Information Remontée de données dans un Système Embarqué
Médiation Historique Technologies de médiation : grands et petits systèmes Cilia : génération OSGi et multi-personnalités Equipe projet R&D et road-map 3
Médiation : remontée de données Gio Wiederhold, 1992 (Université de Stanford) Problématique de remontée de données à partir de sources hétérogènes = comment passer progressivement de données à l'état brut à des données pouvant être consommées par différentes applications clientes ? Définit une architecture de médiation modulaire s'insérant entre les sources de données et les applications clientes consommant les données Domaines d'application Supervision de la sécurité sur les réseaux, facturation, vérification de SLA, sélection dynamique de services, gestion d’équipements intelligents, etc. Middlewares de médiation de données Débit important. Focus sur les problématiques de corrélation et d’interrogation Débit faible à moyen. Focus sur la modularité et la distribution de l’architecture
Médiation : interopérabilité IBM, 2005 Problématique d'appels à services (WS) impliquant des services hétérogènes Définit un ensemble d'opérations pour faire inter-opérer des services = médiation fonctionnelle Transformation de messages, enrichissement, découpage, etc. Met sur le marché une offre middleware de médiation (WebSphere ESB) Lance ensuite une famille de solutions hardware (datapower) visant un ensemble restreint d’opérations de médiation fonctionnelle (+ gestion QoS) Domaines d’application Interopérabilité entre des services hétérogènes dans les grands systèmes : SI, PFS, Cloud, etc. Middlewares : Enterprise Service Bus (ESB)
Remontée de données et interopérabilité UJF/LIG/Adèle, 2008 Conception et développement d'un framework de médiation sur iPOJO simple, léger, dynamique et autonomique Collaboration LIG/Adèle et Orange Labs, 2008-2010 Cahier des charges DDSI (programme DIME) Un framework ouvert, modulaire, extensible pour gérer le code de médiation dans les périmètres projet (interopérabilité) Framework multi-purposes : remontée de données et interopérabilité Domaines d’application Médiation dans les grands systèmes (SI, PFS, Cloud, etc.) et les petits systèmes (applications embarquées) Framework de médiation Cilia, futur projet OW2 Médiation de données et médiation de service (interopérabilité) Actuellement, documentation et code dans LIG Forge
Médiation Historique Technologies de médiation : grands et petits systèmes Cilia : génération OSGi et multi-personnalités Equipe projet et road-map 7
Grands Systèmes : interopérabilité Enterprise Application Integration (EAI) Enterprise Service Bus (ESB), à partir de 2005 Technologie JEE Orchestration de WS Gestion de l'interopérabilité Boîte grise WebSphere ESB Aqualogic ESB Editeur : ESB G1 Technologie propriétaire Gestion de processus métier Gestion de l'interopérabilité MOM et connecteurs Boîte noire /grise WebMethods Editeur : EAI Open source : ESB G3 Technologie Spring Gestion de l'interopérabilité Langage de spécification (instances) Boîte grise - modèle “EIP” ServiceMix (JBI) Camel Spring Integration Open source : ESB G2 Technologie 100% OSGi Gestion de l'interopérabilité Langage de spécification (types, instances) Boîte blanche Cilia
Tendances et prévisions Les Grandes Entreprises ESB G1 : pas de percée car peu de plus-value vis-à-vis des EAI ESB G2 : utilisation éparse de ServiceMix, Camel, Spring Integration Solutions d'intégration ad-hoc : une option privilégiée pour des cas simples ESB G3 : première diffusion dans le domaine de l’informatique ambiante Apporte de nombreuses perspectives (gestion dynamique du cycle de vie, autonomie) Les PME Solutions d'intégration ad-hoc : courantes ESB G2 : ServiceMix, Fuse ESB G3 : remplacera ESB G2
Grands Systèmes : médiation de données Généralement, des solutions de médiation ad-hoc enfouies dans des outils complets Outils de supervision et de suivi de la qualité de service HP, IBM, Oracle, Amberpoint, etc. Offres de médiation rares Open source : Esper (Codehaus), CompositeProbe (OW2) (couplé à CLIF) Offre MediationSuite de ScalAgent D.T.
Petit Système : exemple Applications embarquées sur des passerelles intelligentes (box, SmartPhone, tablette, etc.) et communicant avec des réseaux de capteurs et d’équipements : divertissement, santé, énergie électrique,… Habitat Capteurs de mouvement, touch pad, etc. Capteurs de température Communication Proxies capteurs Médiation Station de base Collecte, synchronisation, agrégation, routage, etc. Service à l’habitat : santé iTouch / iPhone Médiation Surveillance de l'état des capteurs Service embarquable : Code d'intégration : sur une ou plusieurs passerelles Certains verrous ont déjà été identifiés dans des projets de recherche (communication avec des dispositifs communicants hétérogènes et découverte dynamique) Dans MEDICAL, nous proposons une technologie et une architecture innovantes pour les traiter de façon simple et efficace. Approche MEDICAl : deux niveaux de séparation des préoccupations. 1) Premier niveau d’abstraction : séparation de la communication pure et de l'intégration de données Communication pure : découverte dynamique de dispositifs communicants et exposition sous la forme de proxies OSGi. Intégration : collecte et synchronisation des données collectées, traitement métier (filtrage, transformation, enrichissement, aggrégation, etc.), routage. 2) Deuxième niveau, le middleware d’intégration : séparation du code métier (transformation, enrichissement, etc.) et du code technique (routage, synchronisation, collecte, envoie de données, etc.) Verrou inédit : middleware d’intégration autonomique. Le gestionnaire autonomique s’appuie sur le modèle conceptuel d’intégration du service commercial qui peut évoluer dans le temps suite à des changements dans l'environnement domestique Orange Software Engineering ― slide 11
Petits Systèmes : quelle médiation ? Interopérabilité restreinte Une application échange des données avec des équipements (ex., UpNp, DPWS) Aucune interopérabilité entre les applications embarquées Exemple : applications dans le domaine du confort domestique (EDF) et applications dans le domaine de la santé (FT) Problème : prolifération d’applications à faible valeur ajoutée accompagnées de leurs capteurs et équipements Médiation de données Solutions propriétaires et ad-hoc sur OSGi
Médiation Historique Cilia : génération OSGi et multi-personnalités Technologies de médiation : grands et petits systèmes Cilia : génération OSGi et multi-personnalités Equipe projet R&D et road-map 13
Cilia : génération OSGi et multi-personnalités Premier framework de médiation 100% OSGi Réellement "light" en terme d'empreinte mémoire Permet de cibler petits et grands systèmes Permet de gérer la dynamicité Premier framework de médiation simple et homogène Simple : extension du modèle iPOJO pour la médiation Homogène et multi-personnalités : médiation de données et médiation de services pour petits et grands systèmes, avec déclinaisons par domaine métier Premier framework de médiation véritablement ouvert… Modèle de médiation pour la conception et le développement Plusieurs niveaux possibles de spécification : Configuration en iPOJO étendu Configuration à l'aide d'un DSL XML ou d’une API Java Choix du framework de communication vers les entités externes CXF (WS), JORAM (JMS), Rose (OW2), etc. … et autonomique
Personnalités Cilia Cilia core Projet Cilia - Modèle de médiation : médiateurs et assemblage - Configuration : DSL xml ou API Java - Modèle de programmation java - Bibliothèque : schedulers, dispatchers, mediators, liaisons,… Projet Cilia Cilia “médiation de données” Cilia “médiation de service” Bibliothèque spécifique Bibliothèque spécifique Proposition MEDICAL (Minalogic) Cilia “entreprise” Cilia “embarqué” Cilia “embarqué” Projet SelfXL (ANR) Possibilité de créer des bibliothèques et des DSL spécifiques pour chaque déclinaison de Cilia Cilia “entreprise” Projet OSAMI (ITEA) FT programme DIME Projet AspireRFID (IP) Cilia “entreprise FT : SI, PFS”
Cilia : machines de médiation à la carte Cilia “information system project” Run-time : Felix Cilia + bibliothèque SI Communication avec entités externes : jms, cxf Exemple : Cilia “RFID project” Run-time : Equinox Cilia + bibliothèque RFID + DSL EPCSpec Communication avec entités externes : event-admin, Rose, Zigbee, Bluetooth Exemple : Cilia “IHM project” Run-time : Felix Cilia + bibliothèque IHM + DSL « multimodal » Communication avec entités externes : event-admin, Rose, Zigbee, Bluetooth Exemple : génère Templates maven Cilia “home and health care project” Run-time : Felix Cilia + bibliothèque Santé + DSL santé Communication avec entités externes : jms, Rose, UPnP Exemple : Cilia “home entertainment project” Run-time : Equinox Cilia + bibliothèque SI + DSL « multimodal » Communication avec entités externes : Rose, UPnP, Bluetooth, RF Exemple :
Médiation Historique Cilia : génération OSGi et multi-personnalités Technologies de médiation : grands et petits systèmes Cilia : génération OSGi et multi-personnalités Equipe projet R&D et road-map 17
Contributeurs Equipe LIG/Adèle Orange Labs / MAPS/MEP Philippe Lalanda (professeur encadrant) Bassem Debbabi (thèse),, Issac Noé García Garza (thèse), Gabriel Pedraza Ferreira (post doctorant), Pierre Bourret (ingénieur) Orange Labs / MAPS/MEP Catherine Hamon (programme DIME/ Mediation) Mehdi Damou (M2 GI), Elias Ricken De Medeiros (M2 R), Jérôme Bodineau (M2 GI), Anthony Bozon (M2 GI)
Road-map Cilia core Framework de médiation v2 2009 API java – DSL xml Début 2S2010 Processus, outils, bibliothèques v1 fin 2010 v2 2011 Autonomie Orange Software Engineering ― slide 19