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

54
1 B P E L BPEL & Orchestration de Services Web Réalisé par : Najla Mannaï Mariem Touati

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

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

1

B

P

E

L

BPEL &

Orchestration de Services Web

Réalisé par : Najla MannaïMariem Touati

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

2

B

P

E

L

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

■ L’avenir du BPEL

■ Bibliographie

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

3

B

P

E

L

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 qu’un service web est déployé, d’autres

applications (y compris des services web) peuvent le découvrir et

l’invoquer.

■ Une plate-forme d'orchestration s'avère nécessaire pour chaîner l’appel

à plusieurs services. La solution serait d’orchestrer les services web

simplement en les combinant suivant certaines spécifications afin d’assurer

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.

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

4

B

P

E

L

Les services web

Présentation

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

5

B

P

E

L

Les services webPré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

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

6

B

P

E

L

Les services webPrésentation

■ Pourquoi les services web?

Disposer d’un service web, c’est avant tout ouvrir son système

d’information à d’autres usages, d’autres besoins et d’autres clients extérieurs

■ Les SW permettent d’automatiser facilement les processus métiers

■ Les SW facilitent l’interopérabilité entre systèmes et plates-formes hétérogènes

■ Les SW facilitent l’intégration d’applications et de services

■ Fluidifier les flux entre les applications

■ Réduire le temps de latence sur ces flux

■Faciliter l’évolutivité de ces flux

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

7

B

P

E

L

Les services webPré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é à l’information pertinente

Utiliser les composants distribués et réduire le coût de développement

Dépasser les limites de RPC

Simplifier l’administration des systèmes

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

8

Protocoles de transportHTTP,HTTPS,FTP,SMTP

Protocoles de transportHTTP,HTTPS,FTP,SMTP

Echange de MessageSOAP

Echange de MessageSOAP

Publication et DécouverteWSDL,UDDI

Publication et DécouverteWSDL,UDDI

Assemblage et orchestrationAssemblage et orchestration

NégociationNégociationB

P

E

L

Les services webPrésentation

■ Architecture d’un service web

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

B

P

E

L

■ 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 l’interface d’un SW

■ UDDI (Universal Description, Discovery and Integration) : standard qui définit

un système d’annuaire permettant d’automatiser la découverte dynamique des

SW existants

Les services webPrésentation

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

10

B

P

E

L

Les services webPré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.

■ L’orchestration des services :

■ désigne l'assemblage et la coordination de ces services au sein d'une

application d'entreprise exploitable (c’est-à-dire l’organisation des traitements et des échanges de

messages du point de vue d’une application participant au processus métier)

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

11

B

P

E

L

Les services web

Orchestration

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

12

B

P

E

L

Les services webOrchestration

■ 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

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

13

B

P

E

L

Les services webOrchestration

■ Définition

Le mot « orchestration » est pris du contexte de la symphonie musicale

où les différents instruments musicaux devraient travailler ensemble en harmonie.

L’orchestration 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 d’incident…

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

14

B

P

E

L

Les services webOrchestration

■ Qu’est-ce qu’un processus métier ?

Un processus métier décrit des interactions entre des agents

