SlideShare une entreprise Scribd logo
Institut National des Sciences Appliquées et de Technologie Tunisie

E-Services

Chapitre 2 – Architecture Orientée Services (SOA)

Dr. Lilia SFAXI
GL5 - 2013-2014
1

Plan du Chapitre



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
2

Plan



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
3

Besoins de l’Architecture Orientée Services


Problématique d’intégration en entreprise
o

o



Les entreprises doivent s’adapter et être réactives aux variations des marchés  Impact
sur les SI des entreprises
C’est l’activité qui doit piloter la technologie et non l’inverse

Prise en compte de l’évolution des besoins fonctionnels à la conception des
application
o

La technologie doit apporter la flexibilité



Éviter le décalage entre besoins métiers et leur réalisation



Besoin de réutilisation des fonctionnalités (non fournie par le modèle MVC classique)



Processus métiers de plus en plus inter-départementaux  coût considérable dans
la gestion de flux entre départements
4

Évolution des Architectures

Hier : Architecture en Spaghetti

Demain : Architecture Urbanisée

Organisation du SI à l’image d’une ville



Développement coûteux



Interconnexions redondantes

o

Le découper en modules autonomes



Grande complexité

o



Réutilisation et maintenance difficile

Localiser les zones d’échange
d’informations


5

De plus en plus d’abstraction


Procédures et fonctions
o



Modules
o



groupes de fonctions, de méthodes et de traitement, sous forme de
bibliothèques

Objet
o



sous-programmes réalisant une action

brique de base logicielle, représentant une entité du monde physique,
encapsulant un état et des traitements

Composant
o
o

séparation des préoccupations techniques et fonctionnelles

o



élément logiciel contenant du code compilé (donc opaque)
définit une interface pour communiquer avec les autres composants, et une
interface de configuration

Service
6

Plan



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
7

Service



Périmètre fonctionnel qu’on souhaite exposer à un certain type de consommateurs



Ensemble de fonctionnalités qui ont un sens



Expose un petit nombre d’opérations offrant un traitement de bout en bout



Est implémenté par un fournisseur et utilisé par un consommateur
8

Caractéristiques d’un Service


Large Granularité (coarse-grained)
o



Interface
o



Un service peut implémenter plusieurs interfaces, et aussi plusieurs services peuvent implémenter une interface commune.

Localisable
o



Les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large au
contraire de la notion de composant technique.

Avant d’appeler (bind, invoke) un service, il faudra le trouver (find).

Instance unique
o
o



À la différence des composants qui sont instanciés à la demande et peuvent avoir plusieurs instances en même temps, un
service est unique.
Un service correspond au design pattern Singleton.

Couplage faible (loosely-coupled)
o

o

Ces standards assurent le découplage, c-à-d la réduction des dépendances.

o



Les services sont connectés aux clients et autres services via des standards
Ces standards sont en général des documents XML comme dans les web services

Synchrone ou Asynchrone
9

Couplage Fort vs. Couplage Faible


Couplage Fort
Agent

Accord de Prêt

Compte

Prêt

SMS Gateway

calculerRisque
vérifierSolde
créerPrêt
envoyerConfirmation

o

« Agent » est lié à « Accord de Prêt », qui est lié à « Compte »

o

« Prêt » est lié à « SMS Gateway »

Objets
10

Couplage Fort vs. Couplage Faible


Processus
Métier

Couplage Faible

Processus de Prêt

Vérification de Solde

Calcul de Risque

Création de Prêt

Notification par SMS

o

Chaque entité (service) a un fonctionnement indépendant des autres

o

Le processus métier « Processus de Prêt » permet d’orchestrer les services  Couplage
lâche ou faible

Services
11

Types de Services


Les services de présentations ou de référencement
o



Les processus métiers
o



composés de tâches décrites et faisant appel éventuellement à d’autres services.

Les services de gestion et d’accès aux bases de données
o



vers les informations affichées et les formulaires de saisies de données.

permettent la gestion des données partagées

Les services d’intégration
o

en charge de la messagerie ou l’échange de données tant à l’intérieur que vers l’extérieur
comme la gestion des courriers électroniques
12

Plan



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
13

Architecture Orientée Services


SOA (Service Oriented Architecture)



