Convergence BPM-SOA 5 juillet 2017

Slides:



Advertisements
Présentations similaires
Bibliothèque Centrale de l’École Polytechnique Session pratique Recherches documentaires en sciences dures PSC 2011 septembre/octobre 2011 Denis Roura,
Advertisements

L’évaluation dans le cadre de l’approche par compétences
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Créat. : 23/09/2016 Modif. : 23/09/2016 Bogdan Stefanescu > Connectivité CPS et Eclipse Solutions Linux 2006.
INTEGRATION DE LA TELEPHONIE SUR IP DANS LE SYSTEME D'INFORMATION.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
B2i Lycée Pierre Larousse- 1ères S1 et S2 – Juin 2008 Des dangers de l'internet et du BLOGUE.
Interfaçage entre Maple et du code externe
Outils (MailIntegration et autres)
Téléchargement de fichiers
Le dossier unique premiers retours du site Pilote AORIF 05/02/2016
FORMATION DES POINTS FOCAUX SUR LE SYSTÈME CountrySTAT/FENIX
Thème 3 – La résistance au mouvement des charges
Mise en place d’un système de partage de fichiers
Bilan des travaux de la commission
Formation « Administrateur ATRIUM »
Plan de la présentation
PRÉSENTATION DE LA SESSION
Partie 1: la demarche MARKETING
AVEF.
Le Répertoire National des Structures de Recherche – RNSR
PORTEFEUILLE DE COMPETENCES
L’infrastructure du SIE en bref
Nous allons pouvoir passer à la suite…
L’ organization comme fonction de gestion
Chiffrement de bout en bout
Portefeuille des compétences
Avancement de la brique cartographique SIE GPA 2009/09/22
Les bases de données et le modèle relationnel
Outils Statistiques pour la Sémantique Décembre 2013
pour bénéficier des services du cabinet de recrutement
Routage S 3 - Questionnaire N°1
Développement d’une application Android destinée aux commerciaux
– La communication : notions de base. – INTRODUCTION : QU’EST-CE QUE LA COMMUNICATION ? I/ LES DIFFÉRENTS TYPES DE COMMUNICATION II/ LES COMPOSANTES DE.
IdRef V2 Description Public Intervenants
CeMEB La plateforme MBB
Programmation système
Présentation du projet FederID ■ ■ ■
CeMEB La plateforme MBB
Août 2009.
Internet Pour les nuls.
Module 1: Généralités sur les systèmes informatiques Chapitre 1: Définitions et notions de base.
Calcul Relationnel Chapitre 4, Section 4.3.
LES SOURCES D’INFORMATIONS
la structure de l’entreprise: Définition : La structure organisationnelle d’une entreprise définie le mode d’organisation entre les différentes unités.
LA Démarche de cartographie
Module 1 : Introduction à l'infrastructure Active Directory.
Mise en œuvre d’une solution de portail
– La communication notions de base. – INTRODUCTION : QU’EST-CE QUE LA COMMUNICATION ? I/ LES DIFFÉRENTS TYPES DE COMMUNICATION II/ LES COMPOSANTES DE.
Cas du robot aspirateur
Plan d'urbanisation Version / 02 / Nov Mai 2013 Passation des marchés Sommaire Une vision unifiée de l'urbanisation et de l'approche.
IDENTIFICATION NUMERIQUE
EdiTIC Journée Dev Ouest – 15 mars 2018.
Cours 10 : Les Web Services et WSDL Février Version 1.0 -
pour bénéficier des services du cabinet de recrutement
La gestion des habilitations par le partenaire
SYSTèMES à évènements discrets
Implémentation en Province de Hainaut
REFONTE DE L’INTRANET.
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
Génie Logiciel DÉFINITION DES BESOINS. Cahier de charges: définition  Le Cahier des Charges (CDC) est un document par lequel la maîtrise d'ouvrage exprime.
LA CONCEPTION ET L ’AMÉLIORATIOND’UN SYSTÈME DE PRODUCTION SÉANCE 2 GOP.
GEOMETRIE VECTORIELLE
La gestion électronique des documents Classe de terminale STG.
Definition de html sommaire. Présentation de html, css et javascript Module 1.
Transcription de la présentation:

