Service Oriented Architecture Cours Master 2 Isi Esmt 22

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 96

Service Oriented

Architecture (SOA)
Introduction à l’architecture orientée service
 C’est quoi SOA ?
AGENDA  Définitions – concepts généraux
Module 1 –  Les avantages à utiliser SOA ?
 Insuffisances des solutions actuelles
SOA Overview
 Quand l’utiliser ?
 Comment implémenter SOA ?
 Méthodes et outils de mise en œuvre

 Quand ne pas utiliser SOA ?


 L’ESB – Entreprise Service Bus dans SOA
 Les catégories de services SOA
 La sécurité dans SOA
 L’évolution vers SOA
 Installation du BPEL Designer 2.0
AGENDA
Module 2 –
 Installation du moteur d’exécution BPEL
Apache ODE
TP – Implémentation
de web services SOAP
 Configuration de l’environnement de travail
TP – Implémentation
sous Eclipse
de processus BPEL-
BPMN
 Implémentation des Web Service

 Implémentation de business process BPEL –


Orchestration
 Analyse complète du système
AGENDA  Extraction des fonctionnalités et des
Module 3 – modules applicatifs
 Définition et spécification des services
Projet réutilisables
d’implementation  Design de la nouvelle architecture
d’une architecture
SOA  Présentation de l’architure finale
 Squelettes de code et maquettes pour
l’implémentation de l’architecture.
Définitions – concepts
C’est quoi SOA ? généraux

Les avantages à utiliser Insuffisances des


SOA ? solutions actuelles

Module 1 – Quand l’utiliser ?


SOA Overview
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

Quand ne pas utiliser SOA ?


C’est quoi SOA ? Définitions – concepts généraux

 Qu’est ce qu’un service ?

 Dans la vie de tous les jours, nous utilisons fréquemment des


services pour nous aider.

 Ce sont des actions « précieuses » qui aident à répondre à une


demande précise (système de lavage automatique, un
restaurant et des services de transport sont des exemples de
services).
C’est quoi SOA ? Définitions – concepts généraux

 Qu’est ce qu’un service ?

 Les logiciels utilisent également des services.

 Dans l'industrie du logiciel, le déploiement d'un service signifie


fournir un outil que d'autres logiciels peuvent utiliser pour
réaliser leurs tâches.

 Un service est externe au logiciel qui le demande.


C’est quoi SOA ? Définitions – concepts généraux

 Qu’est ce qu’un service ?

 Les services sont souvent associés à deux rôles :


 Le demandeur de services, qui est le logiciel qui demande le
service (Client)
 Le fournisseur de services (Serveur), qui répond aux demandes.

Client Serveur
C’est quoi SOA ? Définitions – concepts généraux

 Qu’est ce que SOA ?

 L'architecture orientée services examine comment créer,


utiliser et combiner des services.

 Au lieu de créer de grandes suites logicielles qui font tout,


l’approche SOA atteint les objectifs logiciels en créant et en
utilisant des services et en concevant une architecture qui
prend en charge leur utilisation.
C’est quoi SOA ? Définitions – concepts généraux

 Perception de SOA du point de vue des acteurs du système

Dirigeants Un ensemble de services que


l'entreprise souhaite exposer à leurs
clients et partenaires, ou d'autres
parties de l'organisation.

Analystes
métier
C’est quoi SOA ? Définitions – concepts généraux

 Perception de SOA du point de vue des acteurs du système

Un style architectural basé sur un fournisseur, un


demandeur et une description de service, et supporte les
Architectes propriétés de modularité, encapsulation, découplage,
réutilisation et composabilité.
C’est quoi SOA ? Définitions – concepts généraux

 Perception de SOA du point de vue des acteurs du système

Un modèle de programmation avec ses standards,


Développeurs paradigmes, outils et technologies associées.
C’est quoi SOA ? Définitions – concepts généraux

 Perception de SOA du point de vue des acteurs du système

Un intergiciel offrant des fonctionnalités en terme


d’assemblage, d’orchestration, de surveillance et de
Intégrateurs gestion des services.
C’est quoi SOA ? Définitions – concepts généraux

 Les problématiques

 Hétérogénéité des applications et des données du SI des entreprises


