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

1 BPELBPEL BPEL & Orchestration de Services Web Réalisé par : Najla Mannaï Mariem Touati.

Présentations similaires


Présentation au sujet: "1 BPELBPEL BPEL & Orchestration de Services Web Réalisé par : Najla Mannaï Mariem Touati."— Transcription de la présentation:

1 1 BPELBPEL BPEL & Orchestration de Services Web Réalisé par : Najla Mannaï Mariem Touati

2 2 BPELBPEL Sommaire Introduction Les services web : Présentation Orchestration BPEL : Business Process Execution Language Historique Présentation Le code BPEL Les caractéristiques clé Quelques moteurs BPEL Synthèse Conclusion Lavenir du BPEL Bibliographie

3 3 BPELBPEL Introduction Les Services Web sont la nouvelle vague des applications web. Ce sont des applications modulaires, auto-contenues et auto-descriptives qui peuvent être publiées, localisées et invoquées depuis le web. Les services web effectuent des actions allant de simples requêtes à des processus métiers complexes. Une fois quun service web est déployé, dautres applications (y compris des services web) peuvent le découvrir et linvoquer. Une plate-forme d'orchestration s'avère nécessaire pour chaîner lappel à plusieurs services. La solution serait dorchestrer les services web simplement en les combinant suivant certaines spécifications afin dassurer leurs bonnes exécutions. Des standards tels que BPML, XLANG et BPEL4WS sont conçus pour réduire la complexité requise pour orchestrer les services web.

4 4 BPELBPEL Les services web Présentation

5 5 BPELBPEL Les services web Présentation Définition Un service Web est un composant logiciel représentant une fonction applicative (ou un service applicatif). Il peut être accessible depuis une autre application (un client, un serveur ou un autre service Web) à travers le réseau Internet en utilisant les protocoles de transport disponibles. Les services Web font alors évoluer Internet vers une véritable plate- forme informatique distribuée et permettent à des systèmes hétérogènes de coopérer aisément et en toute sécurité. Client Service web

6 6 BPELBPEL Les services web Présentation Pourquoi les services web? Disposer dun service web, cest avant tout ouvrir son système dinformation à dautres usages, dautres besoins et dautres clients extérieurs Les SW permettent dautomatiser facilement les processus métiers Les SW facilitent linteropérabilité entre systèmes et plates-formes hétérogènes Les SW facilitent lintégration dapplications et de services Fluidifier les flux entre les applications Réduire le temps de latence sur ces flux Faciliter lévolutivité de ces flux

7 7 BPELBPEL Les services web Présentation Les services web ont été conçus en vue de : Faciliter l'accès aux applications au sein des entreprises et entre les entreprises Avoir un accès rapide, intégré et généralisé à linformation pertinente Utiliser les composants distribués et réduire le coût de développement Dépasser les limites de RPC Simplifier ladministration des systèmes

8 8 Protocoles de transport HTTP,HTTPS,FTP,SMTP Protocoles de transport HTTP,HTTPS,FTP,SMTP Echange de Message SOAP Echange de Message SOAP Publication et Découverte WSDL,UDDI Publication et Découverte WSDL,UDDI Assemblage et orchestration Assemblage et orchestration Négociation BPELBPEL Les services web Présentation Architecture dun service web

9 BPELBPEL Service web = HTTP + SOAP+ WSDL + Composants Logiciels HTTP (HyperText Transfer Proctocol) : protocole qui contrôle le transport de message via le web du protocole TCP/IP SOAP (Simple Objet Access Protocol) : définit une enveloppe de données pour le transport des messages via HTTP WSDL (Web Service Description Language) : basé sur XML, il décrit les fonctionnalités constituant linterface dun SW UDDI (Universal Description, Discovery and Integration) : standard qui définit un système dannuaire permettant dautomatiser la découverte dynamique des SW existants Les services web Présentation

