Composition de Services Web



Documents pareils
Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

Exécution de processus

Exécution de processus

Business Process Execution Language

Composition semi-automatique de Services Web

BPEL Orchestration de Web Services

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Urbanisme du Système d Information et EAI

FOSS Enterprise Integration Plattaform

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Les nouvelles architectures des SI : Etat de l Art

Configuration Interface for MEssage ROuting

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Business Process Modeling (BPM)

Nouvelles technologies pour l intégration : les ESB

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Business Process Management 2010 : La Solution IBM Maximiser l agilité de l entreprise UNE ETUDE DE JEMM RESEARCH

langage spécifiant un processus sous format XML Business Process Management : gestion de processus.

4. SERVICES WEB REST 46

Architecture SOA Un Système d'information agile au service des entreprises et administrations

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Qu'est-ce que le BPM?

Les processus métiers : concepts, modèles et systèmes

Fusion : l interopérabilité chez Oracle

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Environnements de Développement

IBM Business Process Manager

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Les Architectures Orientées Services (SOA)

Messagerie asynchrone et Services Web

Introduction aux «Services Web»

Java pour le Web. Cours Java - F. Michel

Programmation Web Avancée Introduction aux services Web

Collaboration des Processus Métiers dans les Echanges inter-entreprises (B2B) basée sur le Web Service Resource Framework (WSRF) du Grid

Architecture Orientée Service, JSON et API REST

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Urbanisation des Systèmes d'information

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre de services Web composés

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Jean-Philippe VIOLET Solutions Architect

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Virginie!SALAS Janvier!09! NFE107

La démarche SOA et l interopérabilité applicative

Compte Rendu d intégration d application

Synthèse des concepts

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Auto-évaluation Aperçu de l architecture Java EE

Conception, architecture et urbanisation des systèmes d information

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Modéliser et déployer des processus d entreprise avec Biztalk 2006

Introduction à la B.I. Avec SQL Server 2008

Testabilité des services Web

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

État de l art sur la contractualisation et la composition

Urbanisation du Système d information. Page 1. Plan du cours. 1- Introduction à l urbanisation 2- Démarche globale 3- Les EAI 4- Le BPM.

Magister en Informatique

La technologie BPM. Qu'est-ce que la technologie BPM? AVRIL 2006

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Projet ESB - Retour d expérience

Modélisation des processus métiers PowerAMC 16.5

Le 09 et 10 Décembre 09

des besoins de contenu des besoins de forme !"#$%&'($)$*"+,$-.*"#$*"$/.0#12+/13.0#

Modélisation et Test Fonctionnel de l'orchestration de Services Web

BizTalk Server Principales fonctions

Workflow et Service Oriented Architecture (SOA)

contact@nqicorp.com - Web :

Projet de Veille Technologique

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

contact@nqicorp.com - Web :

Exploitez la pleine puissance de l'architecture orientée services (SOA) en la combinant à la modélisation des processus d'affaires

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Modélisation des processus métiers PowerAMC 16.0

Introduction à la plateforme J2EE

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

THÈSE. Une Approche de Composition des Services Web Basée Transformation de Graphes

Cours Bases de données

Intégration de systèmes

Architectures d'intégration de données

MEGA Designer - Integration. Guide d utilisation

ED n 82 : Sciences et Technologies de l Information et de la Communication T H E S E

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Chapitre I : le langage UML et le processus unifié

IFT2255 : Génie logiciel

IBM Business Process Manager Version 7.5. Présentation d'ibm Business Process Manager

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

JOnAS 5. Serveur d application d

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Business & High Technology

Hébergement de site web Damien Nouvel

Information utiles. webpage : Google+ : digiusto/

Transcription:

Composition de Services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri 127

Composition de Services Web Plan: Introduction Approches de composition Orchestration Chorégraphie Orchestration vs Chorégraphie BPEL : Business Process Execution language 128

Introduction SOA : Décomposition d un grand problème en parties plus petites, donc plus gérables Comment assembler ces petits services ensemble pour créer des services à valeur ajoutée? 129

Introduction Exemple de Scénario : Solution 1: L utilisateur se rend sur chaque site Web des administrations Solution 2: L utilisateur utilise un seul site Web Début Réserver Hotel OK? oui Réserver Avion OK? oui non non Echec Réserver Train Louer Voiture oui OK? non Echec OK? non Echec oui Succès 130