due aux différents changements :
 Rachat par une autre entreprise (fusion de groupe/Scissions)
 Evolutions des technologies
 Difficulté dans la diversification des offres commerciales
 Spécialisation par métier (entité, service, etc…)
 Cloisonnement des différents métiers

 Impossibilité pour les décideurs d’avoir une vision d’ensemble et


cohérente du SI.
C’est quoi SOA ? Définitions – concepts généraux

 Les problématiques

 L’activité doit piloter la technologie et non l’inverse.


C’est quoi SOA ? Définitions – concepts généraux

 Les problématiques

 La création d'applications dans l'entreprise est très souvent pilotée


par des besoins à très court terme
 Développement d'une application sous tel délai avec telles
fonctionnalités.

 Modélisation et développement dirigé par les choix/contraintes


techniques
 Pas de discussion entre maitrise d'ouvrage (MOA) et maitrise
d'œuvre (MOE).
C’est quoi SOA ? Définitions – concepts généraux

 Les problématiques

 Le découpage en architecture 3-tiers classique (Présentation – Métier


– Data) facilite le travail de la MOE mais favorise le cloisonnement en
silos applicatifs indépendants (blocs monolithiques).

 Certaines fonctions sont redondantes : une version pour chaque


application.

 Pas de mutualisation des développements entre projets et peu de


réutilisation possible.
C’est quoi SOA ? Définitions – concepts généraux

 Les problématiques (en gros) :

 Développement coûteux
 Interconnexions redondantes
 Complexité de l’architecture
 Maintenance difficile voire souvent impossible (swap précoce)
C’est quoi SOA ? Définitions – concepts généraux

 La Solution :

 L’intégration des applications de l’entreprise devient une


nécessité.
 L’idée est de développer des middlewares permettant de faire
communiquer entre eux les différentes entités du SI.
C’est quoi SOA ? Définitions – concepts généraux

 Les Principes de base de SOA

Couplage faible Contrat de Abstraction des


service services
de façon à minimiser Les services adhèrent à un accord Au-delà de ce qui est décrit dans
les interdépendances de communication tel que défini le contrat de service, les services
collectivement par un ou plusieurs cachent la logique au monde
documents de description de extérieur
service
C’est quoi SOA ? Définitions – concepts généraux

 Les Principes de base de SOA

Réutilisation des Composabilité Autonomie de


services service

la logique encapsulée est elle- La capacité à regrouper Les services contrôlent


même organisée en services plusieurs services de façon à la logique qu'ils
de façon à promouvoir la former un nouveau service encapsulent
réutilisation « composite »
C’est quoi SOA ? Définitions – concepts généraux

 Les Principes de base de SOA

Absence de Auto-description
contexte [discoverability]

Interdiction formelle de Organisation du service de façon à


conserver des informations ce que ses capacités puissent être
spécifiques à une activité : découvertes avec les outils de
Zéro contexte [stateless] ! recherche disponibles
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages sur le business

Réduction des côuts


• Améliore le retour sur investissement
• Accroîssement des opportunités de revenus.
• Construction plus rapide de nouveaux systèmes pour moins d'argent (frais
d’intégration réduits du fait de sa flexibilité et de son interopérabilité)
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages sur le business

Augmentation de la productivité
des employés
• Offre la capacité à casser les barrières organisationnelles (silos)
• Réduction en temps de cycle de développement des produits.
• Facilite la gestion des processus métier.
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages sur le business

Favorise les partenariats Agilité - Construit pour le


• Basés sur les normes changement
• Les relations commerciales sont exprimées • Aide les applications à évoluer
via les interactions de services dans le temps et dans la durée
• L'intégration est motivée par ce qui est • L'approche de mise en œuvre
nécessaire, pas par ce qui est techniquement incrémentielle est prise en charge.
possible.
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages techniques

Evolution des services


• Capacité pour les entreprises à • Permet de brancher de nouveaux
développer des applications sans services ou de mettre à niveau des
remplacer les applications existantes. services existants.

• Améliore les performances, la • SOA a la capacité d'ajuster ou de


