SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Architecture Orientée Services
Chapitre 2 - eServices
GL5
2015/2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
A VOIR
2
Principles of Service-Orientation
•  Service Reusability
•  Service Contract
•  Service Loose Coupling
•  Service Abstraction
•  Service Composability
•  Service Autonomy
•  Service Statelessness
•  Service Discoverability
(From http://ServiceOrientation.org)
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
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
PLAN
Problématique
Problématique d’intégration en entreprise
•  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
•  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 des flux entre départements
5
Besoins de l’Architecture Orientée Services
Évolution des Architectures
6
Organisation du SI à l’image d’une ville
Le découper en modules autonomes
Localiser les zones d’échange
d’informations
Hier : Architecture en Spaghetti Demain : Architecture Urbanisée
Besoins de l’Architecture Orientée Services
Développement coûteux
Interconnexions redondantes
Grande complexité
Réutilisation et maintenance difficile
De plus en plus d’abstraction
Procédures et fonctions
Sous-programmes réalisant une action
Modules
Groupes de fonctions, de méthodes et de traitement,
sous forme de bibliothèques
Objet
Brique de base logicielle, représentant une entité du
monde physique, encapsulant un état et des
traitements
Composant
Élément logiciel contenant du code compilé (donc
opaque)
Séparation des préoccupations techniques et
fonctionnelles
Définit une interface pour communiquer avec les autres
composants, et une interface de configuration
Service
7
Besoins de l’Architecture Orientée Services
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
PLAN
Définition
•  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
Notion de Service
Caractéristiques d’un Service
Large Granularité (coarse-grained) 
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.
Interface
Un service peut implémenter plusieurs interfaces, et aussi plusieurs services
peuvent implémenter une interface commune.
Localisable 
Avant d’appeler (bind, invoke) un service, il faudra le trouver (find).
Instance unique 
À 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)
Les services sont connectés aux clients et autres services via des standards
Ces standards assurent le découplage, c-à-d la réduction des dépendances.
Ces standards sont en général des documents XML comme dans les web services
Synchrone ou Asynchrone
10
Notion de Service
Couplage Fort vs. Couplage Faible
Couplage Fort
« Agent » est lié à « Accord de Prêt », qui est lié à « Compte »
« Prêt » est lié à « SMS Gateway »
11
Notion de Service
Agent Accord de Prêt Compte Prêt SMS Gateway
calculerRisque
vérifierSolde
créerPrêt
envoyerConfirmation
Objets
Couplage Fort vs. Couplage Faible
Couplage Faible
Chaque entité (service) a un fonctionnement indépendant des autres
Le processus métier « Processus de Prêt » permet d’orchestrer les services
è Couplage lâche ou faible
12
Notion de Service
Processus de Prêt Vérification de Solde Calcul de Risque Création de Prêt Notification par SMS ServicesProcessus
Métier
Types de Services
Les services de présentations ou de référencement
vers les informations affichées et les formulaires de saisies de données.
Les processus métiers
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
permettent la gestion des données partagées
Les services d’intégration
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
Notion de Service
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
PLAN
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
Décomposer une fonctionnalités en un ensemble de fonctions basiques
(services) fournies par des composants
Décrire finement le schéma d’interaction entre ces services
15
SOA: Définition et Principes
Du point de vue des acteurs…
16
SOA: Définition et Principes
Dirigeant
Architecte
Développeur
Intégrateur
Des services que l’entreprise
souhaite exposer à ses clients et
partenaires, ou à d’autres parties de
l’organisation
Une architecture basée sur un
fournisseur, un consommateur et
une description de service
Un style de programmation avec ses
standards, paradigmes, technologies
et outils associés
Un intergiciel offrant des
fonctionnalités en terme
d’assemblage, d’orchestration, de
surveillance et de gestion des
services
Principes de la SOA (1/2)
"Diviser pour régner"
Substituer la découpe strictement applicative par une structuration en
composants plus réduits et potentiellement plus simples à faire évoluer.
Alignement métier
Construire et organiser le système à partir des réalités métiers, qui
doivent se retrouver dans ses constituants.
Neutralité technologique
Assurer une indépendance totale entre les interfaces et les
implémentations.
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
SOA: Définition et Principes
Principes de la SOA (2/2)
Mutualisation
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
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
Les informations échangées par les services possèdent une structure propre,
guidée par les besoins métiers.
On privilégie la transmission de contenus complets et utilisables au profit
d’accès direct aux structures de type objet ou relationnel.
18
SOA: Définition et Principes
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
PLAN
Composant de Service
La vue externe ou spécification :
Expose la facette service proprement dite
Constituée :
•  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 :
Décrit le contenu du composant
Masquée aux consommateurs du composant
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
20
Éléments de base de la SOA
Bus d’Entreprise (ESB : Enterprise Service Bus)
Présence de plusieurs participants sous forme de :
•  Fournisseurs de service : composants de service, deux familles:
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 :
Colonne vertébrale reliant les participants à
travers les interfaces de service
Possibilité de modifier les implémentations
ou de remplacer les composants sans
changer la structure du système
21
Éléments de base de la SOA
Contrat de Service
Détaille les conditions d’utilisation du
service sous forme de:
•  Syntaxe : Nom et signature des
opérations (paramètres)
•  Pré- et Post- conditions : Détaillent
les conditions d’utilisation sur les
opérations de service
•  Protocoles réseau : Protocoles
réseau utilisables pour invoquer
les opérations
•  Protocole de conversation: les
séquences valides d’invocation de
ses opérations
•  Contraintes (QoS, SLA: Service Level
Agreement, sécurité, fiabilité…)
22
Éléments de base de la SOA
Données
Données d’échange
•  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
•  Informations contenues et gérées dans
les bases de données
•  Structurées de façon habituelle (SGBD
relationnel, par exemple)
23
Éléments de base de la SOA
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
PLAN
Contexte
Dans la SOA, l’automatisation des processus est très importante
Définition de plusieurs notions: (on les détaillera
ultérieurement)
Orchestration de services
Composition de services
Chorégraphie de services
Objectif
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
25
SOA et Processus
26
Approche orientée Application vs Approche orientée Services
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 :
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
SOA et Processus
Exemple de Processus Métier : Livraison d’une commande
28
SOA et Processus
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
Sources

