SlideShare une entreprise Scribd logo
1  sur  83
Télécharger pour lire hors ligne
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 1 -
Introduction à l’Architecture
Orientée Service
Modules SAR O2/SAR O3 – SI3
Revu par F. Baude, M2 MIAGE
NTDP, 2008
(essentiellement simplification,
raccourcissements, + quelques details)
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 2 -
Chaque rôle s'approprie SOA différemment :
Vous avez dit SOA?
Service Oriented Architecture
Un ensemble de services que l'entreprise souhaite exposer à leurs
clients et partenaires, ou d'autres parties de l'organisation
Un modèle de programmation avec ses standards,
paradigmes, outils et technologies associées
Un style architectural basé sur un fournisseur, un
demandeur et une description de service, et supporte
les propriétés de modularité, encapsulation,
découplage, réutilisation et composabilité
Un intergiciel offrant des fonctionnalités en terme
d'assemblage, d'orchestration, de surveillance et
de gestion des services
Dirigeants
Analystes métier
Architectes
Développeurs
Intégrateurs
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 3 -
Plan du cours
• A quels besoins répond le SOA ?
• Pourquoi les solutions actuelles sont insuffisantes ?
• Quels sont les principes de base du SOA ?
• Quels sont les éléments clé d’une architecture orientée
services ?
• Quel est le cycle de vie d’un service ?
• Quelles méthodes et outils permettent de mettre en
oeuvre une architecture orientée services ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 4 -
A quels besoins répond le SOA ?
Pourquoi les solutions actuelles sont
insuffisantes ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 5 -
Problématique de l’intégration en entreprise
• Les entreprises doivent s’adapter en permanence et être
de + en + réactives aux variations des marchés
• fusions
• acquisitions
• scissions
• diversification des offres commerciales
• changement technologiques
• …
• Ces opérations ont un impact sur le système d'information
(SI) des entreprises
• L'intégration difficile des SI est un frein à ces
changements
 C’est l’activité qui doit piloter la technologie et non
l’inverse
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 6 -
Problématique de l’intégration en entreprise
• 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'oeuvre (MOE)
 Décalage entre besoins métier et leur réalisation
(constituants informatiques)
 Pas de place pour la prise en compte de l'évolution des
besoins fonctionnels au niveau de l'application
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 7 -
Problématique de l’intégration en entreprise
• Le découpage présentation/traitement/base de données
de l'architecture 3-tiers 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) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 8 -
Problématique de l’intégration en entreprise
• Entreprises découpées en départements fonctionnels y
compris le SI
• Processus métiers de + en + inter-départementaux
• Les processus franchissent les fontières de l'entreprise
qui doit pouvoir prendre en compte les activités et
processus des partenaires pour être reactive
 Coûts considérables dans la gestion des flux entre
départements et dans l’intégration de leurs SI
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 9 -
Hier : plat de spaghettis
• Développements coûteux
• Interconnexions redondantes (point à point)
• Grande complexité
• Maintenance difficile
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 10 -
• Procédures
• Modules
• Modèles orientés objets
– Packages
– Encapsulation
• Design pattern
• ...
Vers toujours plus d'abstraction
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 11 -
Limites de la programmation orientée Objet
• Structure et architecture de l’application peu visibles
• Interactions entre objets enfouies dans le code
• Évolution / modification difficile
• Recherche des bouts de code impliqués source
d’erreur
• Gestion de la consistance d’un changement délicate
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 12 -
 Granularité encore trop fine
 Mal adaptée à la programmation à grande échelle
 Couplage fort
 Rend difficile la réutilisation
 Accroît la complexité des Systèmes OO
Objets et encapsulation
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 13 -
Encore plus de structuration avec les
composants logiciels
Analogie avec les composants
électroniques, legos, puzzles
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 14 -
Définition usuelle
 Une unité regroupant les fonctionnalités concernant
une même idée
 Un module logiciel autonome pouvant être installé sur
différentes plates-formes
 qui exporte des attributs et des méthodes
 qui peut être configuré (déploiement semi
automatique)
 capable de s’auto-décrire
Intérêt
Être des briques de base configurables pour permettre
la construction d’une application par composition
Un Composant : Qu’est-ce que c’est ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 15 -
Interactions avec un composant
 ce qui est fourni par le composant
 ce qui est utilisé par le composant
 modes de communication
Configuration du composant
 propriétés (attributs publics)
 connexions
 cycle de vie (arret, redemarrage, ...)
 contraintes techniques
(transaction, persistance, sécurité, ...)
 …
Structure d’un composant
Interfaces
fournies
Interfaces
requises
Interface de
configuration
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 16 -
Re-configuration dynamique
Distributeur de
boissons
Facturation
version 1
Facturation
version 2
Facturer:
encaisser,
rendreMonnaie
Facturer:
encaisser,
rendreMonnaie
Facturer:
encaisser,
rendreMonnaie
« Just in time binding »
Permet de modifier l'application
à chaud sans modification du code
en manipulant les assemblages
Consommer:
payer,
selectionner,
prendre
Gerer:
ouvrir,
remplir,
mettreMonnaie
Réparer:
ouvrirCapot,
fermerCapot
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 17 -
Les composants dans la nature
 La modélisation des composants logiciels est intégrée à
UML 2.0
 Spécification :
 Composants CORBA (CCM)
 Spring (JEE beans for Web apps)
 Fractal (Etendu pour le réparti, voir
GridComponentModel – Equipe I3S/INRIA OASIS)
 SCA (Service component Architecture) = utilisé pour
SOA (voir OSOA Tuscany, HydraSCA, IBMWebSphere
pack for SOA, etc)
 Plates-formes d'éxecution
 OpenCCM (GridCCM, Equipe PARIS IRISA Rennes)
 Julia (Fractal), ProActive (GCM)
 Sofa (Fractal)
 ...
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
Convergence Composants / Services
• Exposer les interfaces offertes par les composants selon une
technologie au choix; Par exemple
– Services web, avec binding SOAP
– Interface Java avec binding RMI ou JMS
• Principe suivi par la norme SCA : Service Component
Architecture
– Notion de Composite Service
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
Convergence Composants / Services : Exemple
From :
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 20 -
Demain : Architecture urbanisée
• L’urbanisation informatique définit l'organisation d’un SI à
l’image d’une ville
− découper le SI en modules autonomes (zone, quartier, îlot, bloc)
− localiser les zones d’échange d’informations (routes, ponts, tunels) qui
permettent de découpler les différents modules
• Objectif : faire évoluer le SI au même rythme que la stratégie
et l'organisation des métiers de l'entreprise
Receive
Invoke
Invoke Invoke Reply
Reply
Fault
Non-
Interruptible
Receive
Invoke
Invoke Invoke Reply
Reply
Fault
Non-
Interruptible
Canal d'échange
données processus partenaires
portail
services
legacy
...
...
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 21 -
Quels sont les principes de base du SOA ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 22 -
Principes fondamentaux de l’architecture SOA
Il n’existe pas une recette pour garantir le succès
de la mise en place d’une SOA mais des principes à
respecter :
– Discussion entre métier et IT
– Utilisation des use case métier
– Utilisation de standards
– Pas de remise en cause de l’existant lors
d’évolutions technologiques
– Découplage entre fournisseur et
consommateur de services
– Indépendance des ressources vis à vis de
ceux qui les utilisent
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 23 -
Qu’est ce qu’un Service (au sens SOA) ?
• Partage les caractéristiques suivantes d’un objet
– Modulaire (ensemble de fonctionnalités qui font sens)
• Partage les caractéristiques suivantes d’un composant
– Boite noire (séparation interface/implémentation)
– Indépendant de la localisation
– Neutralité vis-à-vis des protocoles de transport
• Correspond à un périmètre fonctionnel que l’on souhaite
exposer à des consommateurs 
• Est faiblement couplé (indépendant des autres services)
• Expose un petit nombre d’opérations offrant un
traitement de bout en bout
• Sans état
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 24 -
• Un Service expose un
Contrat
• Les services communiquent
par messages
Conditions Générales de Vente
Règlement Intérieur
Vos droits/Vos devoirs
in
out
• Un Service est Autonome
et sans état (en général,
c.ex WSRF)
• Les Frontières entre
services sont Explicites
4 propriétés du service à retenir
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 25 -
Exemple de couplage fort : Gestion de prêts
LoanAgent
calculateRisk
Loan
Account
createLoan
checkCredit
LoanApproval SMSGateway
sendConfirmation
Entités
 LoanAgent est lié à LoanApproval et Loan
 LoanApproval est lié à Account
 Loan est lié à SMSGateway
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 26 -
Gestion de prêts en couplage faible
LoanProcess CreateLoan
CheckAccount
Balance
Calculate
LoanRisk
Notify
ViaSMS
Services
 Qu’est ce que LoanProcess ?
 Un processus métier !