(personnes, services, organisations) et des systèmes d’information (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 d’achat 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 d’exception

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

15

B

P

E

L

Les services webOrchestration

■ En quoi consiste-t-elle?

Orchestrer: Invoquer, contrôler et coordonner un ensemble d’activités afin

d’en restituer une liste ordonnée d’appels de services web.

Correspondre à chaque processus métier un ensemble de scénarios

d’enchaînement de services Web

Prendre en charge l’assemblage des services, la conservation des

enchaînement des services web découverts, leur synchronisation

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

16

B

P

E

L

Les services webOrchestration

■ Les Possibilités qu’elle 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 l’entreprise

Présenter le processus comme un service

Invisible pour l’utilisateur

Gestion de la sécurité

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

17

B

P

E

L

Les services webOrchestration

■ Utilisations possibles

Processus intra entreprise :

Processus inter services

Processus inter systèmes

Etc.…

Processus inter entreprise :

Relations fournisseurs

Grande distribution

Administrations

Etc.…

Combinaison

Interface publiqueebXML, WSDL…

Entreprise A

Entreprise B

Implémentation privée A

Implémentation privée B

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

18

B

P

E

L

Les services webOrchestration

■ La représentation de l’orchestration d’un ensemble d’activités doit en restituer

à la fois:

Des données statiques en une liste ordonnée d’appels de services Web

telles que la définition des acteurs et leur rôle.

Des données dynamiques qui s’intéressent à la description des états et

transitions, du modèle, d’instanciation et de l’état d’instanciation.

■ Description (1)

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

19

B

P

E

L

Les services webOrchestration

■ L’orchestration présente deux cotés :

Un côté technologique pour lequel il existe les spécifications relatives à

l’orchestration 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 l’orchestration 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

d’orchestration comme WSFL, XLANG ou potentiellement WSCI.

■ Description (2)

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

20

B

P

E

L

Les services webOrchestration

■ Les principaux rôles de l’orchestration(1)

Gestion de contexte : La fonction d’orchestration prend en charge la

conservation de certaines données qui sont nécessaires tout au long de la durée

de vie d’un enchaînement. Il peut s’agir de mémoriser un résultat qui est réutilisé plus tard dans

l’orchestration. Les données mémorisées forment un contexte.

Gestion transactionnelle : Les éléments assemblés lors de l’orchestration

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.

C’est la fonction d’orchestration qui prend en charge la gestion d’une unité

transactionnelle globale.

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

21

B

P

E

L

Les services webOrchestration

■ Les principaux rôles de l’orchestration(2)

Gestion de la logique applicative : Elle contient la logique fonctionnelle

d’assemblage des éléments et uniquement cette logique. Les règles métiers

restent localisées dans les éléments assemblés. C’est en quelques sortes, la

partie « workflow » de la fonction d’orchestration.

Gestion des traitements interactifs : La fonction d’orchestration s’appuie sur

un framework technique de type MVC (Modèle Vue Contrôleur) spécialisé dans la

gestion des conversations interactives.

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

22

B

P

E

L

Les services webOrchestration

■ Les approches de l’orchestration

Les plates-formes d'orchestration proviennent de divers horizons EAI, BPM,

services web, etc et proposent donc des approches parfois différentes.

L’approche EAI (Enterprise Application Integration): mis dans le contexte

de réutilisation des applications d’entreprise existantes, l’EAI tente de fournir

des moyens permettant, de manière assez simple, de connecter des

applications existantes ou à venir dans l’objectif de construire une application

globale L’approche BPM (Business Process Management): elle permet de faciliter

la modélisation et l'orchestration des services Web puisqu’ils sont utilisés

comme des processus métiers au sein des offres d'intégration d'applications

d'entreprise (EAI).

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

23

B

P

E

L

Les services webOrchestration

■ 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 d’entreprise.

Les outils de BPM jouent, dans ce cadre, un rôle primordial dans

l'orchestration des processus métier.

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

24

B

P

E

L

Les services webOrchestration

■ Les standards de l’orchestration

Les standards de l’orchestration 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.

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

25

B

P

E

L

Les services webOrchestration

■ Relations entre les standards de l’orchestration :

Présentent beaucoup plus de support pour la chorégraphieet bénéficient du soutien W3C working group

A plus d’adeptes grâce à des outils de développement divers et à une riche documentation

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

26

B

P

E

L

Les services webOrchestration

■ Outils d’orchestration

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.

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

27

B

P

E

L

Les services webOrchestration

■ 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.

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

28

B

P

E

L

BPEL : Business Process Execution language

BPEL : Business Process Execution language

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

29

B

P

E

L

BPEL : Business Process Execution language

■ Historique

Par le passé, les web services pouvaient communiquer l’un avec l’autre

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(d’IBM) 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.

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

30

B

P

E

L

BPEL : Business Process Execution language

■ XLANG (Microsoft)

■ Langage XML de spécification de l’automatisation 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…)

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

31

B

P

E

L

BPEL : Business Process Execution language

■ WSFL (IBM)

■ Spécification proposée en mai 2001 par une équipe d’IBM

Définit un langage de description de compositions de services web.

■ S’appuie 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

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

32

B

P

E

L

BPEL : Business Process Execution language

■ Évolution dans le temps

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

33

B

P

E

L

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” l’appel vers des services web

Approche ”workflows” des services web

Langage XML

S’appuie sur WSDL

Fonctions basiques d’un langage de programmation (sequence, flow, loop,

switch…)

Identification des Instances de Process (correlation)

Gestion des transactions longue durée (scope,compensation)

Gestion des fautes

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

34

B

P

E

L

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

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

35

B

P

E

L

BPEL : Business Process Execution language

■ Rappel 2: Workflow

■ Workflow = automatisation d’une 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 d’images, E-Commerce, Supply chain…)

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

36

B

P

E

L

BPEL : Business Process Execution language

■ D’un 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.

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

37

B

P

E

L

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 s’exé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.

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

38

B

P

E

L

BPEL : Business Process Execution language

■ D’un 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, c’est-à-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.

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

39

B

P

E

L

BPEL : Business Process Execution language

■ Exemple de code en BPEL

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

40

B

P

E

L

BPEL : Business Process Execution language

■ Le modèle BPEL (1)

Composé de 4 parties principales :

La section <variables> : Définit les variables utilisées lors du processus

<variables><variable name="input"messageType="tns:SyncHelloWorldRequestMessage"/><variable name="output"messageType="tns:SyncHelloWorldResponseMessage"/>

</variables>

La section <partnerLinks> : Définit les différentes parties qui interviennent dans le processus

