La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France."— Transcription de la présentation:

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

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

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 lespace, 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 dapplication co-ingénierie et/ou co-conception

4 Workflow Représentation formelle dun procédé composé dun 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 dadaptation 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 dun groupe pour atteindre un but commun. Objectif: Permettre loptimisation et lautomatisation des procédés.

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.

6 Phases du Workflow Analyse du procédé Conception et Définition du procédé Définition du procédé Instantiation et contrôle du procédé Service dexécution du Workflow Outils et applications Interaction avec les utilisateurs et les applications

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.

8 Editer Corriger Editer Fusionner Editer Relire Corriger Commenter L exécution contrôlée par le système (affectation automatique des tâches, surveillance et journalisation de létat dexécution) Pas de support pour la coopération à travers les données partagées Modèle de Workflow traditionnel

9 Modèle de Workflow coopératif Modèle de description traditionnel, modèle dexécution modifié: Flexibilité de lexé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)

10 Edition Modification Edition Revue Modification Edition Revue Modification... Procédé Exécution (1) (2) Anticipating Anticipable Executing Flexibilité de lexécution Activité passe à létat anticipable Utilisateur choisit quand il veut la démarrer. Elle doit passer par l état executing Revue

11 Flexibilité de léchange de données non-structuré structuré Centré donnéesCentré 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

12 Objectives Workflow coopératif La coordination explicite nécessite la définition formelle dun 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.

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

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 dun moteur de Workflow centré sur la plate-forme J2EE ( Java TM 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 lenvironnent 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

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…

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 quils doivent respecter avec le serveur dapplication.

17 Architecture dun application J2EE

18 Pourquoi J2EE? Composants distribués et serveurs dapplications. Simplifie la complexité dans le développement dapplications ntiers. API standard pour les composants et le serveurs dapplications (contracte entre application server container et les composants EJB). Framework pour composants portables et réutilisables.

19 Serveur dapplications JBoss Utilisation du serveur dapplications JBoss comme implémentation J2EE: Server container pour les EJBs andWeb container pour les servlets/JSP (intégration de Tomcat ou Jetty). Open source (GNU Lesser General Public License). Supporte Hot deployment.

20 Serveur dapplications JBoss JBossMX: noyau de larchitecture JBoss qui implémente la technologie JMX (Java Management Extensions). Spécification Sun de Gestion et Instrumentation. Ajoute une interface de pilotage/interrogation autour dun service. Apporte modularité à lapplication. Les composants JBoss existants peuvent être remplacés par des autres JMX.

21 21 Système Flexible de Workflow (SFW) Noyau et engine dexé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.

22 Système Flexible de Workflow (Version 1) Aperçu de larchitecture qui compose le noyau du moteur Workflow Client Session EJB Project ValueObject Création de lobjet Entity EJB Project CoarseGrained Object Project Node Dependence Object Entity EJB User Session EJB User ValueObject Création de lobjet Data Acces Object Project Data Acces Object User Edge Dependence Object Session dutilisateur Objet prioritaireDonnées persistantes Patterns de la plate-forme J2EE: Aggregate, ValueObject, SessionFacade, ServiceLocator, DataAccesObject…

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 davancement dun 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. …

24 Système Flexible de Workflow (Version 1) Limites de cette version: Gestion de persistance très complexe avec EJB 1.1 Relations entre EJBs Bean Managed Persistence (BMP) diminuent la performance du système. Relations entre les objets dépendantes et le ProjectEJB difficile à gérer. Modèle dutilisateur primaire dans la version actuelle.

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 EJBs. Nouvelle version de loutil de définition des procédés avec la dernier version de la librairie jgraph (http://www.jgraph.com).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.

26 Système Flexible de Workflow (Version 2) Enterprise JavaBean TM 2.0 Specification dans le SFW. Tout les EJBs du système sont CMP (Container-Managed Persistence). Utilisation des interfaces locales pour les relations entre EJBs et les applications web. Notification Message-Driven Bean. Création automatique de Value Objects pour filtrer linformation accessible à lutilisateur. Enterprise JavaBeans Query Language pour la définition de requêtes.

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 daccès). Définitions des relations entre EJBs persistantes. Construction de Value Objects à partir des attributs sélectionnés. Création des ressources pour JBoss.

28 Architecture du Système de Workflow Workflow information Hero Database MySQL Postgres … Server-Side Data Access Logic Server-Side Business Logic Struts Server-Side Presentation Client-Side Presentation Java Web Start application GraphEditor application Browser

29 Applications SFW Définition des procédés Conception et modélisation des procédés traités par le moteur dexécution. Définition des structures, des activités, des connexions entre les activités, des utilisateurs, des rôles, des conditions… Control dexécution Affiche les activités concernant lutilisateur. Constituée par trois composants: Project List : Projets auxquels participe lutilisateur. ToDo List : Activités qui sont dans létat ready ou anticipable. Activity List: Activités qui sont dans létat executing ou anticipating.

30 30 Applications SFW GraphEditor application. Avec le GraphEditor, les utilisateurs dun projet peuvent définir de nouvelles activités, effacer des activités existantes, définir linterconnexion entre les activités, obtenir des informations du projet, visualiser lexécution des activités… Obtenir la liste dusuraires dun 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 dun procédé dans un fichier jpeg, jpg ou vrml.

31 Applications SFW Worklist dutilisateur. Changements détats observés lors de lexécution dun projet par un utilisateur

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

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

34 Toxic Farm Home Page (http://woinville.loria.fr)

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 dinformation des procédés.

36 Architecture de lintegration Soap call HTTP Request sent to SOAP server HTTP Response from SOAP server HTTP Encoding/ Decoding SOAP Serialization/ De-serialization SOAP Package XML Method Call RMI HTTP View generation XML Workspace Parser Bonita Struts Framework Web Server Toxic Farm Server Toxic Farm Web Service API (XML/SOAP)

37 37 Bonita Interface avec la Toxic Farm Page daccueil et pages utilisateur. Description basique des différents projets existants dans le système. Accès à la page personnelle de lutilisateur. Création dun nouveau compte utilisateur dans le SFW.

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.

39 Bonita Interface avec la Toxic Farm Configuration des projets. Administrer la liste des utilisateurs qui participent à la définition et exécution dun projet. Création et modification des actions (hooks) et des propriétés.

40 Bonita Interface avec la Toxic Farm Visualisation de la Worklist. Page personnelle dun 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 dexécution.

41 Bonita Interface avec la Toxic Farm Description de lactivité node1 du projet clone. Activité susceptible dêtre exécuté.

42 Bonita Interface avec la Toxic Farm Activité node1 dans le SFW. Workspace associé dans Toxic

43 Bonita Interface avec la Toxic Farm Workspace à la fin de lactivité. Si lutilisateur décide de commiter le Workspace: publication de résultats intermédiaires. Si lutilisateur décide de terminer lactivité: évaluation des conditions de terminaison.

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…

45 Système Flexible de Workflow Merci de votre attention.


Télécharger ppt "Système Flexible de Workflow (SFW) Miguel Valdés Faura Ingénieur associé ECOO Team LORIA/INRIA France."

Présentations similaires


Annonces Google