Il permet d’orchestrer les services = couplage lâche
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 27 -
Business Process Management (BPM)
• But : Donner à l'Entreprise les moyens de gérer ses processus
métiers de manière informatisée (modélisation, simulation,
exécution et audit)
– Optimisation, adaptation aux besoins en temps réel
• Un processus est composé de sous processus, de décisions
(Business rules) et d’activités
• Un sous processus a son propre but, entrées et sorties
• Les activités
– correspondent aux parties du processus métier qui n’incluent pas de
décision et sont associées à des rôles
– Sont réalisées par des systèmes ou des humains
• Des mesures (KPI pour Key Performance Indicators) permettent
de capturer les performances du processus
• Un processus est le résultat d’une orchestration de service
• Le processus est lui-même accessible en tant que service
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 28 -
BPM par l’exemple
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 29 -
Les couches SOA
*
*
C
o
u
p
l
a
g
e
f
o
r
t
C
o
u
p
l
a
g
e
f
a
i
b
l
e
a
u
n
i
v
e
a
u
t
e
c
h
n
i
q
u
e
o
u
a
u
n
i
v
e
a
u
l
o
g
i
q
u
e
:
v
i
s
i
o
n
S
C
A
C
o
u
p
l
a
g
e
f
a
i
b
l
e
a
u
n
i
v
e
a
u
l
o
g
i
q
u
e
Ces différents
modes de couplage
sont nécessaires et
dépendent du
niveau dans
l’architecture
E
x
:
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 30 -
Presentation
Layer
CartController
AccountController
Business
Logic
Layer
Account Cart
Inventory
Item OrderInsert OrderRead
Product
Profile
Category
Check
out
Create
Account
Default
Error
Help
Item
Details
Items
My
Account
Edit
Account
Order
Billing
Order
Process
Order
Shipping
SignOut Shopping
Cart
Search
SignIn
e-store : Couches
Data
Access
Layer
IAccount IInventory
IItem IOrder
IProduct
IProfile
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 31 -
Data
Access
Layer
IAccount IInventory
IItem IOrder
IProduct
IProfile
e-store : Domaines
Presentation
Layer
Business
Logic
Layer
Account Cart
Inventory
Item OrderInsert OrderRead
Product
Profile
Category
Check
out
Create
Account
Default
Error
Help
Item
Details
Items
My
Account
Edit
Account
Order
Billing
Order
Process
Order
Shipping
SignOut Shopping
Cart
Search
SignIn
Catalog Inventory Shopping
Customer Billing
1.0
1.1
1.2
1.0
2.0
3.5
10.0
11.2
11.5
5.1
5.2
5.3
1.0
6.0
7.0
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 32 -
Data
Access
Layer
Presentation
Layer
Business
Logic
Layer
e-store : Domaines
Catalog Inventory Shopping
Customer Billing
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 33 -
e-store : Services
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
Service
Layer
Show
Catalog
Make
Inventory
Shop
Manage
Customer
Bill
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 34 -
Bénéfices métier
• Améliorer l’agilité et la flexibilité du métier
• Faciliter la gestion des processus métier
• Offrir la capacité à casser les barrières
organisationnelles (silos)
• Réduire en temps le cycle de développement
des produits
• Améliorer le retour sur investissement
• Accroître les opportunités de revenu
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 35 -
Bénéfices techniques
• Réduire la complexité de la solution
• Construire les services une seule fois et les
utiliser fréquemment
• Garantir une intégration standardisée et le
support de clients hétérogènes
• Faciliter la maintenabilité
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 36 -
Quels sont les éléments clé d’une
architecture orientée services ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 37 -
Points clés de l’architecture
Service
consumer
Service
provider Registry
Mediation layer/Service bus
Repository
2.c Retrieve service
end-point
Contract
Business service
orchestrator
1.a Search for service
1.b Return contract
2.a Create a process instance
2.b
Execute
process
2.d Send request
Business
process description
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 38 -
Standards de l’architecture
Les standards sont un élément clé d’une SOA, ils
assurent l’interopérabilité
Transporte
SOAP
W3C
Simple Object
Access Protocol
Spec pour
Repository/Registry
UDDI
Microsoft, IBM, HP
Universal Description
Discovery and Integration
WSDL
W3C
Web Services
Description Language
Décrit le contrat
BPEL
Oasis
Business Process
Execution Language
Les trois piliers des Services Web
Décrit les
processus métier
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 39 -
SOA et web services
• Attention à ne pas confondre les 2 !
– SOA est un ensemble de concepts :
Une SOA peut se mettre en œuvre sans Web
Services
– Les WS sont de l’ordre de la technologie :
On peut utiliser les Web Services sans faire de SOA
• Les WS constituent la meilleure solution
standardisée disponible
– Un service métier = un webservice
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 40 -
Le langage BPEL
• Standard de l’OASIS
• Norme permettant de décrire des processus en XML
• Propose les fonctions basiques d’un langage de
programmation:
– sequence, flow, loop, switch…
• Identification des Instances de Process
• Gestion des transactions longue durée (scope,
compensation)
• Gestion des fautes
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 41 -
BPEL le chef d’orchestre
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 42 -
flow
PartnerLink
PartnerLink
PartnerLink
BPEL par l’exemple
PartnerLink references to the
services participating in the process flow
invoke a credit rating service synchronously
faultHandlers catch and manage
exceptions when customer
has a bad credit history
flow initiates asynchronous loan processors in parallel of execution
receive asynchronous callbacks
from longrunning loan processors
switch to the lowest loan offer
loan.bpel
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
Quelques détails sur le langage BPEL
• Transparents 52 - 67 de
http://arcad.essi.fr/riveill.old/enseignement/2007-
08/SAR02/SAR%2002%20bpel.pdf
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 44 -
ESB : couche de médiation
• C’est le point d’entrée vers un service = invocation
indirecte du service au travers du bus
• Ce point d’entrée doit être normalisé mais on ne sait pas
qui fournit le service et comment il le fournit
(implémentation).
• Infrastructure qui optimise les échanges entre
consommateurs et fournisseurs de services. Il peut
prendre en charge :
– Routage
– transformation des données
– transactions,
– sécurité,
– qualité de service,
– …
Ex: voir http://petals.ow2.org/what-is-petals-esb.html
• Le but d’un ESB est de permettre de communiquer de
manière simple et standardisée entre des applications
hétérogènes
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 45 -
Quelques manières d’implémenter un ESB
• Intergiciels de type MOM (Message Oriented
Middleware)
• Intergiciels de type Bus (CORBA par exemple)
• Intergiciels de type EAI (Message Broker avec
connecteurs propriétaires liés au moteur d’intégration)
• 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 consommateur
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 46 -
Exemples d’architecture techniques se
basant ou pas sur un ESB
Avec ESB Sans ESB
• Plusieurs connecteurs
• Orchestration importante
• Transactions conséquentes
• Communications initiées par les
applications seront donc homogènes
• Pas d‘orchestration, parce que pas
d’intermédiaire: invocations de
services directement pilotées par le
code
• Peu de transactions, ou alors les gérer
“à la main”
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
Intégration applicative via un bus JBI
• Dans cet exemple, hormis le BPEL process, tous les autres éléments applicatifs sont
des services externes au bus.
• Mais, par ex. un élément pourrait être un autre BPEL process ou un composant EJB,
ou autre, déployé DANS le bus, et vu comme un service interne.
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
Specification JBI pour ESB (ouvert)
• BC et SE peuvent se rajouter (et s’enregistrer)
sur le bus dynamiquement
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 49 -
Quel est le cycle de vie d’un service ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 50 -
Découpage du cycle de vie d’un service
• 4 grandes phases :
– Identification
– Spécification
– Développement
– Gestion
• 1 aspect tranversal : la gouvernance
– Les architectures orientées service impliquent
une vision globale
– La gouvernance permet de casser les silos de
l’entreprise
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 51 -
Provider Interfaces Documented
Service/Process Workflow Created
Service Specification Created
Service
Specification
Review
Service Specification
Develop
Components
Integrate
 Test