Style d’architecture organisé à partir de services métiers communs mutualisés pour un
ensemble de lignes métiers ou d’applications.



Permet d’intégrer et de manipuler les différentes briques et composants applicatifs
d’un système informatique et de gérer les liens qu’ils entretiennent



Objectifs
o

Décomposer une fonctionnalités en un ensemble de fonctions basiques (services) fournies
par des composants

o

Décrire finement le schéma d’interaction entre ces services
14

Du point de vue des acteurs…
Des services que l’entreprise
souhaite exposer à ses clients et
partenaires, ou à d’autres
parties de l’organisation
Dirigeant

Une architecture basée sur un
fournisseur, un consommateur et
une description de service

Architecte

Un style de programmation avec
ses standards, paradigmes,
technologies et outils associés

Développeur

Un intergiciel offrant des
fonctionnalités en terme
d’assemblage, d’orchestration,
de surveillance et de gestion des
services

Intégrateur
15

Principes de la SOA (1/2)


Diviser pour régner
o



Alignement métier
o



Substituer la découpe strictement applicative par une structuration en composants plus
réduits et potentiellement plus simples à faire évoluer.

Construire et organiser le système à partir des réalités métiers, qui doivent se retrouver dans
ses constituants.

Neutralité technologique
o

Assurer une indépendance totale entre les interfaces et les implémentations.

o

L’élément qui utilise un service ne doit pas être contraint ni par la technologie
d’implémentation, ni par sa localisation (potentiellement distribué).
16

Principes de la SOA (2/2)


Mutualisation
o
o



Favoriser la réutilisation de services métiers par plusieurs lignes métiers ou applications.
Permettre la construction de services de haut niveau par combinaison de services existants.

Automatisation des processus métier
o



Isoler la logique des processus métiers sur des composants dédiés qui prennent en charge
les enchainements de tâches et les échanges de flux d’information.

Echanges orientés Document
o

Les informations échangées par les services possèdent une structure propre, guidée par les
besoins métiers.

o

On privilégie la transmission de contenus complets et utilisables au profit d’accès direct aux
structures de type objet ou relationnel.
17

Plan



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
Éléments de Base
Composant de Service


Brique de base de l’architecture, composé d’une vue externe et
interne



La vue externe ou spécification :
o

Expose la facette service proprement dite

o

Constituée :



o



d’un ensemble d’opérations de service regroupées en interfaces
appareillage pour les utiliser (types de données échangées, contrat de
service, propriétés…)

Décrite par un fichier WSDL ou équivalent

La vue interne :
o

Décrit le contenu du composant

o

Masquée aux consommateurs du composant

o

Contient des informations relatives à la logique interne (détail de
traitement ou bases de données) + références vers les services
utilisés par le composant

18
Éléments de Base

Bus d’Entreprise (ESB : Enterprise Service Bus)


Présence de plusieurs participants sous forme de :
o

Fournisseurs de service : composants de service, deux
familles:



o



Composants qui prennent en charge l’implémentation des
services
Composants qui délèguent son implémentation à un tiers
(mainframe, ERP, application existante)

Consommateurs de service : applications, progiciels ou
autres composants de service

ESB :
o

Colonne vertébrale reliant les participants à travers les
interfaces de service

o

Possibilité de modifier les implémentations ou de remplacer
les composants sans changer la structure du système

19
Éléments de Base
Contrat de Service


Détaille les conditions d’utilisation du service sous forme de:
o

Pré- et Post- conditions : Détaillent les conditions d’utilisation sur les opérations de service

o

Protocole d’utilisation: les séquences valides d’invocation de ses opérations

o

Contraintes (QoS, SLA: Service Level Agreement, sécurité, fiabilité…)

20
Éléments de Base
Données



Données d’échange
o

o



Informations véhiculées entre les participants à
travers l’invocation des opérations de service
TDE : Types de donnée d’échange : établissent
la sémantique, structure et format de ces
données, définis à l’aide de schémas XML ou
classes UML

Données persistantes
o

Informations contenues et gérées dans les
bases de données

o

Structurées de façon habituelle (SGBD
relationnel, par exemple)

21
22

Plan



Besoins de la SOA



Notion de Service



Architecture Orientée Services : Définition et Principes



Éléments de base de la SOA



SOA et Processus
23

SOA et Processus


