système flexible de workflow (sfw) miguel valdés faura ingénieur associé ecoo team loria/inria...

45
Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

Upload: barthelmy-leloup

Post on 03-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

Système Flexible de Workflow

(SFW)

Miguel Valdés FauraIngénieur associé

ECOO TeamLORIA/INRIAFrance

Page 2: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 2

Plan

Contexte et problematique Workflow Traditionnel Workflow Coopératif

Système Flexible de Workflow (SFW) Cadre de nos travaux Introduction J2EE SFW version1 SFW version2 Architecture du Système Flexible de Workflow. Applications SFW

Intégration dans une plate-forme de coopération

Page 3: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 3

Contexte Coordination des équipes distribuées Equipe distribuée

groupe de personnes qui interagissent à travers des taches interdépendantes, guidées par un objectif commun

distribuées à travers l’espace, le temps et les organisations, et utilisant un support informatique

Moteur de Workflow qui facilite la coordination entre les participants à un projet coopératif.

Domaine d’application co-ingénierie et/ou co-conception

Page 4: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 4

Workflow

Représentation formelle d’un procédé composé d’un ensemble de sub-procédés et d ’activités élémentaires organisés dans un graphe orienté.

Motivations: Gains de productions de plus en plus difficile dans les procédés industriels. Besoin d’adaptation de plus en plus rapide au changement.

Procédés : “Tout ensemble de tâches exécutées en parallèle ou en série par au moins deux membres d’un groupe pour atteindre un but commun”.

Objectif: Permettre l’optimisation et l’automatisation des procédés.

Page 5: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 5

Workflow

Logiciels de WorkFlow : “Ensemble de logiciels pro-actifs qui permettent de gérer les procédés de travail, de coordonner les charges et les ressources et de superviser le déroulement des tâches”

Types de workflow Workflow de production.

Workflow administratif.

Workflow ad-hoc.

Workflow coopératif.

Page 6: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 6

Phases du Workflow

Analyse du procédéAnalyse du procédéConception et Conception et Définition du Définition du procédé procédé

Définition du procédéDéfinition du procédéInstantiation etInstantiation etcontrôle ducontrôle duprocédéprocédé

Service d’exécution du WorkflowService d’exécution du Workflow

Outils et applicationsOutils et applications

Interaction avec les Interaction avec les utilisateurs et les utilisateurs et les applicationsapplications

Page 7: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 7

Modèle de Workflow traditionnel

Modélisation et exécution des procédés administratifs et de production.

Langage graphique de description de procédés. Interface de control de taches simple. Modèle trop rigide:

Difficulté à gérer les cas particuliers et les exceptions. Inadaptations à supporter les interactions coopératives. Dépendances entre activités du type fin-démarrage. Exécution strictement séquentielle.

Page 8: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 8

EditerEditer

CorrigerCorriger

EditerEditer

FusionnerFusionner

EditerEditer

RelireRelire

CorrigerCorriger

CommenterCommenter

L ’exécution contrôlée par le système (affectation automatique des tâches, surveillance et journalisation de l’état d’exécution)

Pas de support pour la coopération à travers les données partagées

Modèle de Workflow traditionnel

Page 9: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 9

Modèle de Workflow coopératif

Modèle de description traditionnel, modèle d’exécution modifié: Flexibilité de l’exécution

Anticipation des activités (réduction de contraintes initiales pour exécuter une activité)

Flexibilité de l’échange de données Les activités coopératives ne peuvent pas être exécutées

comme des boites noires atomiques. Intégrer le support pour la coopération (à travers des données

partagées)

Page 10: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 10

Edition Modification

Edition Revue Modification

Edition Revue

Modification

...

Procédé

Exécution

(1)

(2) Anticipating

Anticipable

Executing

Flexibilité de l’exécution

Activité passe à l’état anticipable Utilisateur choisit quand il veut la démarrer. Elle doit passer par l ’état executing

Revue

Page 11: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 11

Flexibilité de l’échange de données

non-structuré

structuré

Centré données Centré procédé

Espaces partagés

Workflow de production

Workflow

coopératif

Définition, exécution et évolution des procédés coopératifs Flexibilité (parties structurées et non-structurées)