10 10 BPELBPEL Les services web Présentation La mise en œuvre des services web Elle se déroule en deux étapes : La publication des services : consiste à assurer la mise à disposition par l'intermédiaire d'une interface standard. permet également de prendre une partie des fonctionnalités existante, par exemple au sein d'une application propriétaire ou d'un composant Java ou.Net, et à la rendre accessible sur le réseau pour faciliter son intégration aux applications. Lorchestration des services : désigne l'assemblage et la coordination de ces services au sein d'une application d'entreprise exploitable (cest-à-dire lorganisation des traitements et des échanges de messages du point de vue dune application participant au processus métier)

11 11 BPELBPEL Les services web Orchestration

12 12 BPELBPEL Les services web Orchestration Problématique Des processus business de plus en plus complexes Plusieurs applications Exécution en parallèle Partenaires multiples Faisant intervenir des systèmes différents J2EE/.NET Besoin dévolution Changement de partenaires Changement de processus

13 13 BPELBPEL Les services web Orchestration Définition Le mot « orchestration » est pris du contexte de la symphonie musicale où les différents instruments musicaux devraient travailler ensemble en harmonie. Lorchestration revient à faire correspondre à chaque processus métier un ensemble de scénarios d'enchaînement de services Web, en fonction de la logique applicative à mettre en œuvre tout en assurant: La succession des tâches Le contrôle de la bonne exécution Les reprises en cas dincident…

14 14 BPELBPEL Les services web Orchestration Quest-ce quun processus métier ? Un processus métier décrit des interactions entre des agents (personnes, services, organisations) et des systèmes dinformation (logiciels, sous-systèmes). Les différentes entités qui interagissent dans un processus donné sont les participants de ce processus. Le processus métier est déterminé par un objectif précis : produire une facture dachat de fournitures, éditer un catalogue électronique, etc. Un processus métier, dans le domaine des services web : Repose sur la coopération entre applications participantes Peut être de courte ou de longue durée Peut échouer partiellement et déclencher des situations dexception

15 15 BPELBPEL Les services web Orchestration En quoi consiste-t-elle? Orchestrer: Invoquer, contrôler et coordonner un ensemble dactivités afin den restituer une liste ordonnée dappels de services web. Correspondre à chaque processus métier un ensemble de scénarios denchaînement de services Web Prendre en charge lassemblage des services, la conservation des enchaînement des services web découverts, leur synchronisation

16 16 BPELBPEL Les services web Orchestration Les Possibilités quelle offre Interopérabilité Séparer la logique processus de la logique application Applications Business changent très peu Possibilité de changer le processus sans impact sur les applications Agilité de lentreprise Présenter le processus comme un service Invisible pour lutilisateur Gestion de la sécurité

17 17 BPELBPEL Les services web Orchestration Utilisations possibles Processus intra entreprise : Processus inter services Processus inter systèmes Etc.… Processus inter entreprise : Relations fournisseurs Grande distribution Administrations Etc.… Combinaison Interface publique ebXML, WSDL… Entreprise A Entreprise B Implémentation privée A Implémentation privée B

18 18 BPELBPEL Les services web Orchestration La représentation de lorchestration dun ensemble dactivités doit en restituer à la fois: Des données statiques en une liste ordonnée dappels de services Web telles que la définition des acteurs et leur rôle. Des données dynamiques qui sintéressent à la description des états et transitions, du modèle, dinstanciation et de létat dinstanciation. Description (1)

19 19 BPELBPEL Les services web Orchestration Lorchestration présente deux cotés : Un côté technologique pour lequel il existe les spécifications relatives à lorchestration des services Web. Les plus connus sont le WSFL (Web services Flow Language) et le XLANG (eXtensible LANGuage). Un côté Business où le concept de lorchestration des services métiers BSO (Business Services Orchestration), est une méthode pour diriger les services métiers créés. Une solution BSO peut utiliser des standards dorchestration comme WSFL, XLANG ou potentiellement WSCI. Description (2)