Dans SOA, l’automatisation des processus est très importante



Définition de plusieurs notions: (on les détaillera ultérieurement)
o
o

Composition de services

o



Orchestration de services
Chorégraphie

Objectif
o

Centraliser la logique d’un processus dans un composant dédié, qui prend en charge
l’enchaînement des règles de gestion associées
Approche orientée Application
vs
Approche orientée Services

24
25

Processus Métier


Processus de bout en bout de l’entreprise



Délivre une valeur ajoutée tangible à l’extérieur par une collaboration de plusieurs
unités et acteurs



Il peut être interrompu :
o

Possède un état, qu’il peut conserver entre deux interruptions



Peut durer plusieurs jours, mois ou plus



Est transverse : entre plusieurs départements, unités, acteurs…



Peut requérir une intervention humaine dans son déroulement, ou pas.
Exemple de Processus Métier :
Livraison d’une commande

26
27

Sources


Cours





M. Mecella : A very short Introduction to Web Services, Université de Rome
A. Occello : Module Architecture SOA et Workflow, Polytechnique de Nice

Livre Blanc


Gilbert Raymond, SOA : Architecture Logique - Principes, structures et bonnes pratiques,
Softeam, Paris
28

Références


[Casati01] F. Casati, M.C. Shan, D. Georgakopoulos (eds.): Special Issue on e-Services.
VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies
for e-Services (VLDB-TES 2001)



[Mecella01] M. Mecella, B. Pernici: Designing Wrapper Components for e-Services in
Integrating Heterogeneous Systems. VLDB Journal, 10(1), 2001, Based on the 1st
International Workshop on Technologies for e-Services (VLDB-TES 2001)



[W3C04] W3C Working Group Note, Web Services Architecture Requirements, 11 Feb.
2004

Contenu connexe

Tendances

eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
Lilia Sfaxi
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
Lilia Sfaxi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
Lilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
Lilia Sfaxi
 
Les web services
Les web servicesLes web services
Les web services
dihiaselma
 
Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServices
Lilia Sfaxi
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
Lilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
Lilia Sfaxi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
ENSET, Université Hassan II Casablanca
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
Franck SIMON
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
ENSET, Université Hassan II Casablanca
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
Lilia Sfaxi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
ENSET, Université Hassan II Casablanca
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
Lilia Sfaxi
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
RadhoueneRouached
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
CHOUAIB EL HACHIMI
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
ENSET, Université Hassan II Casablanca
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
Lilia Sfaxi
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
 

Tendances (20)

eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
Les web services
Les web servicesLes web services
Les web services
 
Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServices
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 

En vedette

eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
Lilia Sfaxi
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
Lilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
Lilia Sfaxi
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
Lilia Sfaxi
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
Lilia Sfaxi
 
Présentation de jBPM 3.1
Présentation de jBPM 3.1Présentation de jBPM 3.1
Présentation de jBPM 3.1
Thibault Cuvillier
 
Partie3 cif et dcif
Partie3  cif et dcifPartie3  cif et dcif
Partie3 cif et dcif
Lilia Sfaxi
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en Informatique
Lilia Sfaxi
 
Thinking big
Thinking bigThinking big
Thinking big
Lilia Sfaxi
 
P6 composants avancés
P6 composants avancésP6 composants avancés
P6 composants avancés
Lilia Sfaxi
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
Lilia Sfaxi
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications Mobiles
Lilia Sfaxi
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
Lilia Sfaxi
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
Lilia Sfaxi
 
J bpm workflow
J bpm workflowJ bpm workflow
J bpm workflow
BENFTIMA
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
Lilia Sfaxi
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
Lilia Sfaxi
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
Lilia Sfaxi
 

En vedette (19)

eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Présentation de jBPM 3.1
Présentation de jBPM 3.1Présentation de jBPM 3.1
Présentation de jBPM 3.1
 
Partie3 cif et dcif
Partie3  cif et dcifPartie3  cif et dcif
Partie3 cif et dcif
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en Informatique
 
Thinking big
Thinking bigThinking big
Thinking big
 
P6 composants avancés
P6 composants avancésP6 composants avancés
P6 composants avancés
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications Mobiles
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
 
J bpm workflow
J bpm workflowJ bpm workflow
J bpm workflow
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 

Similaire à Chp2 - SOA