Convergence BPM-SOA 5 juillet 2017 JDEV 2017 - T6 Convergence BPM-SOA 5 juillet 2017

Contacts Christophe DENEUX Architecte d’entreprise / Urbaniste Tech-leader de Petals ESB  christophe.deneux@linagora.com  +33 6 48 86 53 09 http://www.flowable.org http://petals.ow2.org @ChrisDENEUX @linagora @petalsesb @flowablebpm /petalslink /linagora /flowable

Constat de départ Dans les SIs modernes urbanisés, on a : Des processus (du BPM) portés par un moteur Des services (de la SOA) portés par un ESB Mais : L’instanciation d’un processus se fait via l’API du moteur BPM Alors que cette instanciation a une vraie signification métier Et les complétions des tâches humaines, n’auraient-elles pas aussi une signification métier ? Pas très agile, pas très SOA Il faudrait alors un service métier instanciant le processus L’instanciation a une vraie signification métier : Créer une commande c’est lancer le processus de traitement d’une commande BPM et SOA sont-ils si éloignés ? Ou comme pour « onde/particule », n’aurait-on pas une dualité « BPM/SOA » ? Ne pourrait-on pas les faire converger ?

SI moderne Démarche d’urbanisation Macro architecture

SI moderne Développer au travers d’une démarche d’urbanisation : Définition des processus métiers de l’entreprise Définition de la cartographie fonctionnelle Identification : des services métiers des données métiers des responsabilités Cet îlot fonctionnel est responsable de cette donnée et de tels services. Projection sur les ressources applicatives

Convergence BPM/SOA ? Macro architecture BPM Portail BPM Infrastructure de services RA #2 RA #3 RA #n RA #1

Convergence BPM/SOA BPMN SOA → BPM BPM → SOA Services d’intégration Gestion d’identité

BPMN BPMN 2.0 Norme ISO, maintenu par l’OMG pour la définition et l’implémentation de processus Notation sous forme de symboles graphiques ... … facilement compréhensible par tous Sérialisation XML

SOA→ BPM C’est le sens facile : Un processus appelle des services Prévu dans BPMN ... … via une « service task »

Sinon, un service par start event APH : Accueil Personne Handicapée BPM→ SOA Exposer les éléments d’interaction BPMN sous forme de services : Instanciation d’un processus : Exposer le(s) « start event(s) » sous forme de service(s) Un service par « start event » Ou, un unique service pour tous les « start events » Le start event utilisé est fonction du payload d’invocation Service : « Demande APH » Opération : « Nouvelle demande » Le choix entre « un service par start event » ou « un service pour tous les start events » est fonction des start events : Si les starts events ont une même signification métier → un unique service pour tous les start events Sinon, un service par start event APH : Accueil Personne Handicapée

APH : Accueil Personne Handicapée BPM→ SOA Complétion des tâches humaines : Exposer les « user tasks » sous forme de services Un service par « user task » Service : « Demande APH » Opération : « Dossier complet » APH : Accueil Personne Handicapée

APH : Accueil Personne Handicapée BPM→ SOA Réception d’évènement : Exposer les « message intermediate catch event » sous forme de services Un service par « message intermediate catch event » APH : Accueil Personne Handicapée Service : « Demande APH » Opération : « Acquitement de stockage reçu »

Services d’intégration Comment inter-agir avec le moteur BPM ? Pour récupérer la bannette d’un utilisateur Pour administrer les processus ou instances de processus Suspension, Reprise, Rechercher suivant différents critères Des services dits d’« intégration » doivent exister