fonctionnalité d'un service => facilite la modifier les différents environnements
mise à niveau du système. externes et les grandes applications
peuvent être gérées facilement.
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages techniques

Gestion des systèmes


complexes
• Réduction de la complexité de la solution facilitant ainsi sa maintenabilité.
• Ne nécessite pas de services centralisés
• Donne aux utilisateurs une communication de haut niveau avec les services.
• Fournit des applications fiables dans lesquelles il est possible de tester et
déboguer facilement et indépendamment les services.
• L’intégration est standardisée.
Les avantages à utiliser Insuffisances des
SOA ? solutions actuelles

 Les avantages techniques

Utilisation indépendante
Le faible couplage
de la plateforme
permet la flexibilité
• Il autorise ainsi les entreprises à sélectionner
le logiciel ou le matériel de leur choix.
• Il permet l'interaction de nouveaux canaux
avec les clients, partenaires et fournisseurs.
Quand utiliser SOA ?

Systèmes d'entreprise à Fourniture de services à


grande échelle l'échelle d'Internet

Abstraction de la mise en
Réduction des coûts
œuvre des fonctionnalités

Réutilisation des processus métiers (use-


cases multiples pour le même processus)
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

Raisonner en
Choisir un
termes Services et Sélectionner les
mécanisme de
non en termes services à exposer
communication
Objets

Penser à la
Penser à la sécurité
réutilisation
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

 Les éléments de construction

 Services :
 Une fonction ou un traitement métier bien défini, autonome et ne
dépendant pas du contexte ou de l'état d'autres services

 Connexions :
 Lien reliant ces services distribués autonomes les uns aux autres
(HTTP/SOAP par exemple pour les services web).
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

Souscription Publication

Bibliothèque des
descriptions des services Serveur hébergeant les
offerts (au format UDDI) applications (Provider)

Client
Message XML publication du service
Recherche du Requête (en WSDL)
service
Service offert (dans le
(Consumer) langage de la plate-forme)

Réponse
Message XML

Logique Métier Logique Applicative


sur la base des chaînes Protocole SOAP sur la base de l’architecture des
de valeur métier Invocation du service Web depuis le poste Client services offerts par l’application
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

 Les implémentations de SOA les plus répandues sont les web


services :

 Les services Web basés sur SOAP : SOAP est actuellement une
spécification et un standard dans le monde internet mais REST n’est pas
un standard et.

 Les services Web basés sur REST : REST correspond à REpresentational


State Transfert. Ce n’est pas un standard mais un style d’architecture qui
répond à la complexité et aux limites des services basés sur SOAP.
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

 SOA et Web Services (Il ne faut pas les confondre !)

SOA Web Services


SOA est un style architectural et un Les Web Services relèvent de la technologie :
ensemble de concepts : • On peut utiliser les Web Services sans
• Une SOA peut être mise en oeuvre sans faire de la SOA
Web Services.
Les WS constituent à l’heure actuelle la meilleure solution standardisée disponible
=> Un service métier = un WebService
Comment implémenter Méthodes et outils de
SOA ? mise en oeuvre

 Points d’attention dans l’adoption de SOA :

 Une mauvaise attention accordée à la gestion des services peut entraîner


des problèmes de performances et de fiabilité du système global.

 Fournir une sécurité appropriée pour les différents rôles.

 Assurer l'interopérabilité des services.


Quand ne pas utiliser SOA ?

Lorsque vous disposez Lorsque les Lorsque le couplage fort Quand les choses
d'un environnement performances en est un avantage et non ne changent pas
informatique temps réel sont un inconvénient
homogène essentielles
ESB – Entreprise
Service Bus
SOA – ESB (Entreprise Service Bus)

 L'Enterprise Service Bus (ESB) est une architecture logicielle qui


relie tous les services sur une infrastructure de type bus.

 Il agit comme canal de communication dans la SOA en permettant


de connecter plusieurs systèmes, applications et données sans
interruption facilitant ainsi leurs interactions.
SOA – ESB (Entreprise Service Bus)
Pourquoi utiliser un ESB ?

 Rigidité des architectures logicielles

 Coût d’exploitation et de maintenance élevé

 Plusieurs infrastructures de communication

…
SOA – ESB (Entreprise Service Bus) - Pourquoi utiliser un ESB ?