20 20 BPELBPEL Les services web Orchestration Les principaux rôles de lorchestration(1) Gestion de contexte : La fonction dorchestration prend en charge la conservation de certaines données qui sont nécessaires tout au long de la durée de vie dun enchaînement. Il peut sagir de mémoriser un résultat qui est réutilisé plus tard dans lorchestration. Les données mémorisées forment un contexte. Gestion transactionnelle : Les éléments assemblés lors de lorchestration peuvent émettre des mises à jour dans les bases de données. Puisque ces éléments ne se connaissent pas entre eux, ils sont incapables de se synchroniser. Cest la fonction dorchestration qui prend en charge la gestion dune unité transactionnelle globale.

21 21 BPELBPEL Les services web Orchestration Les principaux rôles de lorchestration(2) Gestion de la logique applicative : Elle contient la logique fonctionnelle dassemblage des éléments et uniquement cette logique. Les règles métiers restent localisées dans les éléments assemblés. Cest en quelques sortes, la partie « workflow » de la fonction dorchestration. Gestion des traitements interactifs : La fonction dorchestration sappuie sur un framework technique de type MVC (Modèle Vue Contrôleur) spécialisé dans la gestion des conversations interactives.

22 22 BPELBPEL Les services web Orchestration Les approches de lorchestration Les plates-formes d'orchestration proviennent de divers horizons EAI, BPM, services web, etc et proposent donc des approches parfois différentes. Lapproche EAI (Enterprise Application Integration): mis dans le contexte de réutilisation des applications dentreprise existantes, lEAI tente de fournir des moyens permettant, de manière assez simple, de connecter des applications existantes ou à venir dans lobjectif de construire une application globale Lapproche BPM (Business Process Management): elle permet de faciliter la modélisation et l'orchestration des services Web puisquils sont utilisés comme des processus métiers au sein des offres d'intégration d'applications d'entreprise (EAI).

23 23 BPELBPEL Les services web Orchestration Les apports du BPM Un système informatique de BPM permet la conception, l'analyse, l'optimisation et l'automatisation des processus métiers. Pour y parvenir: Il sépare la logique du processus des applications qui soutiennent le processus Il gère les relations entre les différents intervenants Il intègre les ressources internes et externes de l'entreprise nécessaires pour le déroulement du processus Il surveille le déroulement du processus pour en tirer une analyse des performances qui serviront à le faire évoluer. Le BPM couvre tout le cycle de vie du processus dentreprise. Les outils de BPM jouent, dans ce cadre, un rôle primordial dans l'orchestration des processus métier.

24 24 BPELBPEL Les services web Orchestration Les standards de lorchestration Les standards de lorchestration peuvent simplifier la création des processus métier en impliquant les services web. Les modèles transactionnels : BPML (Business Process Modelling Language) WSCI (Web Services Choreography Interface) Les modèles du workflow : XLANG (XML Business Process Language) WSFL (Web Services Flow Language) BPEL4WS (Business Process Execution Language for Web Services) WSFL, XLANG et BPEL4WS incarnent une vision des processus métier relativement statique, inspirée du domaine du workflow.

25 25 BPELBPEL Les services web Orchestration Relations entre les standards de lorchestration : Présentent beaucoup plus de support pour la chorégraphie et bénéficient du soutien W3C working group A plus dadeptes grâce à des outils de développemen t divers et à une riche documentation

26 26 BPELBPEL Les services web Orchestration Outils dorchestration Les outils d'orchestration agissent comme des tours de contrôle qui appellent successivement différents services Web selon un scénario donné. Les outils de développement de scénario et d'orchestration sont donc indissociables pour le moment. Seul le support des projets de standards tels que BPEL4WS et/ou BPML garantit un minimum de portabilité. Certains éditeurs, comme Collaxa, sont également capables d'assembler nativement des technologies hétérogènes au sein du scénario comme des files de messages JMS, des EJB, etc.

