openfexo -...

51
Openfexo: une plate-forme dédiée à la modélisation multi-facettes Sylvain Guérin [email protected]

Upload: doanlien

Post on 27-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Openfexo:une plate-forme dédiée à la modélisation

multi-facettes

Sylvain Gué[email protected]

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

5/51

Une conduite du changement participative avec Openflexo

Un modèle et une vision partagés

6/51

Une conduite du changement participative avec Openflexo

Un modèle et une vision partagés

7/51

Une conduite du changement participative avec Openflexo

Un modèle et une vision partagés

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

11/51

Editeur de workflow Openflexo

12/51

Editeur de workflow Openflexo

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”)

14/51

Editeur de workflow Openflexo

15/51

Editeur d'écrans Openflexo

16/51

Editeur d'écrans Openflexo

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

18/51

Editeur de modèle de données Openflexo

19/51

Editeur de modèle de données Openflexo

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

21/51

Editeur de modèle de données Openflexo

22/51

Openflexo server

23/51

Générateur de code Openflexo

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

26/51

Générateur de code Openflexo

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)

28/51

Générateur de documentation Openflexo

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)

30/51

Générateur de documentation Openflexo

31/51

Editeur multi-facettes Openflexo

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

33/51

Editeur multi-facettes Openflexo

BPMN 2.0

34/51

Editeur multi-facettes Openflexo

BPMN 2.0

35/51

Editeur multi-facettes Openflexo

BPMN 2.0

36/51

Editeur multi-facettes Openflexo

BPMN 2.0

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

39/51

Editeur de vue Openflexo

40/51

Editeur de vues Openflexo

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...

44/51

Chaine de production des livrables Openflexo

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

• ...

46/51

Transformations

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

• .... ?

48/51

Openflexo Mission Packages

Model Driven Business Service Delivery

49/51

Openflexo Mission Packages

50/51

Example: Climact.com Openflexo Mission Package

From Open Framework

to Openfexo Mission Package

Standardization Expertise

51/51

Démo