<partnerLinks><partnerLink name="client" partnerLinkType="tns:SyncHelloWorld"myRole="SyncHelloWorldProvider"/>

</partnerLinks>

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

41

B

P

E

L

BPEL : Business Process Execution language

■ Le modèle BPEL (2)

La section <sequence> : Définit une suite d’activités

<sequence name="main"><receive name="receiveInput" partnerLink="client"portType="tns:SyncHelloWorld"operation="process" variable="input"createInstance="yes"/><reply name="replyOutput"partnerLink="client"portType="tns:SyncHelloWorld"operation="process"variable="output"/>

</sequence>

La section <faultHandlers> : Définit le comportement à prendre en cas d’erreur

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

42

B

P

E

L

BPEL : Business Process Execution language

■ Les types d’activités (1)

L’activité <Assign> : Utilisée pour mettre à jour les valeurs des variables.

<assign name="variable"><copy>

<from expression="&quot;100&quot;"></from><to variable="output" part="payload"/>

</copy></assign>

L’activité <Invoke> : Envoi de message à sens unique ou d’une requête à un

partenaire.

L’activité <Scope> : Définition d’une activité imbriquée à ses gestionnaires

d’anomalie et de compensation

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

43

B

P

E

L

BPEL : Business Process Execution language

■ Les types d’activités (2)

L’activité <Receive> : Activité d’attente d’un message

<receive name="receiveInput" partnerLink="client" portType="tns:Insat" 

operation="process" variable="input"createInstance="yes"/>

L’activité <Reply> : Envoi d’un message en réponse à une Receive Activity.

<reply name="replyOutput"  partnerLink="client" portType="tns:Insat" 

operation="process" variable="output"/>

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

44

B

P

E

L

BPEL : Business Process Execution language

■ Les types d’activités (3)

L’activité <Sequence> : Bloc d’activités à exécuter en séquence.

L’activité <Flow> : Bloc d’activités à exécuter en parallèle.

L’activité <Switch> : Sélection d’une activité à exécuter parmi un ensemble.

L’activité <While> : Boucle d’exécution d’une activité tant qu’une condition est

vérifiée.

L’activité <Pick> : Attente bloquante d’un message, d’un partenaire ou de

l’expiration d’un délai.

L’activité <Compensate> : Invocation d’une compensation sur une activité

imbriquée (scope) qui a terminé son exécution normalement.

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

45

B

P

E

L

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 <scope>

■ Dans la figure ci-dessous, les messages <receive>, <reply>, et <invoke>

représentent tous des activités de base pour connecter les services entre eux.

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

46

B

P

E

L

BPEL : Business Process Execution language

■ BPEL4WS process flow

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

47

B

P

E

L

BPEL : Business Process Execution language

■ Quelques moteurs BPEL

■ Biztalk Server : La troisième génération de moteurs de messagerie et

d’orchestration 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 d’application J2EE (Oracle Corporation s’est récemment approprié ce

produit.) Version 2 a un GUI Designer pour BPEL au niveau d’ Eclipse et du

JDeveloper IDE d’Oracle.

■ Parasoft BPEL Maestro: un moteur BPEL qui est doté d’un éditeur graphique.

■ Oracle BPEL Process Manager: un moteur BPEL roulant sur un serveur

d’application Oracle.

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

48

B

P

E

L

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 c’est qu’il utilise BPEL avec

son format d’origine Les processus construits avec le designer sont 100%

portables.

Core BPEL engine fournit l’implé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,

l’administration et le débogage des processus déployés pour le serveur BPEL.

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

49

B

P

E

L

BPEL : Business Process Execution language

■ Architecture

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

50

B

P

E

L

BPEL : Business Process Execution language

■ Synthèse

■ La spécification de BPEL4WS modélise le comportement des services Web

dans une interaction de processus d’affaires. 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

d’orchestration, contrôlé par l’un des participants. Cet outil va coordonner les

différentes activités du processus et compenser le système en cas d’erreur.

■ Ainsi, ce langage définit également des gestions pour les événements

(messages, alarmes), les fautes, des exceptions et les compensations.

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

51

B

P

E

L

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

N’offre pas des droits gratuits d’utilisations

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

52

B

P

E

L

BPEL : Business Process Execution language

■ L’avenir du BPEL

■ Des mécanismes explicites permettant l’extension du langage sont disponibles.

Ils permettent par exemple d’augmenter 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.

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

53

B

P

E

L

BPEL & Orchestration de services web

■ Bibliographie

■ Sites Web : http://www.webservices.org/index.php http://solutions.journaldunet.com/webservices.shtml http://devresource.hp.com/drc/resources/WSOrchestration/index.jsp http://www.oracle.com/bpel http://en.wikipedia.org/wiki/BPEL http://www.bpelsource.com/index.html

■ 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)

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

54

B

P

E

L

Questions?

FIN