Intégrer le support pour la coopération

Page 12: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 12

Objectives Workflow coopératif

La coordination explicite nécessite la définition formelle d’un procédé.

Activités à mener par les participants décrites explicitement. Dépendances entres ces activités, données manipulées et échangées

entre ces activités décrites également.

Le modèle et le système doivent répondre à des exigences particulières pour être acceptés par les utilisateurs.

Modèle flexible et simple qui assiste aux utilisateurs pour le contrôle et exécution des activités.

Page 13: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 13

Plan

Contexte et problematique Workflow Traditionnel Workflow Coopératif

Système Flexible de Workflow (SFW) Cadre de nos travaux Introduction J2EE SFW version 1 SFW version 2 Architecture du Système Flexible de Workflow. Applications SFW

Intégration dans une plate-forme de coopération

Page 14: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 14

Cadre de nos travaux

Système de Workflow adapté au travail coopératif et intégré dans une plate-forme de coopération:

Développement d’un moteur de Workflow centré sur la plate-forme J2EE (JavaTM 2 Platform, Enterprise Edition).

Développement des outils de définition, modification et contrôle de procédés par des utilisateurs.

Interface Web pour l’environnent adaptable à différents contextes qui permet la gestion des projets.

Intégration du Système Flexible de Workflow dans la plate-forme de coopération ToxicFarm

Page 15: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 15

J2EE

Infrastructure de gestion des applications. API des services utilisées pour concevoir ces applications. Définit une architecture standard incluant:

Un modèle de programmation (application multi-tiers, client légers)

Un plate-forme (ensemble de spécifications et de politiques requises)

Une ensemble de test de compatibilité Une implantation de référence. Différent services: connexions aux bases de données, la

messagerie, les transactions…

Page 16: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 16

Plate-forme J2EE

JNDI : extension JAVA standard qui fournit une API uniforme permettant d'accéder à divers services de noms et de répertoires.

Authentification : en se basant sur les concepts d'utilisateurs, de domaines et de groupes.

JDBC : Java Database Connectivity est une API qui permet aux programmes Java d'interagir avec les bases de données SQL.

Servlet : composant coté serveur, écrit en Java, dont le rôle est de fournir une trame générale pour l'implémentation de paradigmes " requête-réponse "

JSP : extension de la notion de servlet permettant de simplifier la génération de pages web dynamiques

JMS : API permettant de construire des messages pour transmettre des données. JTA : interfaces standards entre un gestionnaire de transactions et les éléments

impliqués dans celles-ci EJB: définit la façon dont les composants doivent être écrits et le contrat qu’ils

doivent respecter avec le serveur d’application.

Page 17: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 17

Architecture d’un application J2EE

Page 18: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 18

Pourquoi J2EE?

Composants distribués et serveurs d’applications. Simplifie la complexité dans le développement

d’applications ntiers. API standard pour les composants et le serveurs

d’applications (contracte entre application server container et les composants EJB™).

Framework pour composants portables et réutilisables.

Page 19: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 19

Serveur d’applications JBoss

Utilisation du serveur d’applications JBoss comme implémentation J2EE: ‘Server container’ pour les EJB’s and‘Web container’ pour les

servlets/JSP (intégration de Tomcat ou Jetty). Open source (GNU Lesser General Public License). Supporte ‘Hot deployment’.

Page 20: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 20

Serveur d’applications JBoss

JBossMX: noyau de l’architecture JBoss qui implémente la technologie JMX (Java Management Extensions). Spécification Sun de Gestion et Instrumentation. Ajoute une interface de pilotage/interrogation autour d’un

service. Apporte modularité à l’application. Les composants JBoss existants peuvent être remplacés par des

autres JMX.

Page 21: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 21

Système Flexible de Workflow (SFW)

Noyau et engine d’exécution du système de Workflow

Système d’évènements pour notifier aux utilisateurs.MyQql, Postgress

Interface Web basé sur Struts et JSP

Autorisation des utilisateurs avec JAAS (Java Authentication and Authorization Service).

Architecture de composants dans JBoss:

Deux versions du Système Flexible de Workflow: Système de Workflow avec JBoss 2.x et EJB 1.1 Système de Workflow avec JBoss 3.x, EJB 2.0 et Xdoclet.

Page 22: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 22

Système Flexible de Workflow (Version 1)

Aperçu de l’architecture qui compose le noyau du moteur Workflow

Client

Session EJBProject

ProjectValueObject

Création de l’objet

Entity EJBProject

CoarseGrainedObject Project

NodeDependence

Object

Entity EJBUser

Session EJBUser

UserValueObject

Création de l’objet

Data Acces ObjectProject

Data Acces ObjectUser

EdgeDependence

Object

Session d’utilisateur

Objet prioritaireDonnées persistantes

Patterns de la plate-forme J2EE: Aggregate, ValueObject, SessionFacade, ServiceLocator, DataAccesObject…

Page 23: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 23

Système Flexible de Workflow (Version 1)

Services du Système Flexible de Workflow Interface SOAP (Simple Object Acces Protocol). Manager application pour permettre le contrôle de procédés par

des utilisateurs. GraphEditor application pour permettre la définition, la

modification dynamique et le suivi d’avancement d’un procédé.. Comportement des nœuds adapté par un système de hooks. Interface pour le déploiement des applications en utilisant Java

Web Start. …

Page 24: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 24

Système Flexible de Workflow (Version 1)

Limites de cette version: Gestion de persistance très complexe avec EJB 1.1 Relations entre EJB’s Bean Managed Persistence (BMP) diminuent

la performance du système. Relations entre les objets dépendantes et le ProjectEJB difficile à

gérer. Modèle d’utilisateur primaire dans la version actuelle.

Page 25: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 25

Système Flexible de Workflow (Version 2)

Système de Workflow avec JBoss 3.x et EJB 2.0

Portage du noyau du moteur Workflow pour profiter des avantages de la nouvelle specification EJB.

Utilisation de xdoclet pour la génération automatique des différents EJB’s.

