Les workflow Jean Louis Boudart <jeanlouis.boudart@gmail.com> Bruno Bonfils <asyd@asyd.net>



Documents pareils
Le moteur de workflow JBPM

EJBCA Le futur de la PKI

EJBCA PKI. Yannick Quenec'hdu Reponsable BU sécurité

Qu'est-ce que le BPM?

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Les infrastructures de clés publiques (PKI, IGC, ICP)

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Les processus métiers : concepts, modèles et systèmes

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

1. Considérations sur le développement rapide d'application et les méthodes agiles

1 JBoss Entreprise Middleware

Exécution de processus

Exécution de processus

BPEL Orchestration de Web Services

W4 - Workflow La base des applications agiles

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Business Process Modeling (BPM)

WebSSO, synchronisation et contrôle des accès via LDAP

contact@nqicorp.com - Web :

Workflow et Service Oriented Architecture (SOA)

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Extensions, Documentation, Tutoriels, Astuces

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

contact@nqicorp.com - Web :

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

JOnAS Day 5.1. Outils de développements

Business Process Execution Language

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Programmation Web. Introduction

La démarche SOA et l interopérabilité applicative

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Java pour le Web. Cours Java - F. Michel

Un serveur d'archivage

Architecture d'entreprise : Guide Pratique de l'architecture Logique

TECHNOLOGIE SOFTWARE DU FUTUR. Logiciel de gestion d entreprise pour le Web

Chapitre 1 : Introduction aux bases de données

TheGreenBow IPsec VPN Client. Guide de Déploiement Options PKI. Site web: Contact:

Diagramme de classes

Configuration Interface for MEssage ROuting

Cours de Génie Logiciel

Le Guide Pratique des Processus Métiers

Messagerie asynchrone et Services Web

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

UE 8 Systèmes d information de gestion Le programme

OBM : Découvrez LA solution de messagerie collaborative libre!

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Du 03 au 07 Février 2014 Tunis (Tunisie)

IBM Business Process Manager

Urbanisme du Système d Information et EAI

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Business Process Management 2010 : La Solution IBM Maximiser l agilité de l entreprise UNE ETUDE DE JEMM RESEARCH

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

Activités professionnelle N 2

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

EXCHANGE 2010 VS ARCHIVAGE

Architectures en couches pour applications web Rappel : Architecture en couches

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

E 2 O : Mettre en oeuvre un portail avec WebCenter Suite

Conception, architecture et urbanisation des systèmes d information

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A

Bruno BONFILS. Ingénieur systèmes, réseaux et sécurité

Fiche méthodologique Rédiger un cahier des charges

Architecture de la plateforme SBC

InfraCenter Introduction

Télécom Nancy Année

LemonLDAP::NG. LemonLDAP::NG 1.2. Clément OUDOT RMLL 9 juillet 2012

CMS Open Source : état de l'art et méthodologie de choix

RMLL Présentation Activité Pentaho

Refonte front-office / back-office - Architecture & Conception -

Présentation Alfresco

RECOMMANDATION UIT-R SM (Question UIT-R 68/1)

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Présentation d'un Réseau Eole +

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Modélisation des processus métiers et standardisation

II- Préparation du serveur et installation d OpenVpn :

! " # $ % & OPN Day Paris 14 mars 2006

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

La gestion des identités au CNRS Le projet Janus

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer

L'intégration de Moodle à l'université Rennes 2 Haute Bretagne

CAHIER DES CHARGES D IMPLANTATION

CA 2011 M. +40% de croissance 7. agences en France. Paris Lyon Nantes Bordeaux Montpellier Aix en Provence

ELO pour appareils mobiles

Gestion des utilisateurs et Entreprise Etendue

Politique de certification et procédures de l autorité de certification CNRS

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Transcription:

Les workflow Ensemble, réussissons les grands projets du Libre Jean Louis Boudart <jeanlouis.boudart@gmail.com> Bruno Bonfils <asyd@asyd.net> Groupe LINAGORA 27 rue de Berri 75008 PARIS Tél. : 01 58 18 68 28 Fax : 01 58 18 68 29 www.linagora.com www.08000linux.com www.linagora.org

Sommaire Définition Un mot sur le webflow Exemple d'utilisation Les aspects pratiques Présentation de JBPM 2

Définition Par workflow on entends beaucoup de choses... Cinématique des interactions utilisateurs La gestion des données Toutes les applications ont un workflow Mais il est en général fixé, ou peu modifiable Quelques exemples : Un wizard Un formulaire suivi d'une validation 3