27 27 BPELBPEL Les services web Orchestration Conclusion La mise en oeuvre, l'exécution et la gestion de la logique d'orchestration se révèlent complexes et impliquent un ensemble de besoin en terme d'infrastructure. Cette situation a nécessité la création du standard BPEL et de l'infrastructure logicielle qui la soutient afin d'assurer la prise en charge de la définition et de l'implémentation des processus d'intégration. La création de cette infrastructure logicielle doit s'articuler entièrement autour des services Web et de BPEL et doit prendre en charge la conception et l'exécution natives des processus BPEL, et ce, d'autant plus, si la portabilité et l'indépendance vis-à-vis des fournisseurs est l'un des objectifs de l'entreprise.

28 28 BPELBPEL BPEL : Business Process Execution language

29 29 BPELBPEL BPEL : Business Process Execution language Historique Par le passé, les web services pouvaient communiquer lun avec lautre et être découverts et invoqués en utilisant des spécifications standards. Sauf que, corréler ces services ensemble en un processus métier générait beaucoup de conflits comme cétait le cas avec WSFL(dIBM) et XLANG(de Microsoft). Le standard BPEL4WS de services Web: proposé par Microsoft, IBM et BEA Systems, né courant 2002 au sein d'une troisième infrastructure (BPMI). représente la fusion des deux standards auparavant rivaux : WSFL et XLANG Une implémentation initiale de BPEL4WS appelée BPWS4J a aussi été publiée par IBM via alphaWorks.

30 30 BPELBPEL BPEL : Business Process Execution language XLANG (Microsoft) Langage XML de spécification de lautomatisation des processus métier fondés sur des services web utilisé dans Biztalk Server (début 2001). Lien très fort avec WSDL Processus XLANG = orchestration de Web Services invoqués séquentiellement ou en parallèle Service XLANG = Service WSDL + extension décrivant le comportement comme succession déchanges de messages Séparer la « description du processus » de son implémentation Orchestration des activités (sequence, switch, pick, all,while…)

31 31 BPELBPEL BPEL : Business Process Execution language WSFL (IBM) Spécification proposée en mai 2001 par une équipe dIBM Définit un langage de description de compositions de services web. Sappuie sur la spécification WSDL Très similaire à XLANG... Processus = orchestration de Web Services Processus est un Web Service... mais avec extensions Transfert & transformation des données Détermination dynamique des participants

32 32 BPELBPEL BPEL : Business Process Execution language Évolution dans le temps

33 33 BPELBPEL BPEL : Business Process Execution Language Présentation de BPEL4WS BPEL4WS : Business Process Execution Language for Web Services Standard OASIS (Organization for the Advancement of Structured Informations Standards) Objectif : Orchestrer lappel vers des services web Approche workflows des services web Langage XML Sappuie sur WSDL Fonctions basiques dun langage de programmation (sequence, flow, loop, switch…) Identification des Instances de Process (correlation) Gestion des transactions longue durée (scope,compensation) Gestion des fautes

34 34 BPELBPEL BPEL : Business Process Execution language Rappel 1: WSDL Le langage WSDL est une syntaxe XML utilisée pour définir l'interface générale des services web. Il permet en plus de définir le format des objets, quel que soit le protocole (SOAP, XML) ou le codage (MIME) utilisé par ces objets spécifiques à chaque système. Cette définition intègre les composants fondamentaux suivants : Informations sur toutes les fonctions disponibles publiquement Définitions abstraites des données à transmettre Informations sur le type de données pour tous les messages XML Informations obligatoires sur le protocole de transfert à utiliser spécifiquement Informations de type Adresse pour localiser le service à spécifier

35 35 BPELBPEL BPEL : Business Process Execution language Rappel 2: Workflow Workflow = automatisation dune procédure durant laquelle des documents, des informations ou des tâches sont échangées entre des participants. – Première idée : circulation de documents (automatisation de processus). Utilisation des workflows (Traitements dimages, E-Commerce, Supply chain…)

