Post on 27-Oct-2018
transcript
Openfexo:une plate-forme dédiée à la modélisation
multi-facettes
Sylvain Guérinsylvain.guerin@agilebirds.com
2/51
Petit historique...
5 années de développement sur un projet interne: fexo, outil de modélisation et d'aide au prototypage
Approche orientée métier, “bottom-up”, participative
Nombreux succès dans nos missions auprès de grands comptes, ING, Belgacom, Fortis BNP, Swift, Electrabel...
Version commerciale FlexoBPM
Gartner’s BPM Cool Vendor 2009
Approche SaaS avec une version Server
Naissance du projet opensource Openfexo en septembre 2011
3/51
Une conduite du changement réussie: rénover une maison
Un architecte redessine la maison existante
Itérations:
• Chacun utilise les plans redessinés pour déplacer des murs, des cloisons, détruire ou ajouter de nouvelles parties
• Tout le monde visualise et discute des changements
On arrive à un accord global
On démarre les travaux de rénovation
4/51
Une conduite du changement réussie
Est intrinsèquement participative
Repose sur les forces internes de l'entreprise et leurs relations fonctionnelles
Nécessite de partager la vision métier de l'entreprise et de son évolution
Doit défnir les objectifs et les communiquer
Apporte rapidement des résultats visibles par des itérations multiples qui génèrent des livrables exploitables par tous
Responsabilise les individus qui s'approprient les processus et se proposent de les modifer et de les améliorer
8/51
Une approche agile pour la conduite du changement
Orienté utilisateurs et métiers
• Capture d'information (modèles et vues adaptés)
• Génération de livrables adaptés aux métiers, avec les outils qu'utilisent les gens des métiers (suite offce, word, ppt, visio)
• Génération de prototypes complètement fonctionnels, testables immédiatement
Coordonner tous les acteurs par l'intermédiaire d'une vision partagée
Modèle multi-facette commun s'enrichissant à chaque itération
Openfexo
9/51
Openflexo est maintenant un projet Opensource
BNP Paribas Fortis
Exemples de projets sous Openfexo:
Sources et exécutable sur: www.openfexo.com
Technologie reconnue: Gartner’s BPM Cool Vendor 2009
Diffusion large, pas de barrière à l'entrée
Ecosystème d'utilisateurs, de partenaires, d'intégrateurs
Atteindre une base de développeurs importante
Se rémunérer sur le contenu et les services
Pourquoi Open-source ?
10/51
Le modèle opérationel Openflexo
Au coeur de la modélisation Openfexo, un modèle de workfow
• Compatible BPMN
• Basée sur une logique d'exécution type “Réseaux de Pétri”
• Un modèle en 3 couches
Un modèle d'interfaces graphiques
Des modèles de données
Connexion à des services externalisés (WebServices)
Un modèle opérationel et conçu pour être exécutable
13/51
Editeur de workflow Openflexo
Compatible BPMN
Logique d'exécution type “Réseaux de Petri”
Interprocéduralité des processus: notion de sous-processus, réutilisabilité de processus
Communication entre processus via des messages
Un modèle en trois couches
• Couche “Activité”: niveau BPMN
• Couche “Opération”: décomposition d'une activité en opérations, accrochage d'écrans (GUI)
• Couche “Action”: décomposition d'une opération en actions (actions élémentaires de type “bouton dans un écran”)
17/51
Editeur d'écrans Openflexo
Un écran est associé à une opération dans le workfow
Approche “Bottom-up”: les utilisateurs du système commencent par dessiner leurs propres écrans
Nombreux widgets réutilisables et connectés au modèle de données (bindings)
Réutilisabilité des composants
Abstraction du modèle de composants
20/51
Editeur de modèle de données Openflexo
Notion d'entités, de propriétés et de relations
Indépendance vis-à-vis du langage
Typage “laxiste”
Héritage simple
Très grande abstraction: on adresse la vision “métier”
On essaie de ne tenir aucun compte des exigences du modèle de données qu'un programmeur pourrait exiger
24/51
Générateur de code Openflexo
Double orientation:
• Orienté “métier” et utilisateurs
• Un seul bouton pour générer et déployer un .war
• Mode S.a.a.S: OpenFlexo Server
• Orienté développeurs
• Extensible et confgurable
• Conçu pour être utilisé au cours d'un cycle de développement (Ingénierie Dirigée par le Modèle)
25/51
Générateur de code Openflexo
Extensible et très confgurable
• Tous les templates sont éditables et peuvent être redéfnis à la volée pour une cible particulière
Conçu pour faire de la génération itérative à partir d'un modèle d'implémentation
• Gestion en continu du statut de chaque fchier
• Génération “à la volée” pendant l'édition du modèle
• Support pour le round-trip textuel
• Gestion intégrée des “diffs” et des “merges”
Gestion de la “réinjection dans le modèle” (java)
Support intégré pour le versionning
27/51
En cours de développement...
Un nouveau générateur de code plus confgurable et permettant d'adresser n'importe quelle technologie
=> Modèle d'implémentation et modules technologiques (plug-in)
29/51
Générateur de documentation Openflexo
Générateur de documentation très extensible et confgurable
Templates éditables et redéfnissables
Formats utilisés par le grand public
• TEX, PDF
• MS/Word (docx)
• En développement: MS/PowerPoint (pptx)
Round-trip
Réinjection dans le modèle (MS/Word)
32/51
Editeur multi-facettes Openflexo
Limite de l'approche: comment adresser des problématiques métier diverses ? Comment capturer l'expertise des vrais acteurs des processus ?
• Standards BPMN, UML, SysML, etc... peu parlants pour beaucoup
• Pb de l'utilisation d'une nouvelle plate-forme de modélisation par rapport aux outils classiques utilisés (word, visio)
• Frustation de ne pas pouvoir s'exprimer dans le language et le formalisme du domaine
37/51
Editeur multi-facettes Openflexo
Une couche ontologique au dessus du modèle opérationel
• Descriptions formelles dotées d'une sémantique adaptée au domaine
• Technologie OWL
Manipulation de ces concepts via des éditeurs graphiques multi-facette: notion de vue
Un langage et des éditeurs dédiés dans le formalisme reconnu par la communauté métier ciblée
38/51
Notion de vue
Représentation visuelle de données métier (fondée sur un graphe de concepts, cf ontologie)
Instanciation et manipulation de ces données via des actions simples (drag & drop, etc...)
Multiples vues inter-dépendantes
41/51
Notion de point de vue
Openfexo permet de défnir ses propres points de vue
Point de vue :
• Relier formellement des concepts tirés d'ontologies diverses à des règles de manipulation graphique
• Pouvoir éditer n'importe quel méta-modèle avec un éditeur graphique
Extensibilité infnie des éditeurs: un language universel de manipulation et de représentation d'ontologies
42/51
Notion de point de vue
Editer graphiquement et manipuler formellement des ontologies
Relier des concepts ontologiques à des éléments du modèle opérationel: apporter n'importe quelle sémantique métier au sein du modèle opérationel Openfexo
Relier des concepts ontologiques divers et tirés de méta-modèles distincts
43/51
Editeur multi-facettes Openflexo
Openfexo se positionne à la fois comme un éditeur et un méta-éditeur de contenu
• Une communauté utilisateurs
• Une communauté d'analystes, de consultants et d'experts qui peuvent s'outiller en produisant des points de vues
Communautés et standards ciblés
• SKOS, UML / SysML
• TOGAF, Archimate
• COBIT, COSO, ITIL, etc...
• Des partenaires privés souhaitant acquérir un outillage méthodologique (bilan carbone, gestion du risque...)
• Des consultants indépendants...
45/51
Transformations
En cours de développement...
Formaliser des transformations de modèle à haut niveau
• Générer une vue ontologique à partir d'une autre
• Processus de raffnement
• Outillage de méthodologies d'analyse
• Défnir formellement la construction d'un modèle opérationel et exécutable à partir de diverses vues métier
• ...
47/51
Pistes de réflexion...
Openfexo pour outiller des problématiques
• de model mapping (transformation de modèles d'un formalisme à un autre)
• d'alignement d'ontologies
• .... ?
50/51
Example: Climact.com Openflexo Mission Package
From Open Framework
to Openfexo Mission Package
Standardization Expertise