Billing CRM
Web user interface

DWH BI Autres..

Web user interface


SOA – ESB (Entreprise Service Bus) - Pourquoi utiliser un ESB ?
Problèmes soulevés

Billing CRM
Web user interface

DWH BI Autres..
Les inconvénients d’une Integration E2E
• Complexité accrue
• Maintenance impossible (évolution ou
correction)
• Enormes impacts lors des « change
request »
• Flexibilité inexistante
Web user interface
SOA – ESB (Entreprise Service Bus) - Pourquoi utiliser un ESB ?
Solution apportée

Monitoring
Billing CRM BI
Services
Admin
registry

ESB

Autres.. DWH
Web user interface Web user interface
SOA – ESB (Entreprise Service Bus) - Fonctionnalités ?

 Gestion des services (services web, …)


 Gestion de l’intégration basée sur les événements
 Propose un socle pour l’orchestration entre différentes
applications (services)
 Technique (Routage, Médiation (décodage/encodage des données)
 Métier (BPM – Business Process management)

 L’ESB ne s’interface pas avec les utilisateurs


Des applications exécutées sur l’ordinateur
de l’utilisateur et connectées au serveur.
SOA
ESB (Entreprise Service Bus) Web Clients applications
View Layer

Application Server
Business Process Execution Language Business Process Management

Applications BPEL BPM Données

Entreprise Service Bus (ESB)

Services BAM Systems


Business Activity Monitoring

L'ESB est placé entre le fournisseur de services et le demandeur.


Les services et systèmes sont rattachés à l'ESB
SOA – ESB (Entreprise Service Bus)

 Les fonctionnalités couvertes par l’ESB

ESB Basics ESB Transaction Manager


Gère la communication entre les Lorsque plusieurs applications distribuées
applications logicielles dans une sont impliquées dans une transaction, au
architecture orientée services via ESB lieu de leur demander de se coordonner
(transfert de données, etc …) avec la transaction qu’elles ont initiée, l'ESB
peut se synchroniser avec elle et fournir le
service attendu.
SOA – ESB (Entreprise Service Bus)

 Les fonctionnalités couvertes par l’ESB

ESB Security Manager


• Les mécanismes d'authentification et d'autorisation
sont des éléments très importants du contrôle de
sécurité qui sont intégrés dans un ESB.
• L'ESB fournit ces mécanismes de sécurité pour
interconnecter les applications.
SOA – ESB (Entreprise Service Bus)

 Les fonctionnalités couvertes par l’ESB

ESB as Service Proxy


Le SOA utilise un proxy qui interprète les appels de
services entre deux protocoles différents (Par exemple :
RMI - Remote Method Invocation de Java) et SOAP).
SOA – ESB (Entreprise Service Bus)

 Les fonctionnalités couvertes par l’ESB

ESB as Gateway
• Il agit comme un point d’entrée vers un autre réseau.
• En tant que passerelle, il gère les données acheminées en interne ou en externe du
réseau.
• Si l'utilisateur souhaite accéder au service d'un réseau externe, il transmet le
paquet de données à la passerelle, qui se connecte ensuite à la destination de
service demandée.
SOA – ESB (Entreprise Service Bus)

 Quelques manières d’implémenter un ESB


 Intergiciels de type MOM (Message Oriented Middleware)
 Intergiciels de type Bus (CORBA par exemple)
 Routeurs Web services tel que WebSphere Web Services Gateway

 Selon le type d’implémentation retenu, l’ESB assurera plus ou moins


de « services » : le choix dépend des besoins.

 L’ESB n’est pas obligatoire : mais il est fortement recommandé pour


éviter le couplage entre fournisseur et demandeur.
SOA – ESB (Entreprise Service Bus)

 Commercial
 Microsoft Azure
 IBM app connect
 Mule ESB
 SAP Process Integration
 TIBCO Software

 Open source software


 Fuse ESB, Apache ServiceMix
 JBoss ESB
 WSO2 ESB
 Spring Integration
BPM
Business Process Management
BPM – Business Process Management

 BPM donne à l’entreprise les moyens de gérer ses processus métiers de