1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf
haythem bouzouraa
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
Tugdual Grall
 
Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011
Petals Link
 
Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
Mehdi EL KRARI
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Marc Dutoo
 
cours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdfcours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdf
waliakeabraham
 
Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptx
RihabBENLAMINE
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
El Habib NFAOUI
 
spatial data infrastructure
spatial data infrastructurespatial data infrastructure
spatial data infrastructure
Desconnets Jean-Christophe
 
Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...
Hicham DJELLOULI
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsNormandy JUG
 
Cysoa formation-soa-architecture-orientee-services-synthese (1)
Cysoa formation-soa-architecture-orientee-services-synthese (1)Cysoa formation-soa-architecture-orientee-services-synthese (1)
Cysoa formation-soa-architecture-orientee-services-synthese (1)CERTyou Formation
 
Cysoa formation-soa-architecture-orientee-services-synthese
Cysoa formation-soa-architecture-orientee-services-syntheseCysoa formation-soa-architecture-orientee-services-synthese
Cysoa formation-soa-architecture-orientee-services-syntheseCERTyou Formation
 
Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOAUniserv
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT
omri med
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
Zenika
 
ESB
ESBESB
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
Moez Re
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
Gregory Boissinot
 
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administration
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administrationWb723 g formation-websphere-enterprise-service-bus-v7-0-administration
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administrationCERTyou Formation
 

Similaire à Chp2 - SOA (20)