36 36 BPELBPEL BPEL : Business Process Execution language Dun point de vue technique (1) BPEL permet aux entreprises de normaliser l'orchestration et l'exécution des processus métier. BPEL est un langage XML standard définissant comment : Envoyer des messages SOAP-XML à des services distants Manipuler les structures de données XML Recevoir en mode asynchrone des messages SOAP-XML de la part de services distants Gérer des événements et des exceptions Définir des séquences d'exécution parallèles Annuler certaines parties des processus lorsque des exceptions surviennent. Ces opérations constituent les fondations requises pour organiser un ensemble de services en processus métier collaboratifs et transactionnels.

37 37 BPELBPEL BPEL : Business Process Execution language BPEL et les processus métier BPEL définit une notation pour spécifier le comportement des processus métier basés sur les services web. En utilisant BPEL, un programmeur peut décrire formellement un processus métier qui sexécute dans un environnement web de telle façon que toutes les entités qui coopèrent puissent, de la même manière, exécuter une ou plusieurs étapes dans un même processus. EXEMPLE : Dans un processus de supply chain, un programme BPEL pourrait décrire un protocole métier qui formalise quelles informations constituent une commande produits, et quelles exceptions doivent être traitées. Cependant, un programme BPEL ne pourrait pas spécifier comment un service web doit procéder pour traiter une commande interne.

38 38 BPELBPEL BPEL : Business Process Execution language Dun point de vue technique (2) Pour fonctionner, BPEL4WS s'adosse à deux éléments d'infrastructure : WS-Transaction: conçu pour garantir l'intégrité des transactions entre deux services, cest-à-dire gérer le déroulement des tâches et garantir que toutes les transactions aboutissent ou échouent en groupe. WS-Coordination: précise la manière de coordonner un Service Web avec le monde extérieur, assure la communication entre les services Web composant une tâche et décrit leur interaction. Il a pour but d'expliciter l'ensemble des fonctions nécessaires à l'invocation du composant en question.

39 39 BPELBPEL BPEL : Business Process Execution language Exemple de code en BPEL

40 40 BPELBPEL BPEL : Business Process Execution language Le modèle BPEL (1) Composé de 4 parties principales : La section : Définit les variables utilisées lors du processus La section : Définit les différentes parties qui interviennent dans le processus

41 41 BPELBPEL BPEL : Business Process Execution language Le modèle BPEL (2) La section : Définit une suite dactivités La section : Définit le comportement à prendre en cas derreur

42 42 BPELBPEL BPEL : Business Process Execution language Les types dactivités (1) Lactivité : Utilisée pour mettre à jour les valeurs des variables. Lactivité : Envoi de message à sens unique ou dune requête à un partenaire. Lactivité : Définition dune activité imbriquée à ses gestionnaires danomalie et de compensation

43 43 BPELBPEL BPEL : Business Process Execution language Les types dactivités (2) Lactivité : Activité dattente dun message Lactivité : Envoi dun message en réponse à une Receive Activity.

44 44 BPELBPEL BPEL : Business Process Execution language Les types dactivités (3) Lactivité : Bloc dactivités à exécuter en séquence. Lactivité : Bloc dactivités à exécuter en parallèle. Lactivité : Sélection dune activité à exécuter parmi un ensemble. Lactivité : Boucle dexécution dune activité tant quune condition est vérifiée. Lactivité : Attente bloquante dun message, dun partenaire ou de lexpiration dun délai. Lactivité : Invocation dune compensation sur une activité imbriquée (scope) qui a terminé son exécution normalement.

45 45 BPELBPEL BPEL : Business Process Execution language Les caractéristiques clé Support des activités structurées et de base Modélisation de partenaires pour les rôles Identificateurs conteneurs et corrélateurs pour assurer la persistance Support des transactions pour la compensation avec la balise Dans la figure ci-dessous, les messages,, et représentent tous des activités de base pour connecter les services entre eux.

