Cilia Mediation Framework v0.9.0 Implantation.. Plan Cilia: c'est quoi? Capacités. Cilia: Modèle d'implantation. Mise en œuvre: Médiateur Cilia. Assemblage.

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Module 5 : Implémentation de l'impression
Le struts validator – framework de validation
Cilia, un framework de médiation ouvert, léger, multi-personnalités
SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Architecture Technique de la plate-forme CASTORE
Cycle de vie de documents web
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Module 7 : Résolution de noms NetBIOS à l'aide du service WINS
Introduction à Java - les paquetages -
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
le langage les éléments
JAV - TD 6 Structures de données JAVA
Design Pattern MVC En PHP5.
TP 3-4 BD21.
Manipulation d’XML avec XSL
Test dans les objets DESS Andrés Farias –
Pédagogie par Objectifs
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
GED Masters: Gestion Électronique de Documents
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
Initiation à la conception de systèmes d'information
RDF(S)
.Net Remoting.
Framework orienté-service de médiation de données
Création d'un projet Web avec Netbeans
Programmation concurrente
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Module 2 : Préparation de l'analyse des performances du serveur
Processus d'un projet F.Pfister
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Travaux Pratiques Représentation des connaissances
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Découverte des Framework : SPRING & JAXB
Programmation objet La base.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Universal Plug and Play. Idée Connecter tout: PCs, appareils intelligents, et appareils domestiques Computer partout: Universal Plug and Play connectivité.
L’architecture IntServ
Struts.
MOCK.
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
La notion de « package » pour un cours en ligne Illustration avec la spécification Content Packaging (IMS-CP) Université Bordeaux 3 Cours MASTER 2 MULTIMEDIA.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Formation Cisco Partie 2 – IOS.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP― slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Gestion et traitement des demandes de service
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
Cilia, un framework de médiation ouvert, léger, multi-personnalités
Transcription de la présentation:

Cilia Mediation Framework v0.9.0 Implantation.

Plan Cilia: c'est quoi? Capacités. Cilia: Modèle d'implantation. Mise en œuvre: Médiateur Cilia. Assemblage dune chaîne de médiation. Exemples de médiateurs.

Cilia, c'est quoi? Modèle à composant spécifique au domaine de la médiation. Extension d'iPOJO. Permettre dassembler des chaînes de médiation pour faire communiquer des applications hétérogènes. Approche « white-box » Modèle simple. Encourage la séparation de préoccupations. Basée sur une plateforme à services dynamique (OSGi).

Capacités Runtime de médiation léger. Faible couplage entre médiateurs. Introspectable à l'exécution. Permet de mettre en place différents patrons d'intégration. Extensible. Permet de définir des médiateurs configurables. Configurables au runtime et a l'instanciation.