Introduction La composition de services est le mécanisme qui permet l intégration des services pour construire un nouveau Web service à valeur ajoutée. 131

Introduction Composition : Implémentation d une application (offerte comme service) dont la logique implique l invocation d opérations offertes par d autres services. Le nouveau service est appelé service composite Les services invoqués sont des composants de service Du point de vue du client, un service composite et un service basique sont in-distinguables. 132

Approches de composition Deux approches principales pour a composition des services web : Orchestration Chorégraphie 133

Approches de composition Orchestration de services Orchestration de services La composition de services par orchestration consiste à faire l assemblage de services selon un ordre et un flux d exécution. L exécution d une composition par orchestration est réalisée par un coordinateur de services. L utilisation d un tel coordinateur implique une composition avec une logique d exécution qui sera interprétée par ce coordinateur. 134

Approches de composition Orchestration de services Web Service 1 Web Service 2 Web Service 3 Web Service 4 135

Approches de composition Orchestration de services Standards d Orchestration BPMN (Business Process Modeling Notation) Succède à BPML (Business Process Modeling Langage) Définit une représentation visuelle de la séquence BPEL (Business Process Execution Language) ou BPEL4WS (BPEL for Web Services) Code qui exécute la séquence Exprimé en XML Définit deux types d activités: Activités de base : interagissant avec les services externes (invoke, receive, reply) Activités structurées : contrôle de flux du processus interne (flux séquentiel, condition, boucle ) 136

Approches de composition Orchestration de services Limites de l Orchestration Approche centralisée autour du moteur de composition En cas de panne, plus de composition Schéma de composition statique En cas de changement dans les besoins, le schéma devient invalide 137

Approches de composition Chorégraphie de services Chorégraphie de Services La Chorégraphie est un effort de collaboration dans lequel chaque participant du processus décrit l itération qui l appartient. Le comportement global du processus est basé sur l interaction des différentes parties, chacune suivant son propre rôle de manière autonome. 138

Approches de composition Chorégraphie de services Chorégraphie de Services 139

Approches de composition Chorégraphie de services Standards de la Chorégraphie WS-CDL (Web Services Choregraphy Description Language) Succède à WSCI (Web Services Choregraphy Interface) Langage de description en XML Décrit les messages qui sont impliqués dans l échange collaboratif entre services Ne définit pas de processus métier exécutable (contrairement à BPEL) Un seul document WS-CDL spécifie la contribution d un partenaire à l échange de messages. Contient un ensemble d interactions, représentant les échanges de messages entre parties 140

Approches de composition Chorégraphie de services Limites de la Chorégraphie Collaborations et partenaires statiques Si les besoins ou partenaires changent, les collaborations deviennent impossibles Pas de langage pour exprimer les besoins Les travaux existant proposent une chorégraphie statique 141

Approches de composition Orchestration vs. Chorégraphie Orchestration Le processus est défini en utilisant un langage comme BPEL puis un engin d orchestration est appelé pour l exécuter. Les services invoqués ne savent pas qu ils font partie d un processus métier. Chorégraphie La logique d exécution, ou d appels des services, est gérée par chaque composant. Chaque service web participant dans la chorégraphie doit savoir exactement quand être actif et avec qui interagir. 142

BPEL : Business Process Execution language BPEL : Business Process Execution language OU BPEL4WS : BPEL for Web Services OU WS-BPEL 143

BPEL : Business Process Execution language Le langage BPEL: proposé par Microsoft, IBM et BEA Systems, en 2002 représente la fusion des deux standards auparavant rivaux : WSFL et XLANG Standardisé par OASIS en 2007 (version 2.0) Principe: Le fichier BPEL définit le processus, ou l'enchaînement et la logique des actions. Ce fichier est véritablement le code source de l'application que constitue le processus, le moteur d'orchestration agissant comme une machine virtuelle capable d'exécuter le code BPEL. 144

BPEL : Business Process Execution language 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. 145

BPEL : Business Process Execution language Exemple de code en BPEL 146

BPEL : Business Process Execution language Structure d un fichier BPEL4WS: activités de base L activité <process> est l'élément racine (au sens XML) du fichier BPEL L activité <partnerlinks> permet de lier des actions définies dans le fichier WSDL (via partnerlinktype) au process BPEL L activité <variables> permet de définir les variables L activité <Receive> : Activité d attente d un message L activité <Invoke> : Invoquer d'autres web services L activité <Reply> : Envoi d un message en réponse à une <Receive> Activity. Les activités <Assign> et<copy> : Utilisées pour mettre à jour les valeurs des variables. 147

