540 likes | 638 Views
FOCAS : un canevas extensible pour la construction d’applications orientées procédé. Gabriel PEDRAZA FERREIRA. Jury:. Contexte. 1990. 2000. 2003. Services. Applications orientées procédé Une approche dirigée par les modèles. Approche à services. Procédés. Procédé Logiciel. Workflow.
E N D
FOCAS : un canevas extensible pour la construction d’applications orientées procédé Gabriel PEDRAZA FERREIRA Jury:
Contexte 1990 2000 2003 Services Applications orientées procédé Une approche dirigée par les modèles Approche à services Procédés Procédé Logiciel Workflow Orchestration Modèles Modèles Ingénierie dirigée par les modèles FOCAS - Gabriel PEDRAZA FERREIRA
Contexte FOCAS Un canevas dirigé par les modèles pour la construction d’ orchestrationsflexibles de services. Extensible et adaptable à « toute » application orientée procédé. FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art - procédé Un procédéest : « A sequence of steps performed for a given purpose » [IEEE] « A systematicapproach to the creation of a product or the accomplishment of some task » [Osterweil] • Un modèle de procédé sert à : • comprendre et communiquer entre les acteurs, • automatiser le procédé. FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – les workflows • Un système de workflow est un logiciel qui interprète un modèle (de procédé). Act2 Act1 Act4 Act5 Act3 Moteur de workflow FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – les workflows • Langages de spécification de procédés • 1995 • Un groupe de standardisation • Modèle de référence pour les systèmes de workflows • Spécification ~40 pages • 2007 • 10 groupes de standardisation • 7 standards pour la modélisation des procédés • Chaque spécification ~150 pages FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – les workflows FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – Les workflows FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – Les workflowssynthèse • Deux approches • Solutions génériques contenant un nombre élevé de concepts. • Solutions spécialisées dans un domaine spécifique difficilement adaptables. • Formalismes de bas niveau d’abstraction proches de langages de programmation. • Les workflows sont fortement couplés aux applications qu’ils utilisent. • Capacités d’extension limitées ou inexistantes. FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – L’orchestration de services L’approche à services utilise le concept de service comme bloc de construction d’applications Annuaire de services • Propriétés • Couplage faible • Liaison retardée • Mécanismes • Description • Découverte • Communication ? Client de service Fournisseur de service Hypothèse: Un service est indépendant des autres services et du contexte d’exécution. FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – orchestration de services • Un orchestrateur est un logiciel qui interprète un modèle de procédé pour coordonner l’exécution des services Invo2 Invo1 Invo4 Invo5 Invo3 Client Orchestrateur S1 S2 S3 Sn Fournisseurs Le contrôle est externalisé. Responsabilité de l’orchestrateur. FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – orchestration de services FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – orchestration synthèse • Défauts hérités des workflows • Formalismes de bas niveau d’abstraction. • Couplage fort avec les applications • Supporte un seul type de technologie de services. • Mécanismes de sélection et de liaison mélangés avec le modèle métier. • Pas de support pour les aspects non fonctionnels. • Capacité d’extension limité ou inexistante. FOCAS - Gabriel PEDRAZA FERREIRA
État de l’art – Objectif de la thèse Proposer un canevas dirigée par les modèles pour la construction d’applications orientées procédé ayant : • noyau simple • système d’orchestration de services, • mécanismes d’extension fonctionnelles • mécanismes d’extension non-fonctionnelles • Canevas extensible et adaptable • différents domaines d’application • différents environnements, … Objectif FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
Proposition – FOCAS • FOCAS un canevas permettant la construction d’applications orientées procédés: Functional Extension FOCAS Core (Flexible Orchestration) Non-functional extension Functional Extension Non-functional extension Non-functional extension FOCAS - Gabriel PEDRAZA FERREIRA
Proposition – FOCAS Noyau • FOCAS Noyau : un système d’orchestration de services • Spécification abstraite de l’orchestration • Séparation des préoccupations: contrôle, données et services • Composition de services implémentés en diverses technologies • Liaison et sélection dynamique de services FOCAS - Gabriel PEDRAZA FERREIRA
FOCAS Noyau – une description abstraite • Trois points de vues dans l’orchestration de services • Le contrôle : ordre des invocations et flot de données • Les données : entités à traiter • Les services : traitement des données Invo2 y S2 Invo1 Invo4 Invo5 x Sn Invo3 S1 S3 Chaque point de vue est formalisé en un domaine exécutable FOCAS - Gabriel PEDRAZA FERREIRA
FOCAS Core – Structure d’un domaine Un formalisme utilisé pour exprimer des modèles, i.e. méta-modèle. Méta-modèle du domaine Conforme à Des modèles conformes au méta-modèle et exécutés par l’interpréteur. Modèle de domaine Modèle Exécute Un interpréteur qui opérationnalise la sémantique. Interpréteur de domaine FOCAS - Gabriel PEDRAZA FERREIRA
Domaine du contrôle Ensemble minimal de concepts (Activity, Port, Product, ProductType, Dataflow) Méta-modèle de contrôle Modèle de contrôle Gère le contrôle et le routage des données. Gère le cycle de vie des activités. Maintient l’état du procédé. Interpréteur de contrôle FOCAS - Gabriel PEDRAZA FERREIRA
Domaine des données Typage des données (DataType, SimpleType, ComplexType, Attributes, etc) Méta-modèle de données Modèle de données Création, élimination, modification des données. Versionnement des données. Interpréteur de données FOCAS - Gabriel PEDRAZA FERREIRA
Domaine des services Description des services (Services, Interface, Operation, Properties) Méta-modèle de services publicinterfaceStoreDB { publicbooleansaveData(Averageaverage); } StoreDB Modèle de services Propriétés Protocol = DPWS SAM (Service Abstract Machine) Description, Découverte, Communication Hétérogénéité des technologies à services Interpréteur de services FOCAS - Gabriel PEDRAZA FERREIRA
La composition des domaines Méta-modèle du contrôle Méta-modèle des données méta-lien Conforme à Conforme à Conforme à Modèle de contrôle Modèle de données lien Exécute Exécute Interpréteur de contrôle Interpréteur de données Code de synchronisation FOCAS - Gabriel PEDRAZA FERREIRA
La composition des domaines Méta-modèle du contrôle Méta-modèle des données méta-lien Conforme à Modèle de contrôle Modèle de données lien Exécute Interpréteur du contrôle Interpréteur des données Code de synchronisation FOCAS - Gabriel PEDRAZA FERREIRA
L’orchestration de services dans FOCAS Store File StoreDB Get Temperature Get Humidity Do Average Interpréteur d’orchestration Abstraite Flexible Hétérogène Dynamique DPWS Java WS FOCAS - Gabriel PEDRAZA FERREIRA
FOCAS Noyau - Contribution • Formalismes de bas niveau d’abstraction • Couplage fort avec les applications • Support pour un seul type de technologie des services • Mécanismes de sélection et liaison mélangés avec le modèle métier Description abstraite de l’orchestration Flexibilité de la spécification Hétérogénéité des technologies à services (SAM) Séparation des préoccupations Support des aspects non-fonctionnels Extensibilité de l’orchestration FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
Proposition – Extensions fonctionnelles Workflow Bureautique FOCAS Noyau Applications orientées procédé Extensions Applications à médiation Autres … Objectif étendre le canevas pour supporter la création d’autres applications orientée procédé FOCAS - Gabriel PEDRAZA FERREIRA
Extensions non-fonctionnelles : Ajout d’activités humaines • Dans les applications de Workflow les tâches peuvent être effectuées par des humains. • Dans les applications d’orchestration toutes les tâches sont effectuées par des services automatiques Objectif de l’extension : supporter la réalisation par des humains des tâches d’un procédé FOCAS - Gabriel PEDRAZA FERREIRA
Extension Fonctionnelle – Composition domaines Méta-modèle noyau (orchestration) Méta-modèle ressources méta-lien Conforme à Conforme à Conforme à Modèle d’orchestration Modèle d ’assignation de ressources lien Exécute Exécute Interpréteur d’orchestration Interpréteur de ressources Code de synchronisation FOCAS - Gabriel PEDRAZA FERREIRA
Exemple : Ajout des activités humaines Domaine d’orchestration Domaine de ressources Méta-modèle Modèle FOCAS - Gabriel PEDRAZA FERREIRA
Extension fonctionnelle – Contribution • Le langage (méta-modèle) est étendue tout en gardant les outils de spécification. • Un modèle peut être spécifié en réutilisant les modèles existants. • L’interpréteur des modèles composites est créé en composant les interpréteurs existants. • Réutilisation des interpréteurs. Réutilisation des langages et des éditeurs Compromis entre approche spécifique et générique Séparation des préoccupations Construction d’interpréteurs modulaire FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
Proposition – Extensions non-fonctionnelles Orchestration de services Autres Distribution Gestion de transactions Sécurité Objectif: Proposer un mécanisme permettant le support des aspects non-fonctionnels pour l’orchestration. FOCAS - Gabriel PEDRAZA FERREIRA
Schéma général extension non-fonctionnelle Méta-modèle d’orchestration Méta-modèle aspect non-fonctionnel méta-lien Conforme à Conforme à Conforme à Modèle d’orchestration Annotations (Modèle abstrait) lien Générateur Exécute Interpréteur d’orchestration Bibliothèque support non-fonctionnel Code de tissage FOCAS - Gabriel PEDRAZA FERREIRA
Exemple – L’orchestration sécurisée Domaine d’orchestration Aspect de sécurité Méta-modèle :Authentication :Confidentiality Modèle :Integrity FOCAS - Gabriel PEDRAZA FERREIRA
L’orchestration répartie • Une architecture centralisée • Problèmes de performance • Robustesse de l’application • Passage à l’échelle • Objectifs: • Performance (communication, distribution de la charge, ..) • Souplesse (choix de la répartition au niveau modèle) • Évolutivité (changement de topologie du réseau) • Adaptabilité (différents environnement clients) FOCAS (Nœud 1) FOCAS (Nœud 3) FOCAS Runtime FOCAS (Nœud 2) FOCAS - Gabriel PEDRAZA FERREIRA
L’orchestration Répartie Domaine d’orchestration Aspect de distribution Méta-modèle EdgeServer:Node DBServer:Node Modèle ApplicationServer:Node ApplicationServer:Node FOCAS - Gabriel PEDRAZA FERREIRA
Exemple – L’orchestration Répartie DBServer EdgeServer AppServer AppServer Transformateur IDS DBServer EdgeServer ODS AppServer ODS IDS • Extension non fonctionnelle mais: • Algorithme de partition de modèles • Composants de communication pour supporter la distribution FOCAS - Gabriel PEDRAZA FERREIRA
Extensions non-fonctionnelles - Contribution • Spécification abstraite des propriétés non-fonctionnelles • L’utilisateur peut ne pas être expert des technologies d’implémentation • Séparation entre la partie métier et non fonctionnelle • Différentes annotations pour le même modèle métier • Génération automatique du code de support • Une architecture répartie pour l’orchestration Approche d’annotations de modèles Séparation des préoccupations Adaptation à la technologie d’implémentation FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
Démonstration CADSE-FOCAS CADSE (Computer Aided Domain Specific Engineering environment) FOCAS (Framework for Orchestration, Composition and Aggregation of Services) FOCAS - Gabriel PEDRAZA FERREIRA
PLAN • État de l’art • Les systèmes de workflow • L’orchestration de services • Proposition • FOCAS Noyau • Les extensions fonctionnelles • Les extensions non-fonctionnelles • Mise en œuvre • L’environnement de spécification CADSE-FOCAS • Validation et évaluation • Conclusion et perspectives FOCAS - Gabriel PEDRAZA FERREIRA
Validation et Evaluation • Projet ITEA – S4ALL • Validation de l’approche de base • Project ITEA SODA • Validation d’extension non fonctionnelle: la sécurité de l’orchestration • Évaluation de l’utilisabilité de l’environnement • Approche d’orchestration répartie • Validation d’extension NF : la distribution • Évaluation : Performance de l’exécution répartie FOCAS - Gabriel PEDRAZA FERREIRA
Validation – cas d’utilisation SODA • Cas d’utilisation : système de surveillance • L’application observe les conditions physiques d’une usine et prend des mesures en conséquence • Objectif 1 : valider l’ajout non fonctionnel • Étendre le canevas afin d’introduire l’aspect sécurité dans une orchestration de services • Objectif 2 : valider l’utilisabilité et l’approche générative • Expérience d’ajout de sécurité pour notre cas d’utilisation. FOCAS - Gabriel PEDRAZA FERREIRA
Evaluation Cadse-Focas • Expérience: ajout de la sécurité • 3 scénarios de sécurisation de l’application • 8 développeurs ont réalisé les scénarios 2 fois • 2 experts technologie sécurité ont réalisé les scénarios sans CADSE-FOCAS FOCAS - Gabriel PEDRAZA FERREIRA
Expérience orchestration répartie FOCAS –Nœud 1 FOCAS –Nœud 2 S1 S2 S3 S4 Objectif: Réduire le temps de communication de l’orchestration Moyen: Déplacer des fragments vers le nœud où les services sont locaux FOCAS - Gabriel PEDRAZA FERREIRA
Expérience orchestration répartie FOCAS –Nœud 2 FOCAS –Nœud 3 FOCAS –Nœud 1 Objectif: Réduire le temps d’exécution d’une orchestration parallèle Moyen: Exécuter chaque branche dans un nœud différent FOCAS - Gabriel PEDRAZA FERREIRA