Gestion d’identité (LDAP) Un moteur BPM nécessite Utilisateurs et Groupes d’Utilisateurs Généralement portés par un annuaire LDAP Configuré au niveau du moteur BPM Dans un SI moderne agile Le composant de « gestion d’identité » doit pouvoir être changé sans impact Donc sans avoir besoin de reconfigurer le moteur BPM Le moteur BPM est consommateur de services « Identité », il impose leurs interfaces Ces services « Identité » sont implémentés en s’appuyant sur les services proposés par la brique « Gestion d’identité » Infrastructure de services BPM Services « Identité » Gestion d’identité (LDAP)

Implémentation dans Petals ESB SE Flowable

Petals ESB Infrastructure de services (ESB) 100 % libre (LGPL v3) Français Développé à Toulouse depuis 2004 Edité par Linagora http://petals.ow2.org/ Intégration / Orchestration Transformation BPMN 2.0 ASE Connecteurs

SE Flowable Composant de Petals ESB Moteur de services Basé sur Flowable (fork d’Activiti) Implémente la convergence BPM/SOA Propose nativement les services d’intégration Propose nativement des modules « Identité »: Simple fichier (à vocation de démonstration) LDAP (intégration LDAP de Flowable) Basé sur des services (à venir) Unité de service Artefact déployable Le processus Les services associés

Mapping BPMN ↔ Services Le SE Flowable utilise des annotations WSDL pour faire le lien Services définis dans le WSDL de l’unité de service Processus définis dans un fichier BPMN <wsdl:binding name="vacationBinding" type="vacationService:vacation"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="new"> <soap:operation soapAction="http://petals.ow2.org/samples/se-flowable/vacation/vacationService/newVacationRequest" /> <bpmn:operation processDefinitionId="vacationRequest" action="startEvent" none-start-event-id="start" /> <bpmn:userId>/*[local-name()='vacationRequest']/*[local-name()='enquirer']</bpmn:userId> <bpmn:variable name="numberOfDays">/*[local-name()='vacationRequest']/*[local-name()='day-number']</bpmn:variable> <bpmn:variable name="startDate">/*[local-name()='vacationRequest']/*[local-name()='start-date']</bpmn:variable> <bpmn:variable name="vacationMotivation">/*[local-name()='vacationRequest']/*[local-name()='reason']</bpmn:variable> <bpmn:output>newVacationRequestResponse.xsl</bpmn:output> <wsdl:input>...</wsdl:input> <wsdl:output>...</wsdl:output> </wsdl:operation> <wsdl:operation name="validate"> <soap:operation soapAction="http://petals.ow2.org/samples/se-flowable/vacation/vacationService/handleRequest" /> <bpmn:operation processDefinitionId="vacationRequest" action="userTask" user-task-id="handleVacationRequest" /> <bpmn:processInstanceId>/*[local-name()='validationRequest']/*[local-name()='vacationRequestId']</bpmn:processInstanceId> <bpmn:userId>/*[local-name()='validationRequest']/*[local-name()='approved-by']</bpmn:userId> <bpmn:variable name="vacationApproved">/*[local-name()='validationRequest']/*[local-name()='approval']</bpmn:variable> <bpmn:variable name="managerMotivation">/*[local-name()='validationRequest']/*[local-name()='rejection-reason']</bpmn:variable> <bpmn:variable name="isTransverse">/*[local-name()='validationRequest']/*[local-name()='is-transverse']</bpmn:variable> <bpmn:output>validationResponse.xsl</bpmn:output> <wsdl:fault name="vacationRequestIdUnknown">...</wsdl:fault> <wsdl:fault name="vacationRequestAlreadyValidated">...</wsdl:fault> <wsdl:fault name="unexpectedUser">...</wsdl:fault> </wsdl:binding> start-event user-task

Merci de votre attention LINAGORA – Siège social Tour Franklin, 100, terrasse Boieldieu 92800 PUTEAUX FRANCE Tél. : +33 (0)1 46 96 63 63 Fax : +33 (0)1 46 96 63 64 Info : info@linagora.com Web : www.linagora.com @linagora facebook.com/Linagora/ © LINAGORA