46 46 BPELBPEL BPEL : Business Process Execution language BPEL4WS process flow

47 47 BPELBPEL BPEL : Business Process Execution language Quelques moteurs BPEL Biztalk Server : La troisième génération de moteurs de messagerie et dorchestration de Microsoft est désormais accommodée à BPEL. Dans le passé, le produit était basé sur la grammaire XLANG. Collaxa BPEL Orchestration Server : un moteur BPEL complet roulant sur un serveur dapplication J2EE (Oracle Corporation sest récemment approprié ce produit.) Version 2 a un GUI Designer pour BPEL au niveau d Eclipse et du JDeveloper IDE dOracle. Parasoft BPEL Maestro: un moteur BPEL qui est doté dun éditeur graphique. Oracle BPEL Process Manager: un moteur BPEL roulant sur un serveur dapplication Oracle.

48 48 BPELBPEL BPEL : Business Process Execution language Exemple: Oracle BPEL Process Manager Oracle BPEL Process Manager fournit une solution fiable et conviviale pour le design, le déploiement et la gestion des processus métier BPEL. BPEL Designer fournit un moyen graphique et convivial pour construire un processus BPEL. Ce qui le rend unique en son genre cest quil utilise BPEL avec son format dorigine Les processus construits avec le designer sont 100% portables. Core BPEL engine fournit limplémentation de serveur BPEL la plus mature et robuste disponible de nos jours. Oracle BPEL Process Manager exécute des processus BPEL standards. BPEL Console fournit une interface basée sur le web pour la gestion, ladministration et le débogage des processus déployés pour le serveur BPEL.

49 49 BPELBPEL BPEL : Business Process Execution language Architecture

50 50 BPELBPEL BPEL : Business Process Execution language Synthèse La spécification de BPEL4WS modélise le comportement des services Web dans une interaction de processus daffaires. Elle fournit un vocabulaire basé sur XML précisant la manière d'enchaîner ou de coordonner plusieurs services Web au sein d'un processus. Par la suite, ce vocabulaire peut être interprété et exécuté par un outil dorchestration, contrôlé par lun des participants. Cet outil va coordonner les différentes activités du processus et compenser le système en cas derreur. Ainsi, ce langage définit également des gestions pour les événements (messages, alarmes), les fautes, des exceptions et les compensations.

51 51 BPELBPEL BPEL : Business Process Execution language Conclusion BPEL4WS a de grandes chances de devenir un standard répandu pour la composition de services. Avantages : On devrait être en mesure d'exécuter le même scénario BPEL4WS sur.NET et J2EE sans avoir à le modifier Actuellement implémenté sur Collaxa Orchestration Server Gère des compensations et des exceptions Inconvénients : Ne supporte pas la définition des procédés imbriqués Noffre pas des droits gratuits dutilisations

52 52 BPELBPEL BPEL : Business Process Execution language Lavenir du BPEL Des mécanismes explicites permettant lextension du langage sont disponibles. Ils permettent par exemple daugmenter la sémantique car le langage ne couvre pas certains cas pourtant incontournables dans le cadre de réalisations. On peut citer le cas des interactions avec un utilisateur humain qui ne sont pas prises en compte par BPEL4WS.

53 53 BPELBPEL BPEL & Orchestration de services web Bibliographie Sites Web : Livres : Jean Marie Chauvet, Services web avec SOAP,WSDL,UDDI, ebXML…, édition Eyrolls, 2001, chapitre 7,12 Hubert Kadima, Valérie Monfort, Les web services : techniques, démarches et outils, edition Dunod,2003, chapitre1 Les processus métier (BPEL)

54 54 BPELBPEL Questions? FIN


Télécharger ppt "1 BPELBPEL BPEL & Orchestration de Services Web Réalisé par : Najla Mannaï Mariem Touati."

Présentations similaires


Annonces Google