Nouvelle version de l’outil de définition des procédés avec la dernier version de la librairie jgraph (http://www.jgraph.com).

Intégration des événements du Workflow avec différents composants groupware : messagerie instantanée, courrier électronique.

Publication des services Soap avec le module JBoss-net.

Page 26: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 26

Système Flexible de Workflow (Version 2)

Enterprise JavaBeanTM 2.0 Specification dans le SFW.

Tout les EJB’s du système sont CMP (Container-Managed Persistence).

Utilisation des interfaces locales pour les relations entre EJB’s et les applications web.

Notification Message-Driven Bean.

Création automatique de Value Objects pour filtrer l’information accessible à l’utilisateur.

Enterprise JavaBeans Query Language pour la définition de requêtes.

Page 27: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 27

Système Flexible de Workflow (Version 2)

Xdoclet Code generation Engine dans le SFW.

Génération automatique de toutes les interfaces EJB et les fichiers descripteurs.

Configuration de sécurité du système (droits d’accès).

Définitions des relations entre EJB’s persistantes.

Construction de Value Objects à partir des attributs sélectionnés.

Création des ressources pour JBoss.

Page 28: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 28

Architecture du Système de Workflow

Workflow information

Hero Database

MySQL

Postgres

Server-Side Data Access Logic

Server-Side Business Logic

Struts

Server-SidePresentation

Client-SidePresentation

Java Web Start application

GraphEditor application

Browser

Page 29: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 29

Applications SFW

Définition des procédés Conception et modélisation des procédés traités par le moteur

d’exécution. Définition des structures, des activités, des connexions entre les

activités, des utilisateurs, des rôles, des conditions…

Control d’exécution Affiche les activités concernant l’utilisateur. Constituée par trois composants:

Project List : Projets auxquels participe l’utilisateur. ToDo List : Activités qui sont dans l’état ready ou anticipable. Activity List: Activités qui sont dans l’état executing ou anticipating.

Page 30: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 30

Applications SFW

GraphEditor application.

Avec le GraphEditor, les utilisateurs d’un projet peuvent définir de nouvelles activités, effacer des activités existantes, définir l’interconnexion entre les activités, obtenir des informations du projet, visualiser l’exécution des activités…Obtenir la liste d’usuraires d’un projet ainsi

que les rôles de chaque utilisateur.

Créer un nouveau projet par importation des procédés existants.Exporter la représentation d’un procédé dans un fichier jpeg, jpg ou vrml.

Page 31: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 31

Applications SFW

Worklist d’utilisateur.

Changements d’états observés lors de l’exécution d’un projet par un utilisateur

Page 32: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 32

Plan

Contexte et problematique Workflow Traditionnel Workflow Coopératif

Système Flexible de Workflow (SFW) Cadre de nos travaux Introduction J2EE SFW version 1 SFW version 2 Architecture du Système Flexible de Workflow. Applications SFW

Intégration dans une plate-forme de coopération

Page 33: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 33

Intégration avec une plate-forme de coopération

Plate-forme Toxic Farm: Environnent dédié aux projets coopératives asynchrones. Différents fonctionnalités dans une interface commune: outils de

partage des données, de coordination, de communication et de conscience de groupe.

Création d’un repository commun pour chaque projet et possibilité de plusieurs Workspaces pour permettre aux utilisateurs de travailler isolés (comme avec CVS).

Le Workspace est dans le serveur Toxic. Outil de synchronisation du Workspace.

Page 34: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 34

Toxic Farm

Home Page (http://woinville.loria.fr)

Page 35: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 35

Bonita Interface

Interface Web du Système Flexible de Workflow. Interface développée avec le Framework Struts (Jakarta

Project) et basée sur le modèle MVC (Model View Controller):

Model constitué par Enterprise Java Beans Controller constitué par Servlets et des fichiers XML View constitué par des pages JSP et des composants de présentation.

Exécution, modification, actualisation des différents projets. Visualisation d’information des procédés.

Page 36: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 36

Architecture de l’integration

HTTP Request sent to SOAP server

HTTP Response from SOAP server

HTTPEncoding/Decoding

SOAPSerialization/

De-serialization

SOAP PackageXML

Method Call

RMI

HTTPView

generationXML Workspace

Parser

Bonita Struts Framework

Web Server

Toxic Farm

Server

Toxic Farm Web

Service API

(XML/SOAP)

Page 37: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 37

Bonita Interface avec la Toxic Farm Page d’accueil et pages utilisateur.

Description basique des différents projets existants dans le système.

Accès à la page personnelle de l’utilisateur.

Création d’un nouveau compte utilisateur dans le SFW.

Page 38: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 38

Bonita Interface avec la Toxic Farm Information des projets.

Visualisation des activités qui composent un projet et des relations entre celles-ci.

Création des nouvelles activités et connexions.

Page 39: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 39

Bonita Interface avec la Toxic Farm Configuration des projets.

Administrer la liste des utilisateurs qui participent à la définition et exécution d’un projet.

Création et modification des actions (hooks) et des propriétés.

Page 40: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 40

Bonita Interface avec la Toxic Farm Visualisation de la Worklist.

Page personnelle d’un utilisateur dans le SFW. On peut observer les projets dans les quels il participe et les listes d ’activités.

On peut cliquer sur une des activités pour accéder à sa page de description et control d’exécution.

Page 41: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 41

Bonita Interface avec la Toxic Farm Description de l’activité node1 du projet clone.

Activité susceptible d’être exécuté.

Page 42: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 42

Bonita Interface avec la Toxic Farm

Activité node1 dans le SFW. Workspace associé dans Toxic

Page 43: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 43

Bonita Interface avec la Toxic Farm

Workspace à la fin de l’activité.

Si l’utilisateur décide de commiter le Workspace: publication de résultats intermédiaires.

Si l’utilisateur décide de terminer l’activité: évaluation des conditions de terminaison.

Page 44: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 44

Conclusions

Moteur de Workflow qui facilite la coordination entre les participants à un projet coopératif.

Support à la coordination explicite, flexibilité.

Version générique du SFW disponible sur sourceforge et ToxicFarm.

Intégration dans la plate-forme de coopération ToxicFarm.

Relations avec France Telecom, KAPPA…

Page 45: Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France

[email protected] 45

Système Flexible de Workflow

Merci de votre attention.