Contenu connexe

Tendances

Tendances (20)

eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : DémystificationSOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
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
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 

En vedette

Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
DataWorks Summit
 

En vedette (7)

eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and Systems
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 

Similaire à eServices-Chp2: SOA

Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOA
Uniserv
 
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
CERTyou Formation
 
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
Normandy JUG
 
Webinar Staff&Line - Orsyp : Le catalogue des services
Webinar Staff&Line - Orsyp : Le catalogue des servicesWebinar Staff&Line - Orsyp : Le catalogue des services
Webinar Staff&Line - Orsyp : Le catalogue des services
lbesnard_staffandline
 
Web 2.0 Vs médias et RSE
Web 2.0 Vs médias et RSEWeb 2.0 Vs médias et RSE
Web 2.0 Vs médias et RSE
CYB@RDECHE
 
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-synthese
CERTyou Formation
 

Similaire à eServices-Chp2: SOA (20)

Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la 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
 
Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
 
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
 
Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptx
 
Data Quality et SOA
Data Quality et SOAData Quality et SOA
Data Quality et SOA
 
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...
 
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
 
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...
 
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
 
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
 
Conference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partieConference MicroServices101 - 1ere partie
Conference MicroServices101 - 1ere partie
 
Webinar Staff&Line - Orsyp : Le catalogue des services
Webinar Staff&Line - Orsyp : Le catalogue des servicesWebinar Staff&Line - Orsyp : Le catalogue des services
Webinar Staff&Line - Orsyp : Le catalogue des services
 
Web 2.0 Vs médias et RSE
Web 2.0 Vs médias et RSEWeb 2.0 Vs médias et RSE
Web 2.0 Vs médias et RSE
 
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
 
Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?
 
ESB
ESBESB
ESB
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 

Plus de 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
 