BPEL : Business Process Execution language activités structurées L activité <Sequence> : Bloc d activités à exécuter en séquence L activité <Flow> : Bloc d activités à exécuter en parallèle Les activités <if> <else> pour définir les structures conditionnelles 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 148

BPEL : Business Process Execution language Processus abstrait vs processus exécutable Avec BPEL, on peut décrire les processus métiers de deux manières différentes : Un processus abstrait est un protocole métier, spécifiant le comportement des messages entre les différents intervenants sans révéler leur comportement interne. Un processus exécutable spécifie l ordre d exécution de différentes activités, les partenaires concernés, l échange de messages, ainsi que les problèmes et les erreurs d exécution pouvant être rencontrés. 149

BPEL : Business Process Execution language Quelques moteurs BPEL Biztalk Server de Microsoft Collaxa BPEL Orchestration Server de Oracle Parasoft BPEL Maestro IBM WebSphere Process Choreographer BEA WebLogic 8.1 150

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA Objectifs du TP : Création de d une application SOA Composite en utilisant BPEL et Netbeans Outils utilisés: OpenESB (version 3.05) BPEL JBI (Java Business Integration) Une architecture basée SOA permettant la mise en place de solutions d intégration 151

OpenESB: TP1: DÉVELOPPEMENT D UNE APPLICATION SOA OpenESB est un Enterprise Service Bus (ESB) respectant la norme Java Business Integration (JBI), définie dans la spécification JSR 208. Un openesb permet l'intégration de plusieurs logiques métier hétérogènes. Il dispose de deux types de composants: engins d'exécution (service engine) qui permettent d'exécuter les différentes logiques métier (BPEL, SQL, JEE, etc.) composants de connexion (binding component) implémentant les différents standards de communication 152 (FTP, HTTP, JDBC, etc.).

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA BPEL: Le langage BPEL permet de représenter les processus métiers, et de créer simplement des applications complexes faisant appel à plusieurs services web. Les outils SOA de openesb fournissent un environnement graphique BPEL rendant ainsi la création de ces applications plus intuitive. 153

BPEL: TP1: DÉVELOPPEMENT D UNE APPLICATION SOA 154

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA BPEL: Pour comprendre les processus BPEL, il faut définir un ensemble de concepts: Les services partenaires (Partner Services) : représentent tout service externe ou client qui interagit avec le processus BPEL. Les activités : ce sont les tâches métier individuelles dans le processus, permettant de réaliser l objectif global de processus. Les variables : Il existe plusieurs variables et messages qui circulent entre les activités du processus, et entre les activités et les partenaires. 155

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA BPEL: utilisation des variables (BPEL Mapper) 156

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA JBI: JBI (Java Business Integration) est une norme édictée dans la JSR208, basée sur une approche SOA. Il définit une architecture permettant la mise en place de solutions d intégration, basées sur l utilisation de composants qui communiquent via des messages. 157

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA JBI: JBI définit une partie d un ESB: le conteneur de services, responsable de la vraie intégration. C est l endroit où des composants informatiques (comme des applications, protocoles, bases de données ou même fichiers de données) sont transformés en fournisseurs et/ou consommateurs de services. Il définit les services sous forme de fichiers WSDL. 158

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA Objectifs de TP1 L'API Google Webs vous permet d'incorporer la fonction de recherche Web de Google dans les pages Web et applications que vous voulez développer, de sorte que vos utilisateurs peuvent rechercher tout ou partie du Web directement depuis l'application. L'API Google Webs est un service Web qui utilise les normes SOAP et WSDL. 159

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA Objectifs de TP1 Types d'applications Google Market research Data analysis Trend analysis Search interface Spell checking 160

TP1: DÉVELOPPEMENT D UNE APPLICATION SOA Objectifs de TP1 L objectif principal de ce TP est de développer une application SOA composite en utilisant l environnement openesb et le langage BPEL. L application permet d invoquer une fonctionnalité de Google (par exemple l API Google Custom Search). L application doit comporter au moins un service externe invoqué, puis stocker les informations de la demande ainsi que la réponse dans une base de données. 161