Définition Certaines applications métiers ont une nécessité particulière de devoir s'adapter aux besoins d'une entreprise Par exemple, tout gestionnaire de contenu (GED, CMS) Rarement le même processus de validation Un nombre de validation différents, par des acteurs différents (un relecteur, suivi d'une validation par un autre journaliste, puis une autre validation par un directeur de programme) Mais aussi toutes les applications liées à la sécurité PKI (Gestion du cycle de vie des certificats) Provisionning d'identité 4

Définition Quelques constats : Les développeurs sont rarement spécialisés métier Les consultants métiers ont rarement des connaissances techniques suffisantes pour manipuler du code Les idées : Création de moteur de workflow permettant un découpage entre les parties techniques et les parties métiers 5

Définition Certaines personnes ont réfléchis à des moteurs de workflow WfMC (Workflow Management Coalition) Les idées : Gérer, archiver les instances de workflow Gérer les données manipulées au sein d'une instance de workflow Orchestrer les différents modules que composent une instance de workflow (briques métiers) 6

Définition En pratique cela donne : Une vision métier (représentation sous forme de graphique) d'un workflow, généralement réalisé par un consultant métier Une «glue» technique permettant la mise en oeuvre du workflow métier 7

Un mot sur le webflow Les webflow (ou pageflow) sont un cas particulier des workflow dans le cas d'une utilisation d'un site web Décris l'enchaînement des pages Pas de persistance systématique Une brique métier (au sens workflow) peut être composé d'un webflow lorsqu'il y a interaction avec l'utilisateur via une interface web 8

Exemple d'utilisation L'équipe sécurité travaille sur le workflow pour l'application de PKI EJBCA, pourquoi? Aucun client n'a le même besoin métier Dans le cas d'une demande de certificat, il peut exister de très nombreux points d'entrée différents, et des cinématiques totalement différentes en fonction du point d'entrée Les workflow métiers peuvent évoluer au sein d'un client, d'où l'idée de faire une application très modulaire. 9

Exemple d'utilisation Pour bien comprendre, prenons un exemple : La DRH à la signature d'un contrat rempli un formulaire web (outil de gestion des identités interne à la société) Cela provoque la demande de deux certificats pour cet utilisateur (signature et chiffrement) A son arrivée, l'employé génère une carte à puce avec son certificat de signature Plus tard dans la journée, obtention de son certificat de chiffrement 10

Exemple d'utilisation Et un autre totalement différent : Une entreprise souhaite équiper tous ses routeurs de certificats pour authentification ipsec Les routeurs génèrent une demande de certificat (via le protocole SCEP) auprès de la PKI Un administrateur doit valider les demandes 11

La vision idéaliste vu par les managers 12

La vision réelle des choses 13

Un petit mot Un petit mot avant de passer à la technique... L'utilisation d'un moteur de workflow n'est pas forcément facile à appréhender Cela nécessite de (très) bien architecturé son application (cf. Domain Driven Design par exemple) Penser aux performances Mais cela apporte... Un moindre coût a posteriori de développement une fois l'application finalisée pour modifier le workflow, et y rajouter des composants Des buzzword pour vendre! 14

La technique 15

Les aspects pratiques Dans un premier temps, il est question de définir un langage permettant de représenter le workflow, malheureusement il en existe un certains nombres : BPM (Business Process Management) XPDL (XML Process Definition Language) BPEL (Business Process Execution Language) La définition de ces langages permettent d'utiliser indépendamment différents moteurs de workflow Permet également la création d'interface graphique permettant la manipulation des workflow 16

JBPM Présentation de JBPM : Projet racheté par JBoss Licence apache L'un (sinon le) des projets de workflow le mieux documenté Très léger : 2 jar indépendants, ne nécessite pas l'utilisation d'un serveur d'application (ex: JBoss) Le seul à supporter la plupart des langues (XPDL, BPEL, etc.) Enrichi XPDL pour donner JDPL (JBPM Process Definition Language) 17

JDPL : JBPM Process Definition Language 18

Quelques notions : les types de nodes Un workflow est composé d'un ensemble de node : Un (unique) startnode : étape à l'origine de la création de l'instance du workflow TaskNode : étape en attente d'une interaction avec l'utilisateur State : étape en attente d'une action extérieure (webservices, attente de réponse d'un composant eterne à l'application) Un ou plusieurs endnode : archivage de l'instance du workflow et libération des ressources Les nodes task et state ont un état wait 19

Quelques notions : les types de nodes D'autres types de nodes : Fork : séparation du workflow en N branches devant se réunir via un node de type join DecisionNode : condition sur une variable de l'instance de workflow (utilisation d'un langage simple ou délégation à une classe java) Node : action interne à l'application mais n'ayant pas d'interaction ni avec l'utilisateur ni avec un élément externe (exemple : notification par courriel) On relie tout ces nodes par des transitions, représentant le changement d'un node à un autre au sein de l'instance 20

le comportement d'un node Chaque node possède trois événements déclencheurs : onnodeenter : déclenchée à l'entrée du node onnodeleave : déclenchée à la sortie du node (n'a pas conscience du node suivant) ontransition : déclenchée lors de la transition vers le node suivant Pour information : un événement n'est pas lié qu'à une seule action, mais peut déclencher plusieurs actions 21

La gestion des déclencheurs node transition OnNodeEnter node OnNodeLeave node OnTransition 22

23 23

La gestion des données dans un workflow Très important : un node n'a pas à connaître l'existence des autres nodes, il manipule un ensemble de données dans un contexte d'exécution Traduction : Il n'y a pas de variables directement passées d'un node à l'autre Un node utilise l'instance du workflow pour manipuler ses données Limitation possible de la visibilités des variables en utilisant le mécanisme des swimlanes 24

Place à la démo! 25

MERCI DE VOTRE ATTENTION Ensemble, réussissons les grands projets du Libre Groupe LINAGORA 27 rue de Berri 75008 PARIS Tél. : 01 58 18 68 28 Fax : 01 58 18 68 29 www.linagora.com www.08000linux.com www.linagora.org