manière informatisée (modélisation, simulation, exécution et audit).

 Un processus est le résultat d’une orchestration de services.

 Il est composé de sous-processus, de points de décisions (Business rules) et


d’activités

 Les activités correspondent aux parties du processus métier qui n’incluent


pas de décisions et peuvent aussi bien être réalisées par des systèmes ou
des intervenants humains.
BPM à l’oeuvre
BPM – Business Process Management

create loan app credit check


Service Service
(Web) (Web)
pre- No
approved ?

Yes Loan Officer Service


Business Rules
Approval (Staff)
Human
Reserve Funds Yes Interaction
approved ?
Service Assess Loan Risk No
Business Rules
(Web)
Send
Yes Rejection
Too Risky ? Service
Email (JavaMail)
No Business Rules
Send
Service Confirmation
(JavaMail) Email
BPEL
Business Process Execution Language
BPEL – Business Process Execution Language

 Standard de l’OASIS (Organization for the Advancement of Structured


Information Standards), BPEL est une norme qui permet de décrire (en XML) et
d’executer les processus métier (orchestration).
 Il propose deux modèles de programmation :

Programmation « in the large » Programmation « in the small »


• Ce sont les non-programmeurs qui ici • Les programmeurs mettant en œuvre
implémentant les différents workflow. les différentes fonctionnalités.
• Ils combinent les fonctionnalités • Ils s’appuient sur des granularité de
existantes pour construire les processus services fine.
métier.
BPEL – Business Process Execution Language

 Les principales activités intervenant dans l’orchestration :

Receive Reply Invoke


Reste en attente de la Activité de réception d’un Emission d’une demande
réception d'un message message d’un partenaire. asynchrone.
du partenaire.
BPEL – Business Process Execution Language

 Orchestration des services :

Web Service 1

1: Receive 2: Invoke Web Service 2

5: Reply Orchestration … : Invoke …


Web Service 3 (Coordinateur)
n: Invoke
3: Invoke
Web Service n
BPEL – Business Process Execution Language

 Les services Web forment, sans nul doute, une « grande technologie » mais,
sans un moyen efficace de les gérer, ils ne parviendront pas à atteindre les
objectifs d’une SOA.

 BPEL offre une norme commune sur la façon de publier plusieurs services, de
les orchestrer en processus métier, d'auditer et de gérer les résultats.
Présentation
BPMN 2.0
Business Process Model Notation
BPMN - Avènement

 Plusieurs langages étaient utilisés pour la gestion des processus métier avec
deux tendances :
 Les langages de modélisation (UML (diagramme d’activités), BPMN (version
antérieure à 2.0), etc…)
 Les langages servant à leur exécution (BPEL)

 Ainsi, la version BPMN 2.0 a été rendue exécutable, rendant ainsi possible
le passage du « process design » au « process implémentation » sans qu’il
soit nécessaire de retoucher au modèle.
BPMN - Avènement

BPMN 1.x

BPMN 2.0

BPEL
BPMN - Exemple
BPMN – Principaux constituants

 Les événements
 Les évènements sont modélisés sous la forme d’un point. Ils peuvent
prendre plusieurs formes suivant qu’ils soient :
 un évènement de départ (en vert)

 un évènement intermédiaire (en violet) ou

 un évènement de fin (en rouge)


BPMN – Principaux constituants

 Les événements
 BPMN permet aussi de spécifier la nature de l’évènement en recensent les différents
types.
 Un évènement peut être :
 abstrait : il sera alors un point vide,
 un message
 une minuterie
 un signal
 une correction d’erreur ou
 un arrêt
BPMN – Principaux constituants

 Les tâches
 Les tâches sont les éléments qui nécessitent la mobilisation des fonctions de
l’organisation. Les actions peuvent être de différents types :
 Il peut soit s’agir de tâches qui sont effectuées par des personnes (tâches humaines)

 Si les tâches requièrent l’appel d’une fonction informatique, on parlera alors de tâche de
service

 Il se peut aussi qu’une tâche soit d’un type indéfini. On parlera alors de tâche abstraite
 Enfin, il est possible qu’un tâche soit elle-même composée de tâches. On parlera alors de