Create
Deployment Unit
Code in
repository
Acceptance
Test
Service Development
Monitor
service
Certify
Service
Plan
New
Versio
n
Deprec
ate
Servic
e
Decommis
sion
Service
Service Management
Service
in use
Service in
registry
Cycle de vie des services
Candidate
Consumers
Identified
Search for
Existing
Implementation
Service Identification
Service Owner
Approval
Service
Identified
Service
reusability
Commission
yes
no
exists?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 52 -
La gouvernance en quelques questions
– Qui définit et modifie les services ?
– Qui peut y accéder ?
– Quelle est la qualité que les services
doivent offrir ?
– Qui paie pour ces services ?
– Qui est responsable de l’infrastructure ?
– Qui gère les interdépendances entre les
services ?
– Comment exposer les services aux
entreprises partenaires ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 53 -
Provider Interfaces Documented
Service/Process Workflow Created
Service Specification Created
Service
Specification
Review
Service Specification
Develop
Components
Integrate
 Test
Create
Deployment Unit
Code in
repository
Acceptance
Test
Service Development
Monitor
service
Certify
Service
Plan
New
Versio
n
Deprec
ate
Servic
e
Decommis
sion
Service
Service Management
Service
in use
Service in
registry
Cycle de vie des services (activités de gouvernance)
Candidate
Consumers
Identified
Search for
Existing
Implementation
Service Identification
Service Owner
Approval
Service
Identified
Service
reusability
Commission
yes
no
exists?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 54 -
• Définit les services pour les use
cases
• Modélise les services
Architecte
• Définit les processus métiers et les
KPI associées
• Identification des services métier
• Optimise les processus via la
simulation
Analyste métier
• Assemble les services
Intégrateur
• Implémente les services
Développeur
Rôles associés au cycle de vie des services
• Publie les services
• Gère le cycle de vie des services
• Contrôle la qualité de service
Gestionnaire
Identification
Spécification
Développement
Développement
Gestion
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 55 -
Zoom sur la phase d’identification
• Un des problèmes centraux pour mettre en œuvre une SOA
• La granularité des services est fondamentale
– détermine en grande partie la réutilisabilité des services
• Or succès SOA = % de réutilisation des services
• Éviter une granularité trop fine qui entraîne :
– beaucoup d’interactions
– des problèmes de performance
• On recommande des services à “gros grain”
– attention à une granularité trop “épaisse”
– un service qui fait trop de chose, risque de ne pas être réutilisable
 Trouver le juste milieu
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 56 -
2 méthodes d’identification des services
• Une première phase d'indentification doit être effectuée sur
l'ensemble du SI dans le cadre de son urbanisation en s'appuyant sur
la cartographie des domaines métiers de l'entreprise et sur le code
existant
• Approche incrémentale : une phase d'identification est nécessaire au
démarrage de chaque nouveau projet SOA en s'appuyant sur les
processus et services répertoriés précédemment
• Approche Bottom-up :
– On part des briques informatiques, on rassemble les bouts (abstraction)
– Réalisée généralement par la MOE
– Plus adéquat pour réutiliser l’existant non “SOA-isé”
• Approche Top-down :
– On part des interactions métier pour aboutir aux interactions techniques
– Réalisée généralement par la MOA
– Plus adéquat pour démarrer un nouveau projet
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 57 -
Approche “Bottom Up”
Legacy applications
Décomposition du
diagramme de classes
Besoins
Orchestration Specification des services
Diagrammes
d'activités
Nouveaux Services + services
réutilisables (l'existant)
Nouvelle application
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 58 -
Approche “Top Down”
Orchestration
Besoins
Décomposition du processus métier
Specification des services
Nouveaux Services + services
réutilisables (l'existant)
Nouvelle application
Analyse des domaines métiers
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 59 -
Méthode Orchestra - Cartographie
Pas
plus
de
12
classes
par
catégorie
Ex : Produits
bancaires
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 60 -
Méthode Orchestra - services
Client
findClient findProduit
Portefeuille
createProduit
findProduit
Devis
createDevis
suspendDevis
findClient
findProduit
createProposition
Encaissement
evaluateRisque findClient
Produit
findCondGProduit Customer Profile
Ex : Produits
bancaires
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 61 -
Méthode IBM SOMA : cartographie des domaines métiers
Component Business Model (CBM) – ex : Location de véhicules
Execute
Control
Direct
Business
Administration
Rental Fleet
Logistics
Rentals
management
Products
Marketing 
Customer Mgt.
Customer Segmentation
Customer Behavior
Modeling
Market  Competitor
Research
Segmentation
Management
Preferred Member
Mgmt
Mass Marketing 
Advertising
Customer Relationship
Strategy
Channel  Location
Profitability
Location Operations
Management
Reservations
Management
OEM Relationship
Planning
Fleet Strategy
Fleet Planning
Call Center
Campaign Management
Customer
Communications
Marketing Strategy 
Planning
Target Marketing
Product Development /
Design
Rental Product Strategy
Demand Forecasting
Purchasing / Sourcing
Location Design 
Layout
Location  Channel
Strategy
Channel Design 
Layout
Time  Attendance
Workforce
Management
OEM Performance
Management
In-bound Logistics
Location Operations
Fleet Servicing
Corporate / LOB
Strategy
Financial Management
 Planning
Real Estate Planning
Alliance Management
Business Performance
Reporting
Legal  Regulatory
Compliance
Real Estate 
Construction
Management
Risk Management
Stock Ledger
HR Management
(Career Dev., Training,
Recruiting)
Corporate Audit
Corporate Accounting
(GL, AP, A/R,
Treasury, etc.)
HR Administration /
Payroll
Indirect Procurement
PR  Investor Relations
Pricing Management
IT Systems 
Operations
Rentals  Reservations
Customer Service
Promotions
Management
Fleet Management
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 62 -
Méthode IBM SOMA : décomposition des processus métiers
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
0.Rent Vehicle
1.1.2
Make
Reservation
1.1.1
Check
Rates
1.2
Check-out
Vehicle
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.2
Check-out
Vehicle
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.3
Check-in
Vehicle
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.3
Check-in
Vehicle
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.1
Reserve
Vehicle
1.1.2.2
Get Customer
Information
1.1.2.1
Confirm Rental
Information
1.1.2.3
Get Payment
Information
1.1.2.4
Confirm
Reservation
1.1.2.5
Create
Reservation
1.1.2.2
Get Customer
Information
1.1.2.1
Confirm Rental
Information
1.1.2.3
Get Payment
Information
1.1.2.4
Confirm
Reservation
1.1.2.5
Create
Reservation
Ex : Location de véhicules
On s'arrête au troisième niveau
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 63 -
Méthode IBM SOMA : identification des services
Rental Reservations
Fleet
Management
Promotions
Management
Customer
Service
Functional
Area
Marketing 
Customer
Management
Products Rental
Fleet Logistics
Rentals
Management
Domain
Ex : Location de véhicules
Rentals  Reservations
Vehicle
Availability
Reserve Vehicle
Check Rates
Check-In Vehicle
Check-Out Vehicle
Customer Profile Location Promotions
Location
Information
Rent Vehicle
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 64 -
Approche “Outside in”
• Dans la pratique on utilise rarement une seule approche
• Pour obtenir une granularité pertinente des services, il est
nécessaire de concilier les 2
– Faire l’analyse Top-down sans se préoccuper de l’existant
– Faire l’analyse Buttom-up en ne considérant que l’existant
– Comparer les services “remontés” avec ceux déduits des processus
– Faire les compromis nécessaires pour réutiliser le maximum de
code
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 65 -
• Les services identifiés ne doivent pas être
tous publiés :
– Chaque service a un coût et un risque
– Il faut éviter la prolifération des services
• Le “Service Litmus Test”
d'IBM aide à
trouver les “bons”
services à exposer
Candidate
Services
Candidate
Services
Services
(exposed)
Services
(exposed)
Business Alignment
Composability
Externalized Service Description
Redundancy Elimination
SLT
Candidate
Services
Candidate
Services
Services
(exposed)
Services
(exposed)
Business Alignment
Composability
Externalized Service Description
Redundancy Elimination
SLT
Business Alignment
Composability
Externalized Service Description
Redundancy Elimination
SLT
Zoom sur la phase de spécification
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 66 -
• Le potentiel d'un service est d'autant plus
important qu'il :
– permet d'automatiser un processus métier critique
– est réutilisable par plusieurs domaines métiers
– remplace une application désuette
– supporte des besoins non fonctionnels (sécurité,
logging, monitoring, ...)
• Les services non exposés
Quelques critères d' “exposabilité”
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 67 -
Location de véhicules : services exposés
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
1.1.1.2
Get Date / time
(Pick-up/drop-off)
1.1.1.1
Get Location
(Pick-up/drop-off)
1.1.1.3
Choose
Vehicle
1.1.1.4
Get Options
Information
1.1.1.5
Check Vehicle
Availability
1.1.1.6
Offer Rates
For Selection
0.Rent Vehicle
1.1.2
Make
Reservation
1.1.1
Check
Rates
1.2
Check-out
Vehicle
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.2
Check-out
Vehicle
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.2.1
Locate
Reservation
1.2.2
Modify
Reservation
1.2.3
Create Rental
Agreement
1.2.4
Sign-out
Vehicle from Lot
1.3
Check-in
Vehicle
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.3
Check-in
Vehicle
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.3.1
Locate Rental
Agreement
1.3.2
Process Return
Information
1.3.3
Process
Payment
1.3.4
Return
Vehicle to Lot
1.1
Reserve
Vehicle
1.1.2.2
Get Customer
Information
1.1.2.1
Confirm Rental
Information
1.1.2.3
Get Payment
Information
1.1.2.4
Confirm
Reservation
1.1.2.5
Create
Reservation
1.1.2.2
Get Customer
Information
1.1.2.1
Confirm Rental
Information
1.1.2.3
Get Payment
Information
1.1.2.4
Confirm
Reservation
1.1.2.5
Create
Reservation
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 68 -
Exemple : quels sont les services exposables ?
•A basic calculator for performing simple arithmetic
operations (+, -, *, /)
•A printing application, shared by multiple applications,
running in multiple environments
•A credit card authorization application
•A Database lookup that returns application-specific
data
•A composite database lookup for customer information,
searching across multiple databases
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 69 -
Quelles méthodes et outils permettent de
mettre en oeuvre une architecture orientée
services ?
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 70 -
Méthodes de conception des services
• SOMA (IBM)
• SODA (De Gamma)
• Praxeme (Unilog Management et Orchestra
Networks)
• + toutes les formations proposées par les
éditeurs tels que Softeam (SEA),
DreamSoft, etc sur leur “savoir-faire”
 Autant d’offres que de méthodes
différentes : de quoi s’y perdre !
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 71 -
Modeleurs de processus
Outils de modélisation des processus métier
− IBM WebSphere Business Modeler
– Bull Bonita
– De Gamma BPM
– MEGA
– Aris
– Corporate Modeler
– WinDesign
– Power AMC
– Popkin System Architecture
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 72 -
Moteurs d’exécution de processus
• Plate-forme d’intégration
– IBM Websphere Process Server
– BEA Weblogic Integrator/Acqualogic
– Microsoft Biztalk
– De Gamma Workflow
– Oracle BPEL PM
– Bull Orchestra
– SAP “Netweaver”
– Apache ODE
• ESB
– IBM Websphere ESB
– Celtix hosted on ObjectWeb/IONA Technologies
– OpenESB (java.net)
– Mule (codehaus.org)
– Sonic ESB
– EBM Web Sourcing Distributed Petals Bus (on OW2)
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 73 -
Contrôleurs/moniteurs
• BAM (Business Activity Monitoring)
− IBM WebSphere Business Monitor
− Oracle BAM
− Systar Business Bridge
− BMC Service Impact Manager
• Composants de sécurité
− Oracle Web Service Manager
− Oblix
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 74 -
Exemple: Gamme d'outils IBM couvrant le cycle de vie complet
WebSphere Process Server
WebSphere ESB
WebSphere Business
Modeler
WebSphere
Integration Developer
Rational Software
Architect
WebSphere Business
Monitor
WSDL
BPEL
KPIs
WebSphere Service
Repository  Registry
WebSphere
Business Services
Fabric
Service Specification
Service Development
Service execution  Management
Business Analyst
Business Analyst
Integration
Developer
Rational Application
Developer
Developer
Service Architect
Service Registrar
Governance
Manager
Performance
Manager
Server Administrator
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 75 -
Conclusions
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 76 -
Du déjà vu ?
SOA est une évolution des plate-forme passées, tout en
préservant les caractéristiques réussies des architectures
traditionnelles
– Contractualisation des services
• Design by Contract (Meyer)
– Découplage Interface/Implémentation,
interopérabilité, transparence des communications, …
• Middlewares à la CORBA
– Découplage fournisseur/comsommateur
• Message Oriented Middleware (MOM)
– Orchestration des services
• Travaux autour des workflows, langages de coordination
 SOA est une évolution plutôt qu’une révolution
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 77 -
Chronique d’une évolution
*
*
objets
*
services
services
services
composants
 Niveaux d’abstraction grandissant
Assembleur
Langages
machine
Langages
procéduraux
01011
10100
11000
01011
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 78 -
Synthèse
• Orienté fonctionnalités
• Conçu pour durer
• Cycle de développement long
Depuis
Depuis…
… …
…Vers
Vers…
…
• Orienté processus
• Conçu pour changer
• Développement et
déploiement interactif
• Silos applicatifs
• Couplage fort
• Orienté Objet
• Orchestration de Services
• Couplage faible
• Orienté message
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 79 -
Avantages et inconvénients
 Architecture adaptative
 Réutilisation du code
 Utilisation de standards
 Productivité accrue
 Manque de maturité des standards
 Lenteur d’exécution
 Difficile à effectivement implémenter
 Encore peu de chose sur la contractualisation
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 80 -
Paradoxe des principes fondamentaux
• Utilisation de standards
MAIS un standard reste un standard tant que tout
le monde l’utilise (cf CORBA)
La course à la spécification fait rage
le W3C et l’OASIS se font la guerre
• Spec des processus
• Spec sur la sécurité
• …
• Pas de remise en cause de l’existant lors
d’évolutions technologiques
MAIS les vendeurs nous asservissent toujours avec
leurs suites d’outils
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 81 -
Paradoxe des principes fondamentaux
• Découplage entre fournisseurs et consommateurs
de services
 MAIS certains composants de services s’appellent
directement au niveau du code: Couplage fort entre
fournisseurs et consommateurs réintroduit par la
couche IT
• Indépendance des ressources vis à vis de ceux qui
les utilisent
 MAIS la gestion des données est encore peu prise
en compte
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 82 -
Quelques références ...
• “Urbanisation et BPM” - Yves Caseau, DSI
Bouygues Télécom, Edition Dunod
• SOA à la sauce IBM
http://www-306.ibm.com/software/fr/soa/
• SOA à la sauce Orchestra
http://www.orchestranetworks.com/fr/soa/index.cfm
• CBM appliqué au scénario Rent-a-car
http://www.research.ibm.com/journal/sj/444/cherbakov.h
tml
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 83 -
Quelques références ...
• Composants
– CCM spec
http://www.omg.org/cgi-bin/doc?ptc/2002-08-03
– Fractal spec (GCM spec: proactive.inria.fr)
http://fractal.objectweb.org/
– Service Component Architecture (SCA)
http://www-
128.ibm.com/developerworks/library/specification/ws-sca/
– OpenCCM
http://openccm.objectweb.org/
– Sofa
http://dsrg.mff.cuni.cz/projects/sofa/tools/doc/comp
model.html

Contenu connexe

Similaire à cours_SOA_AO+FB_en_informatique_SOA_.pdf

Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureGuillaume Laforge
 
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvcours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvamine17157
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven DesignDNG Consulting
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGiVelossity
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)Aymeric Weinbach
 
03 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 01103 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 011OpenCascade
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows AzureMicrosoft
 
La plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiLa plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiDidier Donsez
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
A SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfA SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfBabacarDIOP48
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs Microsoft
 
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
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 

Similaire à cours_SOA_AO+FB_en_informatique_SOA_.pdf (20)

Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvcours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGi
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 
CV_Bilel CHAOUADI
CV_Bilel CHAOUADICV_Bilel CHAOUADI
CV_Bilel CHAOUADI
 
03 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 01103 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 011
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows Azure
 
La plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiLa plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGi
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
A SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfA SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdf
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
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
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 

Dernier

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 

Dernier (15)

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 

cours_SOA_AO+FB_en_informatique_SOA_.pdf

  • 1. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 1 - Introduction à l’Architecture Orientée Service Modules SAR O2/SAR O3 – SI3 Revu par F. Baude, M2 MIAGE NTDP, 2008 (essentiellement simplification, raccourcissements, + quelques details)
  • 2. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 2 - Chaque rôle s'approprie SOA différemment : Vous avez dit SOA? Service Oriented Architecture Un ensemble de services que l'entreprise souhaite exposer à leurs clients et partenaires, ou d'autres parties de l'organisation Un modèle de programmation avec ses standards, paradigmes, outils et technologies associées Un style architectural basé sur un fournisseur, un demandeur et une description de service, et supporte les propriétés de modularité, encapsulation, découplage, réutilisation et composabilité Un intergiciel offrant des fonctionnalités en terme d'assemblage, d'orchestration, de surveillance et de gestion des services Dirigeants Analystes métier Architectes Développeurs Intégrateurs
  • 3. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 3 - Plan du cours • A quels besoins répond le SOA ? • Pourquoi les solutions actuelles sont insuffisantes ? • Quels sont les principes de base du SOA ? • Quels sont les éléments clé d’une architecture orientée services ? • Quel est le cycle de vie d’un service ? • Quelles méthodes et outils permettent de mettre en oeuvre une architecture orientée services ?
  • 4. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 4 - A quels besoins répond le SOA ? Pourquoi les solutions actuelles sont insuffisantes ?
  • 5. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 5 - Problématique de l’intégration en entreprise • Les entreprises doivent s’adapter en permanence et être de + en + réactives aux variations des marchés • fusions • acquisitions • scissions • diversification des offres commerciales • changement technologiques • … • Ces opérations ont un impact sur le système d'information (SI) des entreprises • L'intégration difficile des SI est un frein à ces changements C’est l’activité qui doit piloter la technologie et non l’inverse
  • 6. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 6 - Problématique de l’intégration en entreprise • 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'oeuvre (MOE) Décalage entre besoins métier et leur réalisation (constituants informatiques) Pas de place pour la prise en compte de l'évolution des besoins fonctionnels au niveau de l'application
  • 7. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 7 - Problématique de l’intégration en entreprise • Le découpage présentation/traitement/base de données de l'architecture 3-tiers 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
  • 8. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 8 - Problématique de l’intégration en entreprise • Entreprises découpées en départements fonctionnels y compris le SI • Processus métiers de + en + inter-départementaux • Les processus franchissent les fontières de l'entreprise qui doit pouvoir prendre en compte les activités et processus des partenaires pour être reactive Coûts considérables dans la gestion des flux entre départements et dans l’intégration de leurs SI
  • 9. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 9 - Hier : plat de spaghettis • Développements coûteux • Interconnexions redondantes (point à point) • Grande complexité • Maintenance difficile
  • 10. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 10 - • Procédures • Modules • Modèles orientés objets – Packages – Encapsulation • Design pattern • ... Vers toujours plus d'abstraction
  • 11. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 11 - Limites de la programmation orientée Objet • Structure et architecture de l’application peu visibles • Interactions entre objets enfouies dans le code • Évolution / modification difficile • Recherche des bouts de code impliqués source d’erreur • Gestion de la consistance d’un changement délicate
  • 12. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 12 - Granularité encore trop fine Mal adaptée à la programmation à grande échelle Couplage fort Rend difficile la réutilisation Accroît la complexité des Systèmes OO Objets et encapsulation
  • 13. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 13 - Encore plus de structuration avec les composants logiciels Analogie avec les composants électroniques, legos, puzzles
  • 14. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 14 - Définition usuelle Une unité regroupant les fonctionnalités concernant une même idée Un module logiciel autonome pouvant être installé sur différentes plates-formes qui exporte des attributs et des méthodes qui peut être configuré (déploiement semi automatique) capable de s’auto-décrire Intérêt Être des briques de base configurables pour permettre la construction d’une application par composition Un Composant : Qu’est-ce que c’est ?
  • 15. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 15 - Interactions avec un composant ce qui est fourni par le composant ce qui est utilisé par le composant modes de communication Configuration du composant propriétés (attributs publics) connexions cycle de vie (arret, redemarrage, ...) contraintes techniques (transaction, persistance, sécurité, ...) … Structure d’un composant Interfaces fournies Interfaces requises Interface de configuration
  • 16. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 16 - Re-configuration dynamique Distributeur de boissons Facturation version 1 Facturation version 2 Facturer: encaisser, rendreMonnaie Facturer: encaisser, rendreMonnaie Facturer: encaisser, rendreMonnaie « Just in time binding » Permet de modifier l'application à chaud sans modification du code en manipulant les assemblages Consommer: payer, selectionner, prendre Gerer: ouvrir, remplir, mettreMonnaie Réparer: ouvrirCapot, fermerCapot
  • 17. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 17 - Les composants dans la nature La modélisation des composants logiciels est intégrée à UML 2.0 Spécification : Composants CORBA (CCM) Spring (JEE beans for Web apps) Fractal (Etendu pour le réparti, voir GridComponentModel – Equipe I3S/INRIA OASIS) SCA (Service component Architecture) = utilisé pour SOA (voir OSOA Tuscany, HydraSCA, IBMWebSphere pack for SOA, etc) Plates-formes d'éxecution OpenCCM (GridCCM, Equipe PARIS IRISA Rennes) Julia (Fractal), ProActive (GCM) Sofa (Fractal) ...
  • 18. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA Convergence Composants / Services • Exposer les interfaces offertes par les composants selon une technologie au choix; Par exemple – Services web, avec binding SOAP – Interface Java avec binding RMI ou JMS • Principe suivi par la norme SCA : Service Component Architecture – Notion de Composite Service
  • 19. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA Convergence Composants / Services : Exemple From :
  • 20. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 20 - Demain : Architecture urbanisée • L’urbanisation informatique définit l'organisation d’un SI à l’image d’une ville − découper le SI en modules autonomes (zone, quartier, îlot, bloc) − localiser les zones d’échange d’informations (routes, ponts, tunels) qui permettent de découpler les différents modules • Objectif : faire évoluer le SI au même rythme que la stratégie et l'organisation des métiers de l'entreprise Receive Invoke Invoke Invoke Reply Reply Fault Non- Interruptible Receive Invoke Invoke Invoke Reply Reply Fault Non- Interruptible Canal d'échange données processus partenaires portail services legacy ... ...
  • 21. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 21 - Quels sont les principes de base du SOA ?
  • 22. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 22 - Principes fondamentaux de l’architecture SOA Il n’existe pas une recette pour garantir le succès de la mise en place d’une SOA mais des principes à respecter : – Discussion entre métier et IT – Utilisation des use case métier – Utilisation de standards – Pas de remise en cause de l’existant lors d’évolutions technologiques – Découplage entre fournisseur et consommateur de services – Indépendance des ressources vis à vis de ceux qui les utilisent
  • 23. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 23 - Qu’est ce qu’un Service (au sens SOA) ? • Partage les caractéristiques suivantes d’un objet – Modulaire (ensemble de fonctionnalités qui font sens) • Partage les caractéristiques suivantes d’un composant – Boite noire (séparation interface/implémentation) – Indépendant de la localisation – Neutralité vis-à-vis des protocoles de transport • Correspond à un périmètre fonctionnel que l’on souhaite exposer à des consommateurs • Est faiblement couplé (indépendant des autres services) • Expose un petit nombre d’opérations offrant un traitement de bout en bout • Sans état
  • 24. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 24 - • Un Service expose un Contrat • Les services communiquent par messages Conditions Générales de Vente Règlement Intérieur Vos droits/Vos devoirs in out • Un Service est Autonome et sans état (en général, c.ex WSRF) • Les Frontières entre services sont Explicites 4 propriétés du service à retenir
  • 25. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 25 - Exemple de couplage fort : Gestion de prêts LoanAgent calculateRisk Loan Account createLoan checkCredit LoanApproval SMSGateway sendConfirmation Entités LoanAgent est lié à LoanApproval et Loan LoanApproval est lié à Account Loan est lié à SMSGateway
  • 26. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 26 - Gestion de prêts en couplage faible LoanProcess CreateLoan CheckAccount Balance Calculate LoanRisk Notify ViaSMS Services Qu’est ce que LoanProcess ? Un processus métier ! Il permet d’orchestrer les services = couplage lâche
  • 27. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 27 - Business Process Management (BPM) • But : Donner à l'Entreprise les moyens de gérer ses processus métiers de manière informatisée (modélisation, simulation, exécution et audit) – Optimisation, adaptation aux besoins en temps réel • Un processus est composé de sous processus, de décisions (Business rules) et d’activités • Un sous processus a son propre but, entrées et sorties • Les activités – correspondent aux parties du processus métier qui n’incluent pas de décision et sont associées à des rôles – Sont réalisées par des systèmes ou des humains • Des mesures (KPI pour Key Performance Indicators) permettent de capturer les performances du processus • Un processus est le résultat d’une orchestration de service • Le processus est lui-même accessible en tant que service
  • 28. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 28 - BPM par l’exemple
  • 29. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 29 - Les couches SOA * * C o u p l a g e f o r t C o u p l a g e f a i b l e a u n i v e a u t e c h n i q u e o u a u n i v e a u l o g i q u e : v i s i o n S C A C o u p l a g e f a i b l e a u n i v e a u l o g i q u e Ces différents modes de couplage sont nécessaires et dépendent du niveau dans l’architecture E x :
  • 30. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 30 - Presentation Layer CartController AccountController Business Logic Layer Account Cart Inventory Item OrderInsert OrderRead Product Profile Category Check out Create Account Default Error Help Item Details Items My Account Edit Account Order Billing Order Process Order Shipping SignOut Shopping Cart Search SignIn e-store : Couches Data Access Layer IAccount IInventory IItem IOrder IProduct IProfile
  • 31. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 31 - Data Access Layer IAccount IInventory IItem IOrder IProduct IProfile e-store : Domaines Presentation Layer Business Logic Layer Account Cart Inventory Item OrderInsert OrderRead Product Profile Category Check out Create Account Default Error Help Item Details Items My Account Edit Account Order Billing Order Process Order Shipping SignOut Shopping Cart Search SignIn Catalog Inventory Shopping Customer Billing 1.0 1.1 1.2 1.0 2.0 3.5 10.0 11.2 11.5 5.1 5.2 5.3 1.0 6.0 7.0
  • 32. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 32 - Data Access Layer Presentation Layer Business Logic Layer e-store : Domaines Catalog Inventory Shopping Customer Billing
  • 33. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 33 - e-store : Services Presentation Layer Business Logic Layer Data Access Layer Service Layer Show Catalog Make Inventory Shop Manage Customer Bill
  • 34. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 34 - Bénéfices métier • Améliorer l’agilité et la flexibilité du métier • Faciliter la gestion des processus métier • Offrir la capacité à casser les barrières organisationnelles (silos) • Réduire en temps le cycle de développement des produits • Améliorer le retour sur investissement • Accroître les opportunités de revenu
  • 35. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 35 - Bénéfices techniques • Réduire la complexité de la solution • Construire les services une seule fois et les utiliser fréquemment • Garantir une intégration standardisée et le support de clients hétérogènes • Faciliter la maintenabilité
  • 36. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 36 - Quels sont les éléments clé d’une architecture orientée services ?
  • 37. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 37 - Points clés de l’architecture Service consumer Service provider Registry Mediation layer/Service bus Repository 2.c Retrieve service end-point Contract Business service orchestrator 1.a Search for service 1.b Return contract 2.a Create a process instance 2.b Execute process 2.d Send request Business process description
  • 38. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 38 - Standards de l’architecture Les standards sont un élément clé d’une SOA, ils assurent l’interopérabilité Transporte SOAP W3C Simple Object Access Protocol Spec pour Repository/Registry UDDI Microsoft, IBM, HP Universal Description Discovery and Integration WSDL W3C Web Services Description Language Décrit le contrat BPEL Oasis Business Process Execution Language Les trois piliers des Services Web Décrit les processus métier
  • 39. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 39 - SOA et web services • Attention à ne pas confondre les 2 ! – SOA est un ensemble de concepts : Une SOA peut se mettre en œuvre sans Web Services – Les WS sont de l’ordre de la technologie : On peut utiliser les Web Services sans faire de SOA • Les WS constituent la meilleure solution standardisée disponible – Un service métier = un webservice
  • 40. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 40 - Le langage BPEL • Standard de l’OASIS • Norme permettant de décrire des processus en XML • Propose les fonctions basiques d’un langage de programmation: – sequence, flow, loop, switch… • Identification des Instances de Process • Gestion des transactions longue durée (scope, compensation) • Gestion des fautes
  • 41. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 41 - BPEL le chef d’orchestre
  • 42. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 42 - flow PartnerLink PartnerLink PartnerLink BPEL par l’exemple PartnerLink references to the services participating in the process flow invoke a credit rating service synchronously faultHandlers catch and manage exceptions when customer has a bad credit history flow initiates asynchronous loan processors in parallel of execution receive asynchronous callbacks from longrunning loan processors switch to the lowest loan offer loan.bpel
  • 43. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA Quelques détails sur le langage BPEL • Transparents 52 - 67 de http://arcad.essi.fr/riveill.old/enseignement/2007- 08/SAR02/SAR%2002%20bpel.pdf
  • 44. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 44 - ESB : couche de médiation • C’est le point d’entrée vers un service = invocation indirecte du service au travers du bus • Ce point d’entrée doit être normalisé mais on ne sait pas qui fournit le service et comment il le fournit (implémentation). • Infrastructure qui optimise les échanges entre consommateurs et fournisseurs de services. Il peut prendre en charge : – Routage – transformation des données – transactions, – sécurité, – qualité de service, – … Ex: voir http://petals.ow2.org/what-is-petals-esb.html • Le but d’un ESB est de permettre de communiquer de manière simple et standardisée entre des applications hétérogènes
  • 45. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 45 - Quelques manières d’implémenter un ESB • Intergiciels de type MOM (Message Oriented Middleware) • Intergiciels de type Bus (CORBA par exemple) • Intergiciels de type EAI (Message Broker avec connecteurs propriétaires liés au moteur d’intégration) • 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 consommateur
  • 46. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 46 - Exemples d’architecture techniques se basant ou pas sur un ESB Avec ESB Sans ESB • Plusieurs connecteurs • Orchestration importante • Transactions conséquentes • Communications initiées par les applications seront donc homogènes • Pas d‘orchestration, parce que pas d’intermédiaire: invocations de services directement pilotées par le code • Peu de transactions, ou alors les gérer “à la main”
  • 47. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA Intégration applicative via un bus JBI • Dans cet exemple, hormis le BPEL process, tous les autres éléments applicatifs sont des services externes au bus. • Mais, par ex. un élément pourrait être un autre BPEL process ou un composant EJB, ou autre, déployé DANS le bus, et vu comme un service interne.
  • 48. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA Specification JBI pour ESB (ouvert) • BC et SE peuvent se rajouter (et s’enregistrer) sur le bus dynamiquement
  • 49. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 49 - Quel est le cycle de vie d’un service ?
  • 50. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 50 - Découpage du cycle de vie d’un service • 4 grandes phases : – Identification – Spécification – Développement – Gestion • 1 aspect tranversal : la gouvernance – Les architectures orientées service impliquent une vision globale – La gouvernance permet de casser les silos de l’entreprise
  • 51. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 51 - Provider Interfaces Documented Service/Process Workflow Created Service Specification Created Service Specification Review Service Specification Develop Components Integrate Test Create Deployment Unit Code in repository Acceptance Test Service Development Monitor service Certify Service Plan New Versio n Deprec ate Servic e Decommis sion Service Service Management Service in use Service in registry Cycle de vie des services Candidate Consumers Identified Search for Existing Implementation Service Identification Service Owner Approval Service Identified Service reusability Commission yes no exists?
  • 52. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 52 - La gouvernance en quelques questions – Qui définit et modifie les services ? – Qui peut y accéder ? – Quelle est la qualité que les services doivent offrir ? – Qui paie pour ces services ? – Qui est responsable de l’infrastructure ? – Qui gère les interdépendances entre les services ? – Comment exposer les services aux entreprises partenaires ?
  • 53. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 53 - Provider Interfaces Documented Service/Process Workflow Created Service Specification Created Service Specification Review Service Specification Develop Components Integrate Test Create Deployment Unit Code in repository Acceptance Test Service Development Monitor service Certify Service Plan New Versio n Deprec ate Servic e Decommis sion Service Service Management Service in use Service in registry Cycle de vie des services (activités de gouvernance) Candidate Consumers Identified Search for Existing Implementation Service Identification Service Owner Approval Service Identified Service reusability Commission yes no exists?
  • 54. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 54 - • Définit les services pour les use cases • Modélise les services Architecte • Définit les processus métiers et les KPI associées • Identification des services métier • Optimise les processus via la simulation Analyste métier • Assemble les services Intégrateur • Implémente les services Développeur Rôles associés au cycle de vie des services • Publie les services • Gère le cycle de vie des services • Contrôle la qualité de service Gestionnaire Identification Spécification Développement Développement Gestion
  • 55. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 55 - Zoom sur la phase d’identification • Un des problèmes centraux pour mettre en œuvre une SOA • La granularité des services est fondamentale – détermine en grande partie la réutilisabilité des services • Or succès SOA = % de réutilisation des services • Éviter une granularité trop fine qui entraîne : – beaucoup d’interactions – des problèmes de performance • On recommande des services à “gros grain” – attention à une granularité trop “épaisse” – un service qui fait trop de chose, risque de ne pas être réutilisable Trouver le juste milieu
  • 56. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 56 - 2 méthodes d’identification des services • Une première phase d'indentification doit être effectuée sur l'ensemble du SI dans le cadre de son urbanisation en s'appuyant sur la cartographie des domaines métiers de l'entreprise et sur le code existant • Approche incrémentale : une phase d'identification est nécessaire au démarrage de chaque nouveau projet SOA en s'appuyant sur les processus et services répertoriés précédemment • Approche Bottom-up : – On part des briques informatiques, on rassemble les bouts (abstraction) – Réalisée généralement par la MOE – Plus adéquat pour réutiliser l’existant non “SOA-isé” • Approche Top-down : – On part des interactions métier pour aboutir aux interactions techniques – Réalisée généralement par la MOA – Plus adéquat pour démarrer un nouveau projet
  • 57. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 57 - Approche “Bottom Up” Legacy applications Décomposition du diagramme de classes Besoins Orchestration Specification des services Diagrammes d'activités Nouveaux Services + services réutilisables (l'existant) Nouvelle application
  • 58. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 58 - Approche “Top Down” Orchestration Besoins Décomposition du processus métier Specification des services Nouveaux Services + services réutilisables (l'existant) Nouvelle application Analyse des domaines métiers
  • 59. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 59 - Méthode Orchestra - Cartographie Pas plus de 12 classes par catégorie Ex : Produits bancaires
  • 60. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 60 - Méthode Orchestra - services Client findClient findProduit Portefeuille createProduit findProduit Devis createDevis suspendDevis findClient findProduit createProposition Encaissement evaluateRisque findClient Produit findCondGProduit Customer Profile Ex : Produits bancaires
  • 61. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 61 - Méthode IBM SOMA : cartographie des domaines métiers Component Business Model (CBM) – ex : Location de véhicules Execute Control Direct Business Administration Rental Fleet Logistics Rentals management Products Marketing Customer Mgt. Customer Segmentation Customer Behavior Modeling Market Competitor Research Segmentation Management Preferred Member Mgmt Mass Marketing Advertising Customer Relationship Strategy Channel Location Profitability Location Operations Management Reservations Management OEM Relationship Planning Fleet Strategy Fleet Planning Call Center Campaign Management Customer Communications Marketing Strategy Planning Target Marketing Product Development / Design Rental Product Strategy Demand Forecasting Purchasing / Sourcing Location Design Layout Location Channel Strategy Channel Design Layout Time Attendance Workforce Management OEM Performance Management In-bound Logistics Location Operations Fleet Servicing Corporate / LOB Strategy Financial Management Planning Real Estate Planning Alliance Management Business Performance Reporting Legal Regulatory Compliance Real Estate Construction Management Risk Management Stock Ledger HR Management (Career Dev., Training, Recruiting) Corporate Audit Corporate Accounting (GL, AP, A/R, Treasury, etc.) HR Administration / Payroll Indirect Procurement PR Investor Relations Pricing Management IT Systems Operations Rentals Reservations Customer Service Promotions Management Fleet Management
  • 62. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 62 - Méthode IBM SOMA : décomposition des processus métiers 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 0.Rent Vehicle 1.1.2 Make Reservation 1.1.1 Check Rates 1.2 Check-out Vehicle 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.2 Check-out Vehicle 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.3 Check-in Vehicle 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.3 Check-in Vehicle 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.1 Reserve Vehicle 1.1.2.2 Get Customer Information 1.1.2.1 Confirm Rental Information 1.1.2.3 Get Payment Information 1.1.2.4 Confirm Reservation 1.1.2.5 Create Reservation 1.1.2.2 Get Customer Information 1.1.2.1 Confirm Rental Information 1.1.2.3 Get Payment Information 1.1.2.4 Confirm Reservation 1.1.2.5 Create Reservation Ex : Location de véhicules On s'arrête au troisième niveau
  • 63. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 63 - Méthode IBM SOMA : identification des services Rental Reservations Fleet Management Promotions Management Customer Service Functional Area Marketing Customer Management Products Rental Fleet Logistics Rentals Management Domain Ex : Location de véhicules Rentals Reservations Vehicle Availability Reserve Vehicle Check Rates Check-In Vehicle Check-Out Vehicle Customer Profile Location Promotions Location Information Rent Vehicle
  • 64. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 64 - Approche “Outside in” • Dans la pratique on utilise rarement une seule approche • Pour obtenir une granularité pertinente des services, il est nécessaire de concilier les 2 – Faire l’analyse Top-down sans se préoccuper de l’existant – Faire l’analyse Buttom-up en ne considérant que l’existant – Comparer les services “remontés” avec ceux déduits des processus – Faire les compromis nécessaires pour réutiliser le maximum de code
  • 65. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 65 - • Les services identifiés ne doivent pas être tous publiés : – Chaque service a un coût et un risque – Il faut éviter la prolifération des services • Le “Service Litmus Test” d'IBM aide à trouver les “bons” services à exposer Candidate Services Candidate Services Services (exposed) Services (exposed) Business Alignment Composability Externalized Service Description Redundancy Elimination SLT Candidate Services Candidate Services Services (exposed) Services (exposed) Business Alignment Composability Externalized Service Description Redundancy Elimination SLT Business Alignment Composability Externalized Service Description Redundancy Elimination SLT Zoom sur la phase de spécification
  • 66. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 66 - • Le potentiel d'un service est d'autant plus important qu'il : – permet d'automatiser un processus métier critique – est réutilisable par plusieurs domaines métiers – remplace une application désuette – supporte des besoins non fonctionnels (sécurité, logging, monitoring, ...) • Les services non exposés Quelques critères d' “exposabilité”
  • 67. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 67 - Location de véhicules : services exposés 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 1.1.1.2 Get Date / time (Pick-up/drop-off) 1.1.1.1 Get Location (Pick-up/drop-off) 1.1.1.3 Choose Vehicle 1.1.1.4 Get Options Information 1.1.1.5 Check Vehicle Availability 1.1.1.6 Offer Rates For Selection 0.Rent Vehicle 1.1.2 Make Reservation 1.1.1 Check Rates 1.2 Check-out Vehicle 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.2 Check-out Vehicle 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.2.1 Locate Reservation 1.2.2 Modify Reservation 1.2.3 Create Rental Agreement 1.2.4 Sign-out Vehicle from Lot 1.3 Check-in Vehicle 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.3 Check-in Vehicle 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.3.1 Locate Rental Agreement 1.3.2 Process Return Information 1.3.3 Process Payment 1.3.4 Return Vehicle to Lot 1.1 Reserve Vehicle 1.1.2.2 Get Customer Information 1.1.2.1 Confirm Rental Information 1.1.2.3 Get Payment Information 1.1.2.4 Confirm Reservation 1.1.2.5 Create Reservation 1.1.2.2 Get Customer Information 1.1.2.1 Confirm Rental Information 1.1.2.3 Get Payment Information 1.1.2.4 Confirm Reservation 1.1.2.5 Create Reservation
  • 68. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 68 - Exemple : quels sont les services exposables ? •A basic calculator for performing simple arithmetic operations (+, -, *, /) •A printing application, shared by multiple applications, running in multiple environments •A credit card authorization application •A Database lookup that returns application-specific data •A composite database lookup for customer information, searching across multiple databases
  • 69. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 69 - Quelles méthodes et outils permettent de mettre en oeuvre une architecture orientée services ?
  • 70. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 70 - Méthodes de conception des services • SOMA (IBM) • SODA (De Gamma) • Praxeme (Unilog Management et Orchestra Networks) • + toutes les formations proposées par les éditeurs tels que Softeam (SEA), DreamSoft, etc sur leur “savoir-faire” Autant d’offres que de méthodes différentes : de quoi s’y perdre !
  • 71. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 71 - Modeleurs de processus Outils de modélisation des processus métier − IBM WebSphere Business Modeler – Bull Bonita – De Gamma BPM – MEGA – Aris – Corporate Modeler – WinDesign – Power AMC – Popkin System Architecture
  • 72. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 72 - Moteurs d’exécution de processus • Plate-forme d’intégration – IBM Websphere Process Server – BEA Weblogic Integrator/Acqualogic – Microsoft Biztalk – De Gamma Workflow – Oracle BPEL PM – Bull Orchestra – SAP “Netweaver” – Apache ODE • ESB – IBM Websphere ESB – Celtix hosted on ObjectWeb/IONA Technologies – OpenESB (java.net) – Mule (codehaus.org) – Sonic ESB – EBM Web Sourcing Distributed Petals Bus (on OW2)
  • 73. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 73 - Contrôleurs/moniteurs • BAM (Business Activity Monitoring) − IBM WebSphere Business Monitor − Oracle BAM − Systar Business Bridge − BMC Service Impact Manager • Composants de sécurité − Oracle Web Service Manager − Oblix
  • 74. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 74 - Exemple: Gamme d'outils IBM couvrant le cycle de vie complet WebSphere Process Server WebSphere ESB WebSphere Business Modeler WebSphere Integration Developer Rational Software Architect WebSphere Business Monitor WSDL BPEL KPIs WebSphere Service Repository Registry WebSphere Business Services Fabric Service Specification Service Development Service execution Management Business Analyst Business Analyst Integration Developer Rational Application Developer Developer Service Architect Service Registrar Governance Manager Performance Manager Server Administrator
  • 75. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 75 - Conclusions
  • 76. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 76 - Du déjà vu ? SOA est une évolution des plate-forme passées, tout en préservant les caractéristiques réussies des architectures traditionnelles – Contractualisation des services • Design by Contract (Meyer) – Découplage Interface/Implémentation, interopérabilité, transparence des communications, … • Middlewares à la CORBA – Découplage fournisseur/comsommateur • Message Oriented Middleware (MOM) – Orchestration des services • Travaux autour des workflows, langages de coordination SOA est une évolution plutôt qu’une révolution
  • 77. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 77 - Chronique d’une évolution * * objets * services services services composants Niveaux d’abstraction grandissant Assembleur Langages machine Langages procéduraux 01011 10100 11000 01011
  • 78. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 78 - Synthèse • Orienté fonctionnalités • Conçu pour durer • Cycle de développement long Depuis Depuis… … … …Vers Vers… … • Orienté processus • Conçu pour changer • Développement et déploiement interactif • Silos applicatifs • Couplage fort • Orienté Objet • Orchestration de Services • Couplage faible • Orienté message
  • 79. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 79 - Avantages et inconvénients Architecture adaptative Réutilisation du code Utilisation de standards Productivité accrue Manque de maturité des standards Lenteur d’exécution Difficile à effectivement implémenter Encore peu de chose sur la contractualisation
  • 80. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 80 - Paradoxe des principes fondamentaux • Utilisation de standards MAIS un standard reste un standard tant que tout le monde l’utilise (cf CORBA) La course à la spécification fait rage le W3C et l’OASIS se font la guerre • Spec des processus • Spec sur la sécurité • … • Pas de remise en cause de l’existant lors d’évolutions technologiques MAIS les vendeurs nous asservissent toujours avec leurs suites d’outils
  • 81. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 81 - Paradoxe des principes fondamentaux • Découplage entre fournisseurs et consommateurs de services MAIS certains composants de services s’appellent directement au niveau du code: Couplage fort entre fournisseurs et consommateurs réintroduit par la couche IT • Indépendance des ressources vis à vis de ceux qui les utilisent MAIS la gestion des données est encore peu prise en compte
  • 82. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 82 - Quelques références ... • “Urbanisation et BPM” - Yves Caseau, DSI Bouygues Télécom, Edition Dunod • SOA à la sauce IBM http://www-306.ibm.com/software/fr/soa/ • SOA à la sauce Orchestra http://www.orchestranetworks.com/fr/soa/index.cfm • CBM appliqué au scénario Rent-a-car http://www.research.ibm.com/journal/sj/444/cherbakov.h tml
  • 83. (c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 83 - Quelques références ... • Composants – CCM spec http://www.omg.org/cgi-bin/doc?ptc/2002-08-03 – Fractal spec (GCM spec: proactive.inria.fr) http://fractal.objectweb.org/ – Service Component Architecture (SCA) http://www- 128.ibm.com/developerworks/library/specification/ws-sca/ – OpenCCM http://openccm.objectweb.org/ – Sofa http://dsrg.mff.cuni.cz/projects/sofa/tools/doc/comp model.html