Cilia : Modèle d'implantation Un médiateur Cilia est implanté avec : POJO (Plain Old Java Object). Description de médiateur Cilia (XML d'iPOJO + des handlers de Cilia). Description des instances de médiateurs (XML d'iPOJO). POJO + Description de Médiateur Déclaration d'instance + collector scheduler Processor (POJO) sender dispatcher Médiateur Cilia

Composé d'un POJO et généralement deux handlers de Cilia. Scheduler handler : Gère le déclenchement du traitement des données. Dispatcher handler : Gère le routage des données. scheduler processor dispatcher collectorsender Pour la communication entre médiateurs ou par protocoles de réception/envoi de données : Collector : Collecte ou reçoit les données. Sender : Envoie les données.

Logique métier La logique métier d'un médiateur Cilia est définie dans la méthode process du médiateur Cilia. Exemple : package org.demo.mediators; import org.ow2.chameleon.cilia.Data; import org.ow2.chameleon.cilia.framework.Mediator; public class MediatorTest implements Mediator { public List process(List receivedData) { receivedData.get(0).setContent("new content"); return new ArrayList(receivedData); }

Logique non-fonctionnel La logique non-fonctionnelle d'un médiateur Cilia est gérée par un ensemble de handlers (scheduler et dispatcher). <component name="MediatorTest" classname="org.demo.mediators.MediatorTest"> Composant iPOJO + Cilia : Immediate-scheduler : déclenche le traitement (process method) pour chaque donné reçue multicast-scheduler : envoi la donnée traitée à tous les senders. Cilia handlers : NOTE : le médiateur de cet exemple n'a aucun sender ni collector déclaré.

Mise en œuvre : médiateur Cilia La version actuelle de Cilia est implémentée directement en utilisant le langage de description diPOJO. Il y a trois étapes pour faire un médiateur Cilia en utilisant iPOJO. Implémenter une classe Java (Le processor). Décrire le composant iPOJO avec les handlers de Cilia. Déclarer l'instance du médiateur. package org.demo.mediators; public class MediatorTest implements Mediator { public DataSet process(DataSet receivedData) {...} } <component name="MediatorTest" classname="org.demo.mediators.MediatorTest"> NOTE: La description du médiateur peut être faite dans le même fichier que la declaration de linstance (Metadata diPOJO).

Assemblage de chaîne de médiation Pour communiquer entre médiateurs : on ajoute et configure les senders dans la section du dispatcher et les collectors dans la section du scheduler. Déclaration des instances. Déclarations des médiateurs Communication entre les deux Médiateurs en utilisant EventAdmin avec le result/topic" Topic = "result/topic"

En progresse Description des médiateurs dans un langage de haut niveau. Les collectors et senders ne sont pas déclarés dans le type de médiateur, leur déclaration est faite au moment de décrire la chaîne de médiation sur la forme de connections. MediatorTest <connection type="EventAdmin" out-mediator="mediator1" in-mediator="mediator2" /> Déclaration de type de médiateur Déclaration de chaîne de médiation, utilisation de médiateurs et liaison entre eux

Scheduler Exemples Periodic scheduler Déclenche le traitement de donnée à chaque période de temps. Immediate Scheduler Déclenche le traitement de donnée chaque fois quune donnée est collectée. Correlation Scheduler Déclenche le traitement de donnée quand la liste de données est complète en utilisant linformation ajoutée par le split. Counter Scheduler Déclenche le traitement de donnée quand une condition, qui évalue et compte les données, est vérifiée.

Periodic Schedulers Déclenche le traitement de donnée à chaque période de temps. Propriétés : scheduler.delay : temps en millisecondes avant de commencer le premier traitement. scheduler.period : temps en millisecondes entre chaque déclenchement du traitement. Utilisation :

Immediate Scheduler Déclenche le traitement de donnée à chaque période de temps. Propriétés : Aucune. Utilisation :

Correlation Scheduler Déclenche le traitement de donnée quand la liste de donnée est complet en utilisant linformation ajoutée par le split. Propriétés : scheduler.correlation : quels sont les messages qui doivent être traités ensemble ? Utilisation : NOTE: "SPLIT.ID" est une méta-donnée ajoutée par le splitter pour identifier toutes les données qui doivent être traitées ensemble. La condition de finalisation est vérifiée quand le scheduler a reçu toutes les données.

Counter Scheduler Déclenche le traitement de donnée quand une condition qui évalue et compte le donnée, est vérifiée. Propriétés : scheduler.correlation : quels sont les messages qui doivent être traités ensemble ? scheduler.count : expression de type LDAP pour compter les données. scheduler.condition : condition de finalisation déclenchant le traitement de données.

Counter Scheduler (2) Utilisation : NOTE: Dans cet exemple, le scheduler va déclencher le traitement de données dès qu'il a reçu 3 données avec le nom "dataA" et 4 données avec le nom "dataB".

Dispatcher Exemples Content Based Dispatcher (en utilisant LDAP) Utilise LDAP pour vérifier le contenu et choisir à quel sender envoyer. Content Based Dispatcher (en utilisant XPath) Utilise XPath pour vérifier le contenu et choisir à quel sender envoyer. Multicast Dispatcher Envoie toutes les données à tous les senders du médiateur.

Content Based Dispatcher (ldap) Utilise LDAP pour vérifier le contenu et choisir a quel sender envoyer. Propriétés : routes : contient les conditions et les senders qui recevront les données quand la condition est vérifiée. Utilisation : NOTE: envoie la donnée vers le sender1 si le data.content <= 5, sinon il l'envoie vers sender2.

Content Based Dispatcher (XPath) Utilise XPath pour vérifier le contenu et choisir à quel sender envoyer. Propriétés : routes : contient les conditions et les senders qui recevront les données quand la condition est vérifiée. routes.condition.language : langage à utiliser pour la condition (XPath).

Content Based Dispatcher (xpath) Utilise XPath pour vérifier le contenu et choisir à quel sender envoyer. Utilisation : NOTE: envoie la donnée vers le sender1, si dans le contenu de la donnée l'élément contract-type a pour valeur "internet". Si il a pour valeur "fix" il envoie vers le sender2.

Multicast Dispatcher Envoie toutes les données à tous les senders du médiateur. Propriétés : Aucune. Utilisation : NOTE: envoie la donnée vers le sender1 et vers le sender2.