sous-processus.
BPMN – Principaux constituants

 Les branchements
 Le chemin que va prendre l’exécution d’un processus n’a pas besoin d’être
déterminé à son début. Il peut être soumis à des conditions.
 Ceux-ci sont de trois types :
 les branchements parallèles,
 les branchements exclusifs et
 les branchements inclusifs.
BPMN – Exemple

 Implémenter sous Modelio, le BPMN du processus décrit au slide 56.


Les catégories de
Services dans SOA
ENTITY TASK SERVICE UTILITY PROXY DEVICE
SERVICE SERVICE SERVICE SERVICE

PROCESS BUSINESS
SERVICE SERVICE

 Le service est une sorte d'opération bien définie,


autonome qui effectue une tâche spécifique.
Description  Les Services SOA sont réparties en diverses
catégories selon leur usage.
Entity Service

 L’Entity Service a en charge la gestion des objets métier (ex. le bon de


commande, le produit, la facture de commande, la commande, etc…).

 Il permet de réaliser donc les opérations CRUD telles que créer, lire,
supprimer et mettre à jour ces entités.

 Ce type de services manipulent les informations sur les données métier


stockées en base.
Task Service

 Les Task Services ajoutent la logique métier aux autres services.

 Ils fournissent les fonctionnalités de plusieurs entités, telles que


l’établissement du bon de commande client, la création du numéro de bon
de commande, la validation des détails du client, etc.

 Ils ont la particularité de ne pas être assez réutilisables compte-tenu de


leur forte orientation métier.
Utility Service

 Les Utility Services (services utilitaires) fournissent des fonctionnalités


techniques et transverses telles que la journalisation des événements, la
création d'un numéro unique, la gestion des notifications, etc …

 Ils ont donc la réputation d’être réutilisable du fait des traitements qu’ils
réalisent.

 Ces services contiennent de petits services qui sont utilisés comme blocs
de construction dans les systèmes orientés services.
Proxy Service

 Les Proxy Services sont des services qui servent de connexion entre les
membres du système orienté services et les autres systèmes.

 Très utiles lorsque ces systèmes utilisent des protocles différents

 Ces services sont aussi appelés services de passerelle (Gateway Service).


Business Service

 Les Business Service fournissent les fonctionnaliés métier.

 Ils sont flexibles et permettent de modifier aisément les offres


commerciales.

 Ces services implémentent les fonctionnalités qui automatisent les


processus métier telles que la gestion du service client, l'expédition du
produit client etc...
Le cycle de vie
d’un Service dans
SOA
Cycle de vie des services dans SOA

 Le cycle de vie des services dans SOA est constitué de 4 grandes phases :

 Identification
 Spécification
 Développement
 Gestion
Yes Service Owner
Approval
Service Search for Existing
Exist ?
Identified Implementation
Cycle de vie des services dans SOA

Service Reusability Candidate


No Commission Customers Identified
1- Service Identification

Service Specification Created

Service Specification
Provider Interfaces Documented
Review

Service/Process Workflow created


2- Service Specification

Develop Integrate Create Acceptance Code in


Components and Test Deployment Unit Test
repository

3- Service Development

Certify Service Monitor Plan new Decommission Deactivate


Service in
Service in use Service Version Service Service
registry

4- Service Management
Analyste métier Architecte
Définit et modélise les services.
• Définit les processus métiers et les KPI associées
• Identification des services métier et optimise les
processus par des simulations

Intégrateur
Gestionnaire Assemble les services
Développeur
- Publie les services
Implémente les services
- Gère le cycle de vie des services
- Contrôle la qualité de service

Cycle de vie des services dans SOA - Rôles


Cycle de vie des services dans SOA
La phase d’identification

 Un des problèmes centraux pour mettre en œuvre une SOA est l’identification
des services.
 La granularité des services est fondamentale car elle détermine en grande
partie la réutilisabilité des services.
 Il faut d’une part, éviter une granularité trop « fine » qui entraîne :
 beaucoup d’interactions et de problèmes de performance

 D’autre part, éviter également une granularité trop « épaisse » car :


 un service qui fait trop de choses risque de ne pas être réutilisable.

 Il faut trouver le juste milieu


