Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - <idir.aitsadoune@supelec.fr>
Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages de modélisation de processus et BPMN 2.0 4 Méthodologie et bonnes pratiques 2
Notion de processus Qu est-ce qu un processus? o Processus = ensemble d'activités structurées chronologiquement dont le but est de produire un résultat (produits, services, décisions ) dans le contexte d'une organisation (association, entreprise ) 3
Notion de processus Types de processus Opérationnel : lié au métier de l'entreprise, génère de la valeur Pilotage : pilote l'activité métier, permet de définir la stratégie Support : accompagne le métier, supporte l'organisation 4
Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages de modélisation de processus et BPMN 2.0 4 Méthodologie et bonnes pratiques 5
Modélisation de processus Pourquoi modéliser les processus? Identifier Modéliser Différents langages de modélisation : graphiques / textuels, formels / informels, exécutables / non exécutables Améliorer Simuler / automatiser Analyser Monitorer 6
Modélisation de processus Objectifs o Comprendre ses propres activités pour : o Former les nouveaux collaborateurs o Communiquer en interne (entre les départements) et en externe (avec des partenaires, fournisseurs ou clients) o Démontrer sa maîtrise sur les risques, la qualité ou l efficacité de ses opérations o Faire évoluer ses activités pour : o Accompagner ses démarches d amélioration o Gagner en productivité, en efficacité o Gagner en qualité o Diminuer les risques, et donc les pertes o Se réorganiser (dans le cadre d une fusion/acquisition par exemple) o Mettre en place un outil informatique 7
Modélisation de processus Dans le cadre d une démarche SOA Processus Activité Activité Activité Activité Activité v v Service Service Service Service Service Service Service Service Système Applicatif X Système Applicatif Y Système d'information 8
Modélisation de processus Enterprise Service Bus (ESB) Browser ESB Moteur de règles Cœur Cœur du du socle socle SOA SOA Socle Socle SOA SOA étendu étendu Utilisateur Corbeille de tâches Formulaires Outils de Modélisation de Processus Serveur d applications Monitoring (BAM) KPI états Moteur d orchestration Moteur de règles Moteur de workflow Corbeille de tâches Formulaires Outils de développement de formulaires Annuaire des services WSDL WSDL Processus Processus (BPEL) (BPEL) ESB UDDI Routage Routage et et Transformation des des flux flux WSDL Connecteur Web service Connecteur JCA ou JMS Connecteur Web service Connecteur Progiciel (ex: SAP) Connecteur JDBC Utilisateur Ecran Application nouvelle technologie (Ex : J2EE /.NET / PHP) Outils de développment intégrant les Web Services SOAP HTTP Web Web Service Service Application nouvelle technologie (Ex : J2EE /.NET / PHP) Service Service IMS IMS 9 IMS Web Web Service Service SOAP HTTP Revamping (ex: SCORT) Application «legacy» Progiciel (ex: SAP) Base de données
Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages de modélisation de processus et BPMN 2.0 4 Méthodologie et bonnes pratiques 10
transformation automatique BPMN 2.0 Langages de modélisation 1994.. 1998. 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2012 Ref Model WfMC WPDL XPDL 1.0 XPDL 2.0 XPDL 2.1 XPDL 2.2 BPMI BPMN 1.0 XML OMG Autres : UML (diagrammes d'activités), BPEL BPMN 1.0 BPMN 1.1 BPMN 1.2 BPMN 2.0 11
BPMN 2.0 BPMN o BPMN = notation graphique pour la modélisation de processus métier o Développée par la Business Process Management Initiative (BPMI), actuellement maintenue par l'omg o Spécification ouverte o Basée sur des notations préexistantes o Objectifs : o Utilisable à la fois par experts métier et experts techniques o Exportable / échangeable o Exécutable (au moins partiellement) 12
BPMN 2.0 Eléments de base de BPMN 13
BPMN 2.0 Un processus BPMN o Processus = activités + événements + flot de séquence o Processus le plus simple : activité séquence Se lit «après» événements 14
BPMN 2.0 Exemple : la pizzeria 15
BPMN 2.0 Un processus BPMN o Processus = activités + événements + flot de séquence o Processus le plus simple : activité séquence o Processus plus complexes? événements 1. Différents chemins possibles ajout de portes 2. Différentes responsabilités pour les activités ajout de couloirs 3. Différentes informations à faire circuler ajout d'objets données 4. Des échanges avec différents partenaires ajout de flots de messages 16
BPMN 2.0 Différents chemins / portes o Porte «ou exclusif» : chemins alternatifs o Conditions : déterminent quels chemins vont être pris o Porte «parallèle» : chemins parallèles, synchronisation 17
BPMN 2.0 Exemple : la pizzeria 18
BPMN 2.0 Différentes responsabilités / couloirs o Couloirs = responsabilités, rôles o Ensemble de couloirs (pool) = entité, organisation 19
BPMN 2.0 Exemple : la pizzeria 20
BPMN 2.0 Différentes informations / données o Objets de données : peuvent être o Associés à un flot de séquence : les données sont transmises à l'activité suivante o Ou associés à deux activités : les données suivent un chemin particulier Objet de données 21
BPMN 2.0 Exemple : la pizzeria 22
BPMN 2.0 Des échanges partenaires / messages o Représentent les échanges B2B échangés entre entités distinctes, donc entre pools uniquement Événements intermédiaires : production / réception de messages Flot de message 23
BPMN 2.0 Exemple : la pizzeria 24
BPMN 2.0 Ce cours est loin d être exhaustif! o Différents types d'activités o Différents types d'événements o Décoration des flots o Structuration hiérarchique des processus o Raccourcis syntaxiques o Gestion des exceptions o Gestion des transactions o Gestion des escalades o Diagrammes de conversations o Diagrammes de chorégraphies 25
BPMN 2.0 L antisèche! 26
Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages de modélisation de processus et BPMN 2.0 4 Méthodologie et bonnes pratiques 27
Méthodologie et bonnes pratiques Méthodologie pour trouver les processus o Répondre aux questions : Qui fait Quoi? Où? Quand? Comment? Combien? et Pourquoi? («CQQCOQP») o Procéder par étapes successives, en ajoutant itérativement des détails : o Lister les activités o Pour chaque activité, définir : o L'événement déclencheur o L'entité ou l'acteur chargé de la réaliser o Les données nécessaires /produites o Le ou les résultats o Décomposer les activités en activités plus petites, et recommencer o Adapter la niveau de détail en fonction des besoins! 28
Méthodologie et bonnes pratiques Questionnement sur la pizzeria o Quoi? o Qui? o Où? o Quand? o Comment? o Combien? o Pourquoi? 29
Méthodologie et bonnes pratiques Modélisation itérative sur la pizzeria 30
Méthodologie et bonnes pratiques Règles à respecter o Présenter un processus de manière à mettre en évidence son déroulement chronologique : orienter les tâches en séquence suivant une ligne fictive de temps, en général de gauche à droite ou de haut en bas o Commencer un processus par un événement déclencheur, montrer les éventuels résultats intermédiaires et terminer par un ou plusieurs événements de fin (cas nominaux et cas d'erreur) o Assigner des rôles (des acteurs) aux activités o Faire apparaître explicitement les critères de choix et de décision ayant un impact sur les chemins parcourus dans le processus o Faire apparaître les données qui sont échangées 31
Méthodologie et bonnes pratiques Bonnes pratiques o Utiliser des règles de nommage homogènes pour les éléments du modèle : o Toujours nommer les tâches avec : verbe + (adjectif/descripteur) + nom o Eviter d'utiliser les mots «processus», «tâche» ou «activité» o Choisir des noms courts mais toujours explicites éviter les acronymes! o Capitaliser les premières lettres des mots dans les noms des éléments pour améliorer la lisibilité o Utiliser la hiérarchie (utilisation de sous-processus) pour améliorer la lisibilité dans le cas de processus complexes o Ne pas hésiter à utiliser des commentaires pour annoter le modèle, notamment pour faire apparaître les hypothèses qui ont été faites 32