eServices-Chp2: SOA

  • 1. Architecture Orientée Services Chapitre 2 - eServices GL5 2015/2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. A VOIR 2 Principles of Service-Orientation •  Service Reusability •  Service Contract •  Service Loose Coupling •  Service Abstraction •  Service Composability •  Service Autonomy •  Service Statelessness •  Service Discoverability (From http://ServiceOrientation.org)
  • 3. 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 PLAN
  • 4. 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 PLAN
  • 5. Problématique Problématique d’intégration en entreprise •  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 •  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 des flux entre départements 5 Besoins de l’Architecture Orientée Services
  • 6. Évolution des Architectures 6 Organisation du SI à l’image d’une ville Le découper en modules autonomes Localiser les zones d’échange d’informations Hier : Architecture en Spaghetti Demain : Architecture Urbanisée Besoins de l’Architecture Orientée Services Développement coûteux Interconnexions redondantes Grande complexité Réutilisation et maintenance difficile
  • 7. De plus en plus d’abstraction Procédures et fonctions Sous-programmes réalisant une action Modules Groupes de fonctions, de méthodes et de traitement, sous forme de bibliothèques Objet Brique de base logicielle, représentant une entité du monde physique, encapsulant un état et des traitements Composant Élément logiciel contenant du code compilé (donc opaque) Séparation des préoccupations techniques et fonctionnelles Définit une interface pour communiquer avec les autres composants, et une interface de configuration Service 7 Besoins de l’Architecture Orientée Services
  • 8. 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 PLAN
  • 9. Définition •  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 Notion de Service
  • 10. Caractéristiques d’un Service Large Granularité (coarse-grained)  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. Interface Un service peut implémenter plusieurs interfaces, et aussi plusieurs services peuvent implémenter une interface commune. Localisable  Avant d’appeler (bind, invoke) un service, il faudra le trouver (find). Instance unique  À 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) Les services sont connectés aux clients et autres services via des standards Ces standards assurent le découplage, c-à-d la réduction des dépendances. Ces standards sont en général des documents XML comme dans les web services Synchrone ou Asynchrone 10 Notion de Service
  • 11. Couplage Fort vs. Couplage Faible Couplage Fort « Agent » est lié à « Accord de Prêt », qui est lié à « Compte » « Prêt » est lié à « SMS Gateway » 11 Notion de Service Agent Accord de Prêt Compte Prêt SMS Gateway calculerRisque vérifierSolde créerPrêt envoyerConfirmation Objets
  • 12. Couplage Fort vs. Couplage Faible Couplage Faible Chaque entité (service) a un fonctionnement indépendant des autres Le processus métier « Processus de Prêt » permet d’orchestrer les services è Couplage lâche ou faible 12 Notion de Service Processus de Prêt Vérification de Solde Calcul de Risque Création de Prêt Notification par SMS ServicesProcessus Métier
  • 13. Types de Services Les services de présentations ou de référencement vers les informations affichées et les formulaires de saisies de données. Les processus métiers 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 permettent la gestion des données partagées Les services d’intégration 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 Notion de Service
  • 14. 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 PLAN
  • 15. 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 Décomposer une fonctionnalités en un ensemble de fonctions basiques (services) fournies par des composants Décrire finement le schéma d’interaction entre ces services 15 SOA: Définition et Principes
  • 16. Du point de vue des acteurs… 16 SOA: Définition et Principes Dirigeant Architecte Développeur Intégrateur Des services que l’entreprise souhaite exposer à ses clients et partenaires, ou à d’autres parties de l’organisation Une architecture basée sur un fournisseur, un consommateur et une description de service Un style de programmation avec ses standards, paradigmes, technologies et outils associés Un intergiciel offrant des fonctionnalités en terme d’assemblage, d’orchestration, de surveillance et de gestion des services
  • 17. Principes de la SOA (1/2) "Diviser pour régner" Substituer la découpe strictement applicative par une structuration en composants plus réduits et potentiellement plus simples à faire évoluer. Alignement métier Construire et organiser le système à partir des réalités métiers, qui doivent se retrouver dans ses constituants. Neutralité technologique Assurer une indépendance totale entre les interfaces et les implémentations. 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 SOA: Définition et Principes
  • 18. Principes de la SOA (2/2) Mutualisation 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 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 Les informations échangées par les services possèdent une structure propre, guidée par les besoins métiers. On privilégie la transmission de contenus complets et utilisables au profit d’accès direct aux structures de type objet ou relationnel. 18 SOA: Définition et Principes
  • 19. 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 PLAN
  • 20. Composant de Service La vue externe ou spécification : Expose la facette service proprement dite Constituée : •  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 : Décrit le contenu du composant Masquée aux consommateurs du composant 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 20 Éléments de base de la SOA
  • 21. Bus d’Entreprise (ESB : Enterprise Service Bus) Présence de plusieurs participants sous forme de : •  Fournisseurs de service : composants de service, deux familles: 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 : Colonne vertébrale reliant les participants à travers les interfaces de service Possibilité de modifier les implémentations ou de remplacer les composants sans changer la structure du système 21 Éléments de base de la SOA
  • 22. Contrat de Service Détaille les conditions d’utilisation du service sous forme de: •  Syntaxe : Nom et signature des opérations (paramètres) •  Pré- et Post- conditions : Détaillent les conditions d’utilisation sur les opérations de service •  Protocoles réseau : Protocoles réseau utilisables pour invoquer les opérations •  Protocole de conversation: les séquences valides d’invocation de ses opérations •  Contraintes (QoS, SLA: Service Level Agreement, sécurité, fiabilité…) 22 Éléments de base de la SOA
  • 23. Données Données d’échange •  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 •  Informations contenues et gérées dans les bases de données •  Structurées de façon habituelle (SGBD relationnel, par exemple) 23 Éléments de base de la SOA
  • 24. 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 PLAN
  • 25. Contexte Dans la SOA, l’automatisation des processus est très importante Définition de plusieurs notions: (on les détaillera ultérieurement) Orchestration de services Composition de services Chorégraphie de services Objectif 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 25 SOA et Processus
  • 26. 26 Approche orientée Application vs Approche orientée Services
  • 27. 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 : 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 SOA et Processus
  • 28. Exemple de Processus Métier : Livraison d’une commande 28 SOA et Processus
  • 29. 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 Sources