Cycle de vie des services dans SOA
La phase d’identification

 Deux méthodes d’identification des services

1. Approche Bottom-up :
 On part des briques informatiques, on rassemble les bouts.
 Elle est réalisée généralement par la MOE
 Elle est plus adéquate pour réutiliser l’existant non encore pris en
compte dans une SOA
Cycle de vie des services dans SOA
La phase d’identification

 Approche « Bottom-up »

Diagramme Spécification Nouveaux


de classes des services Services + services réutilisables
(existant)

Besoins

Dagrammes Nouvelle
Orchestration
d’activités Application
Cycle de vie des services dans SOA
La phase d’identification

 Deux méthodes d’identification des services

2. Approche Top-down :
 On part des interactions métier pour aboutir aux interactions
techniques
 Elle est réalisée généralement par la MOA
 Elle est plus adéquate pour démarrer un nouveau projet
Cycle de vie des services dans SOA
La phase d’identification

 Approche « Top-Down »

Analyse des Spécification Nouveaux


domaines métier des services Services + services réutilisables
(existant)

Décomposition du
processus métier
Nouvelle
Orchestration
Besoins Application
La sécurité Description
Attaques dans SOA

dans SOA Approches de solution


 La sécurisation de l'architecture orientée services
(SOA) est nécessaire pour garantir que les services
et les applications fonctionnent en toute sécurité.

 Les services exposés ne sont généralement pas


Description protégés contre les attaques.

 Leur sécurisation est donc essentielle du fait de


l'exposition des services et du faible couplage des
composants.
 Voici une liste d'attaques dans SOA:

 Attaques par injection : Cette attaque peut se produire lorsqu'aucune validation sur
l'entrée utilisateur n'est effectuée et qu'aucune séparation n'est effectuée entre
l'entrée utilisateur et l'application (injection SQL, injection XML, etc).

 Attaque par corruption du schéma : Cette attaque, lorsqu’elle se produit, modifie,


remplace ou même endommage les schémas XML qui fournissent la structure des
documents XML.

 Attaques par déni de service (DoS) : Cette attaque, lorsqu'elle se produit, ne


modifie pas le service ou son comportement, mais peut bloquer l'utilisation du
service.

Les attaques dans SOA


 Les principales solutions sont les suivantes :

 Définition d’une intégrité pour SOA qui fournit suffisamment de conditions pour
sécuriser l'intégrité des données.

 Implémentation un système de détection d'intrusion pour les réseaux SOA


capables de détecter les intrusions affectant le comportement des services.

 Implémentation d’un système de surveillance des messages SOAP.

 …

Approches de solutions
Vers SOA …
SOA, une évolution et non une révolution
Before SOA After SOA
Closed – Monolithic - brittle Shared services – Collaborative – Interoperable
Vers SOA …

Application Dependent Business Functions Composite Applications


Service Order Account Composite Service Order Account
Scheduling Processing Management Application Scheduling Processing Management
------------ ------------- -------------

Check Customer Check Customer Order Status


status status Check credit Business
Verify Customer Process
Credit

Reusable Business Services


Check Check
Reusable Reusable Reusable
Customer Order
Service Service Service
Status Status

Reusable Reusable Check Check Reusable


Service Service Credit Inventory Service

Data Repository

Marketting Sales CRM Finance Data Marketting Sales CRM Finance Data
WareHouse WareHouse

Data Repository
Module 2 – Implémentations
Web services – BPEL – BPMN 2.0 – Orchestration
 Installation du plugin eclipse « BPEL Designer 2.0 »
Travail 1
 Installation du moteur d’exécution « BPEL Apache ODE »
 Configuration de l’environnement de travail sous Eclipse
BPEL
Implémentation de  Implémentation des web services utilisés pour
processus BPEL avec l’orchestration
Eclipse  Implémentation des processus BPEL.
Travail 1

BPEL
Implémentation de
processus BPEL avec
Eclipse
Travail 1

BPEL
Implémentation de
processus BPEL avec
Eclipse
Module 3 – Projet
Implémentation d’une architecture SOA
FIN
Ghislain AKINOCHO
Master SI 2 – Service Oriented Architecture - ESMT

Vous aimerez peut-être aussi