1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf1 - chapitre 1 chapitre 2 SOA.pdf
1 - chapitre 1 chapitre 2 SOA.pdf
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011Cas d'usages d'un ESB - Petals Link - 2011
Cas d'usages d'un ESB - Petals Link - 2011
 
Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
 
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
Ouvrir son SI avec la trilogie Portail, SOA, BPM (Solutions Linux 2010 - cycl...
 
cours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdfcours_SOA_AO+FB_en_informatique_SOA_.pdf
cours_SOA_AO+FB_en_informatique_SOA_.pdf
 
Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptx
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
spatial data infrastructure
spatial data infrastructurespatial data infrastructure
spatial data infrastructure
 
Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
 
Cysoa formation-soa-architecture-orientee-services-synthese (1)
Cysoa formation-soa-architecture-orientee-services-synthese (1)Cysoa formation-soa-architecture-orientee-services-synthese (1)
Cysoa formation-soa-architecture-orientee-services-synthese (1)
 
Cysoa formation-soa-architecture-orientee-services-synthese
Cysoa formation-soa-architecture-orientee-services-syntheseCysoa formation-soa-architecture-orientee-services-synthese
Cysoa formation-soa-architecture-orientee-services-synthese
 
Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOA
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
ESB
ESBESB
ESB
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
 
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administration
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administrationWb723 g formation-websphere-enterprise-service-bus-v7-0-administration
Wb723 g formation-websphere-enterprise-service-bus-v7-0-administration
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
Lilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
Lilia Sfaxi
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
Lilia Sfaxi
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
Lilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
Lilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
Lilia Sfaxi
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
Lilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
Lilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
Lilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
Lilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
Lilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
Lilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
Lilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
Lilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
Lilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Chp2 - SOA

  • 1. Institut National des Sciences Appliquées et de Technologie Tunisie E-Services Chapitre 2 – Architecture Orientée Services (SOA) Dr. Lilia SFAXI GL5 - 2013-2014
  • 2. 1 Plan du Chapitre  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 3. 2 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 4. 3 Besoins de l’Architecture Orientée Services  Problématique d’intégration en entreprise o o  Les entreprises doivent s’adapter et être réactives aux variations des marchés  Impact sur les SI des entreprises C’est l’activité qui doit piloter la technologie et non l’inverse Prise en compte de l’évolution des besoins fonctionnels à la conception des application o La technologie doit apporter la flexibilité  Éviter le décalage entre besoins métiers et leur réalisation  Besoin de réutilisation des fonctionnalités (non fournie par le modèle MVC classique)  Processus métiers de plus en plus inter-départementaux  coût considérable dans la gestion de flux entre départements
  • 5. 4 Évolution des Architectures Hier : Architecture en Spaghetti Demain : Architecture Urbanisée Organisation du SI à l’image d’une ville  Développement coûteux  Interconnexions redondantes o Le découper en modules autonomes  Grande complexité o  Réutilisation et maintenance difficile Localiser les zones d’échange d’informations 
  • 6. 5 De plus en plus d’abstraction  Procédures et fonctions o  Modules o  groupes de fonctions, de méthodes et de traitement, sous forme de bibliothèques Objet o  sous-programmes réalisant une action brique de base logicielle, représentant une entité du monde physique, encapsulant un état et des traitements Composant o o séparation des préoccupations techniques et fonctionnelles o  élément logiciel contenant du code compilé (donc opaque) définit une interface pour communiquer avec les autres composants, et une interface de configuration Service
  • 7. 6 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 8. 7 Service  Périmètre fonctionnel qu’on souhaite exposer à un certain type de consommateurs  Ensemble de fonctionnalités qui ont un sens  Expose un petit nombre d’opérations offrant un traitement de bout en bout  Est implémenté par un fournisseur et utilisé par un consommateur
  • 9. 8 Caractéristiques d’un Service  Large Granularité (coarse-grained) o  Interface o  Un service peut implémenter plusieurs interfaces, et aussi plusieurs services peuvent implémenter une interface commune. Localisable o  Les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large au contraire de la notion de composant technique. Avant d’appeler (bind, invoke) un service, il faudra le trouver (find). Instance unique o o  À la différence des composants qui sont instanciés à la demande et peuvent avoir plusieurs instances en même temps, un service est unique. Un service correspond au design pattern Singleton. Couplage faible (loosely-coupled) o o Ces standards assurent le découplage, c-à-d la réduction des dépendances. o  Les services sont connectés aux clients et autres services via des standards Ces standards sont en général des documents XML comme dans les web services Synchrone ou Asynchrone
  • 10. 9 Couplage Fort vs. Couplage Faible  Couplage Fort Agent Accord de Prêt Compte Prêt SMS Gateway calculerRisque vérifierSolde créerPrêt envoyerConfirmation o « Agent » est lié à « Accord de Prêt », qui est lié à « Compte » o « Prêt » est lié à « SMS Gateway » Objets
  • 11. 10 Couplage Fort vs. Couplage Faible  Processus Métier Couplage Faible Processus de Prêt Vérification de Solde Calcul de Risque Création de Prêt Notification par SMS o Chaque entité (service) a un fonctionnement indépendant des autres o Le processus métier « Processus de Prêt » permet d’orchestrer les services  Couplage lâche ou faible Services
  • 12. 11 Types de Services  Les services de présentations ou de référencement o  Les processus métiers o  composés de tâches décrites et faisant appel éventuellement à d’autres services. Les services de gestion et d’accès aux bases de données o  vers les informations affichées et les formulaires de saisies de données. permettent la gestion des données partagées Les services d’intégration o en charge de la messagerie ou l’échange de données tant à l’intérieur que vers l’extérieur comme la gestion des courriers électroniques
  • 13. 12 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 14. 13 Architecture Orientée Services  SOA (Service Oriented Architecture)  Style d’architecture organisé à partir de services métiers communs mutualisés pour un ensemble de lignes métiers ou d’applications.  Permet d’intégrer et de manipuler les différentes briques et composants applicatifs d’un système informatique et de gérer les liens qu’ils entretiennent  Objectifs o Décomposer une fonctionnalités en un ensemble de fonctions basiques (services) fournies par des composants o Décrire finement le schéma d’interaction entre ces services
  • 15. 14 Du point de vue des acteurs… Des services que l’entreprise souhaite exposer à ses clients et partenaires, ou à d’autres parties de l’organisation Dirigeant Une architecture basée sur un fournisseur, un consommateur et une description de service Architecte Un style de programmation avec ses standards, paradigmes, technologies et outils associés Développeur Un intergiciel offrant des fonctionnalités en terme d’assemblage, d’orchestration, de surveillance et de gestion des services Intégrateur
  • 16. 15 Principes de la SOA (1/2)  Diviser pour régner o  Alignement métier o  Substituer la découpe strictement applicative par une structuration en composants plus réduits et potentiellement plus simples à faire évoluer. Construire et organiser le système à partir des réalités métiers, qui doivent se retrouver dans ses constituants. Neutralité technologique o Assurer une indépendance totale entre les interfaces et les implémentations. o L’élément qui utilise un service ne doit pas être contraint ni par la technologie d’implémentation, ni par sa localisation (potentiellement distribué).
  • 17. 16 Principes de la SOA (2/2)  Mutualisation o o  Favoriser la réutilisation de services métiers par plusieurs lignes métiers ou applications. Permettre la construction de services de haut niveau par combinaison de services existants. Automatisation des processus métier o  Isoler la logique des processus métiers sur des composants dédiés qui prennent en charge les enchainements de tâches et les échanges de flux d’information. Echanges orientés Document o Les informations échangées par les services possèdent une structure propre, guidée par les besoins métiers. o On privilégie la transmission de contenus complets et utilisables au profit d’accès direct aux structures de type objet ou relationnel.
  • 18. 17 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 19. Éléments de Base Composant de Service  Brique de base de l’architecture, composé d’une vue externe et interne  La vue externe ou spécification : o Expose la facette service proprement dite o Constituée :   o  d’un ensemble d’opérations de service regroupées en interfaces appareillage pour les utiliser (types de données échangées, contrat de service, propriétés…) Décrite par un fichier WSDL ou équivalent La vue interne : o Décrit le contenu du composant o Masquée aux consommateurs du composant o Contient des informations relatives à la logique interne (détail de traitement ou bases de données) + références vers les services utilisés par le composant 18
  • 20. Éléments de Base Bus d’Entreprise (ESB : Enterprise Service Bus)  Présence de plusieurs participants sous forme de : o Fournisseurs de service : composants de service, deux familles:   o  Composants qui prennent en charge l’implémentation des services Composants qui délèguent son implémentation à un tiers (mainframe, ERP, application existante) Consommateurs de service : applications, progiciels ou autres composants de service ESB : o Colonne vertébrale reliant les participants à travers les interfaces de service o Possibilité de modifier les implémentations ou de remplacer les composants sans changer la structure du système 19
  • 21. Éléments de Base Contrat de Service  Détaille les conditions d’utilisation du service sous forme de: o Pré- et Post- conditions : Détaillent les conditions d’utilisation sur les opérations de service o Protocole d’utilisation: les séquences valides d’invocation de ses opérations o Contraintes (QoS, SLA: Service Level Agreement, sécurité, fiabilité…) 20
  • 22. Éléments de Base Données  Données d’échange o o  Informations véhiculées entre les participants à travers l’invocation des opérations de service TDE : Types de donnée d’échange : établissent la sémantique, structure et format de ces données, définis à l’aide de schémas XML ou classes UML Données persistantes o Informations contenues et gérées dans les bases de données o Structurées de façon habituelle (SGBD relationnel, par exemple) 21
  • 23. 22 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  • 24. 23 SOA et Processus  Dans SOA, l’automatisation des processus est très importante  Définition de plusieurs notions: (on les détaillera ultérieurement) o o Composition de services o  Orchestration de services Chorégraphie Objectif o Centraliser la logique d’un processus dans un composant dédié, qui prend en charge l’enchaînement des règles de gestion associées
  • 26. 25 Processus Métier  Processus de bout en bout de l’entreprise  Délivre une valeur ajoutée tangible à l’extérieur par une collaboration de plusieurs unités et acteurs  Il peut être interrompu : o Possède un état, qu’il peut conserver entre deux interruptions  Peut durer plusieurs jours, mois ou plus  Est transverse : entre plusieurs départements, unités, acteurs…  Peut requérir une intervention humaine dans son déroulement, ou pas.
  • 27. Exemple de Processus Métier : Livraison d’une commande 26
  • 28. 27 Sources  Cours    M. Mecella : A very short Introduction to Web Services, Université de Rome A. Occello : Module Architecture SOA et Workflow, Polytechnique de Nice Livre Blanc  Gilbert Raymond, SOA : Architecture Logique - Principes, structures et bonnes pratiques, Softeam, Paris
  • 29. 28 Références  [Casati01] F. Casati, M.C. Shan, D. Georgakopoulos (eds.): Special Issue on e-Services. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)  [Mecella01] M. Mecella, B. Pernici: Designing Wrapper Components for e-Services in Integrating Heterogeneous Systems. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)  [W3C04] W3C Working Group Note, Web Services Architecture Requirements, 11 Feb. 2004