Système Flexible de Workflow (SFW)

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
SITools Présentation de l’outil (1/2)
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Serveurs web pour JSP et Servlets
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Julien HERON.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Le développement d’applications sous Lotus Notes
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Le Workflow et ses outils
Utilisation des modulettes informatiques et manuelles
Active Directory Windows 2003 Server
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Introduction au Génie Logiciel
Module 1 : Préparation de l'administration d'un serveur
JAVASERVER FACES Un framework Java pour le développement Web.
Sommaire Objectif de Peakup Principes de fonctionnement
Projet JAVA EE Approfondi
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Services fournis par le SI et technologies associées
BitDefender Enterprise Manager. BitDefender Enterprise Manager – protection centralisée pour votre réseau Principales fonctions Fonctions spéciales (WMI)
Développement d’un réseau social professionnel
Crystal Reports COPYRIGHT © 2007 BUSINESS OBJECTS SA. TOUS DROITS RÉSERVÉS. DIAPOSITIVE 2 Informatique - Déclaration de positionnement Crystal Reports.
Soutenance de stage de fin d’études
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024.
Le portail web netUniversité
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
GESTION DE COMPOSANTS ELECTRONIQUES
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
© WYNIWYG / Communication, reproduction interdite sauf autorisation.
Struts.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
L’enseignement de spécialité SLAM
Conférence Témoignages métiers- Supinfo Nantes  Création en 1979  CA de 150 Millions €  Présence nationale et internationale  2300 personnes en France.
Initiation à Oracle Server
Rapport de Stage : Les Web Services ou la communication
Support de l’activité coopérative dans un cadre mobile
Introduction aux outils de supervision
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
TP D’UML Groupe N° 3.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Applications distribuées Introduction Jean-Jacques LE COZ.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Système flexible de Workflow pour la plate-forme Motu
Transcription de la présentation:

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

Plan Contexte et problematique Système Flexible de Workflow (SFW) 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 valdes@loria.fr

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 valdes@loria.fr

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é. 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”. 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. Objectif: Permettre l’optimisation et l’automatisation des procédés. valdes@loria.fr

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. valdes@loria.fr

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 d’exécution du Workflow Outils et applications Interaction avec les utilisateurs et les applications valdes@loria.fr

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. valdes@loria.fr

Modèle de Workflow traditionnel Editer Corriger Editer Fusionner Commenter Relire Corriger Editer 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 valdes@loria.fr

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) valdes@loria.fr

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 Procédé Edition Revue Modification ... Exécution (1) Edition Revue Modification Anticipable Edition (2) Revue Anticipating Modification Executing valdes@loria.fr

Flexibilité de l’échange de données 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 Workflow de production structuré Workflow coopératif Espaces partagés non-structuré Centré données Centré procédé valdes@loria.fr

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. valdes@loria.fr

Plan Contexte et problematique Système Flexible de Workflow (SFW) 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 valdes@loria.fr

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 valdes@loria.fr

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… valdes@loria.fr

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. valdes@loria.fr

Architecture d’un application J2EE valdes@loria.fr

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. valdes@loria.fr

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’. valdes@loria.fr

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. valdes@loria.fr

Système Flexible de Workflow (SFW) Architecture de composants dans JBoss: Autorisation des utilisateurs avec JAAS (Java Authentication and Authorization Service). Noyau et engine d’exécution du système de Workflow MyQql, Postgress Interface Web basé sur Struts et JSP Système d’évènements pour notifier aux utilisateurs. 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.

Système Flexible de Workflow (Version 1) Aperçu de l’architecture qui compose le noyau du moteur Workflow Patterns de la plate-forme J2EE: Aggregate, ValueObject, SessionFacade, ServiceLocator, DataAccesObject… Client Session EJB Project ValueObject Création de l’objet Entity EJB CoarseGrained Object Project Node Dependence Object User Data Acces Object Edge Session d’utilisateur Objet prioritaire Données persistantes valdes@loria.fr

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. … valdes@loria.fr

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. valdes@loria.fr

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. valdes@loria.fr

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. valdes@loria.fr

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. valdes@loria.fr

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

Applications SFW Définition des procédés Control d’exécution 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. valdes@loria.fr

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.

Applications SFW Worklist d’utilisateur. valdes@loria.fr Changements d’états observés lors de l’exécution d’un projet par un utilisateur valdes@loria.fr

Plan Contexte et problematique Système Flexible de Workflow (SFW) 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 valdes@loria.fr

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. valdes@loria.fr

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

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. valdes@loria.fr

Bonita Struts Framework Soap call Architecture de l’integration HTTP Request sent to SOAP server HTTP Response from SOAP server HTTP Encoding/ Decoding SOAP Serialization/ De-serialization SOAP Package XML Method Call RMI View generation XML Workspace Parser Bonita Struts Framework Web Server Toxic Farm Server Toxic Farm Web Service API (XML/SOAP) valdes@loria.fr

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.

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. valdes@loria.fr

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. valdes@loria.fr

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. valdes@loria.fr

Bonita Interface avec la Toxic Farm Description de l’activité node1 du projet clone. Activité susceptible d’être exécuté. valdes@loria.fr

Bonita Interface avec la Toxic Farm Activité node1 dans le SFW. Workspace associé dans Toxic valdes@loria.fr

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. valdes@loria.fr

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… valdes@loria.fr

Merci de votre attention. Système Flexible de Workflow Merci de votre attention. valdes@loria.fr