Vous êtes sur la page 1sur 24

BPEL

Module SOA

A.U 2015-2016
Objectifs

Comprendre le concept de composition de services web et énumération


de ses différentes approches.

Maîtriser l'ensemble du langage BPEL

Savoir concevoir, développer et déployer ses propres processus BPEL

BPEL 2
Plan

•Introduction
•Composition des services web
•Approches de composition de services
•Langages de composition de services
•Présentation de BPEL
•Les éléments fondamentaux de WS-BPEL

BPEL 3
Introduction

L’objectif d’une architecture SOA est de:


– faciliter l’évolution du SI
– améliorer sa maintenance
– favoriser la réutilisation

Service= élément central de la démarche SOA

BPEL 4
Introduction

Ces services, seuls et isolés, n'ont aucun


intérêt.

On a besoin d’une composition de


services

BPEL 5
Composition des services
•La composition de services vise à faire interagir et
coordonner plusieurs services simples pour la
réalisation d’un but.
•Le nouveau service est appelée un service
composite
Service composite

Service
simple

BPEL 6
Composition des services
Exemple:
Le service de planification de voyage d’une agence de voyages est le
résultat d’une composition de plusieurs services web atomiques (basiques)
appartenant à des organisations différentes : réservation de vol, réservation
d’hôtel et paiement en ligne.

BPEL 7
Composition des services
Il existe deux approches de composition de
services:
Orchestration Chorégraphie

BPEL 8
Orchestration

Par analogie avec l’orchestre qui comprend un


grand nombre de musiciens différents
collaborant à l’exécution d’une symphonie sous
le contrôle du chef d’orchestre.

Orchestration
Compagnie
Hôtel
L’orchestration des services web Aérienne
centralise le contrôle du processus
en transposant la logique des
modèles de processus métiers en Moteur
séquences de tâches échangeant d’orchestration
les messages avec les services web. Location
Paiement voitures
en ligne
BPEL 9
Chorégraphie
Par analogie avec la chorégraphie en danse qui
désigne l’art de composer et d’harmoniser les
gestes de danse de plusieurs danseurs.

Chorégraphie
La chorégraphie des services web Compagnie
est une approche collaborative dans Hôtel
Aérienne
laquelle chaque partie décrit son rôle
dans l’intéraction et l’échange de
messages entre services web. Le
contrôle du processus n’est pas
centralisé.
Location
Paiement voitures
en ligne
BPEL 10
Langages de composition des services

Langage de programmation vs. Langages de composition

Langage de programmation
La composition est “codée en dur” dans les programmes
rigidité frein pour l’agilité du SI.

Langage de composition
Séparer la logique processus de la logique application
modularité, réutilisation agilité du SI.

BPEL 11
Langages de composition des services

• Chorégraphie: WS-CDL (W3C)


– Web Services Choregraphy Description Language

• Orchestration: BPEL (OASIS)


– Business Process Execution Language

BPEL 12
Présentation BPEL

▪BPEL est
- standard OASIS
- sert à définir des business processes issus d’une
orchestration de services web étendus
- est issu des langages WSFL (Web Services Flow
Language) et XLANG, et est dérivé du XML.

BPEL4WS Renommé WS-BPEL


BPEL 13
Principes BPEL
▪Une orchestration en BPEL décrit les activités, les intéractions et les échanges
d’informations entre les services web définis comme « partenaires » du processus
BPEL.

▪BPEL fait fortement usage des autres standards liés aux services Web, à
commencer par WSDL et SOAP .

▪Chaque processus BPEL étant un service Web à part entière, il dispose donc de
son propre wsdl.

BPEL 14
Présentation BPEL

▪ Chaque document BPEL (.bpel) est interprété par un système informatique


nommé « moteur BPEL » assurant l’exécution du processus BPEL

déploiement

Document Moteur
BPEL BPEL

▪ Il existe des moteurs d’orchestration:


propriétaires open source
-Oracle BPEL Process Manager -Riftsaw de JBoss
-WebShere Process Server d’IBM -Apache ODE (Orchestration Director Engine)
-ActiveBPEL Engine

BPEL 15
Les éléments fondamentaux de WS-BPEL

L’élément <process> englobe la définition du processus BPEL.

BPEL 16
Les éléments fondamentaux de WS-BPEL
Partner Link
Cet élément regroupe les liens entre les activités du processus BPEL et
les opérations des services web partenaires.
L'attribut myRole ou partnerRole définit si c'est une action qui appelle le
processus ou si c'est une action appelée par le processus.

BPEL 17
Les éléments fondamentaux de WS-BPEL
Variables
Cet élément regroupe les variables utilisées dans le processus BPEL afin de
sauvegarder des états intermédiaires du processus entre les échanges des
messages avec les partenaires.
Une variable est définie avec un nom, une valeur et un type de données

Services web et SOA BPEL 18


Les éléments fondamentaux de WS-BPEL

Les activités basiques


Permettent de:
• De communiquer avec des web services
• De manipuler des données XML
• De gérer des exceptions
• De gérer la compensation (ie. rollback)

Services web et SOA BPEL 19


Les éléments fondamentaux de WS-BPEL

Les activités structurées

BPEL 20
Les éléments fondamentaux de WS-BPEL

BPEL 21
Processus BPEL synchrone/asynchrone
Deux catégories principales de processus
BPEL:
•Processus synchrone
- attente active (appel bloquant) de la réponse
- traitements courts (quelques secondes)
- sortie = message ou exception

•Processus asynchrone
- pas d’attente active (appel non bloquant) d’une éventuelle
réponse
- traitements longs
- sortie = message

BPEL 22
En résumé

• BPEL est un langage de description de


« Business Processes »
• Business process = Processus BPEL
• Processus BPEL = Web Service

BPEL 23
Références

• http://mbaron.developpez.com/soa/bpel/
• http://www.w3.org/2004/Talks/1125-hh-fi/sl
ide16-0.html
• http://www.w3c.org.ma/Talks/tunis/W3C-T
unis-05.html.1st
• http://www.emn.fr/z-info/jobjet/uploads/file/
Presentation_BPEL_Jeudis_Objet.pdf

BPEL 24

Vous aimerez peut-être aussi