Orientée Service
• Développements coûteux
• Interconnexions redondantes (point à point)
• Grande complexité
• Maintenance difficile
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 9 -
Vers toujours plus d'abstraction
• Procédures
• Modules
– Encapsulation
• Design pattern
• ...
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 10 -
Limites de la programmation orientée Objet
Couplage fort
Rend difficile la réutilisation
Accroît la complexité des Systèmes OO
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
Configuration du composant
propriétés (attributs publics)
connexions
cycle de vie (arret, redemarrage, ...) Interface de
contraintes techniques configuration
(transaction, persistance, sécurité, ...)
…
Interfaces
Interfaces
requises
fournies
From :
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA
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
Canal d'échange
données processus partenaires
...
Non-
Interruptible
Reply
Invoke
Fault
– Utilisation de standards
– Pas de remise en cause de l’existant lors
d’évolutions technologiques
out
Entités
LoanAgent LoanApproval Account Loan SMSGateway
calculateRisk
checkCredit
createLoan
sendConfirmation
rt
modes de couplage
fo
** sont nécessaires et
e
dépendent du
l ag
niveau dans
up
Co
l’architecture
l o i bl e
gi ue
e
:
qu
S C ea c e
lo q
e
au fa
iv te ibl
A u hn i
qu
gi
si u au fa
ve e
ni lag
vi a ive e
ou n lag
au up
Co
au up
Co
on n
:
Ex
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 29 -
e-store : Couches
AccountController CartController
Default
SignOut SignIn Search Category Items Item Shopping Help Error
Details Cart
Presentation
Layer
Default
SignOut SignIn Search Category Items Item Shopping Help Error
Details Cart
Presentation
Layer
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
• Faciliter la maintenabilité
Service Repository
consumer 1.b Return contract
Contract
• Standard de l’OASIS
• Norme permettant de décrire des processus en XML
loan.bpel
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 42 -
Quelques détails sur le langage BPEL
• Transparents 52 -> 67 de
http://arcad.essi.fr/riveill.old/enseignement/2007-08/SAR
02/SAR%2002%20bpel.pdf
• 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.
• 4 grandes phases :
– Identification
– Spécification
– Développement
– Gestion
Service Management
(c) 2007, Occello Audrey, SAR O2/SAR O3 SOA - 53 -
Rôles associés au cycle de vie des services
i o n i on
i c at Analyste métier i ca t
i f if Architecte
en
t éc
Id • Définit les processus métiers et les Sp • Définit les services pour les use
KPI associées cases
• Identification des services métier • Modélise les services
• Optimise les processus via la
simulation
e nt e nt
m m
ppe Intégrateur p pe Développeur
l o lo
éve • Assemble les services é v•e Implémente les services
D D
t i on Gestionnaire
G es
• Publie les services
• Gère le cycle de vie des services
• Contrôle la qualité de service
• 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 - 56 -
Approche “Outside in”
services à exposer
SLT
Services
Services
(exposed)
(exposed)
0.Rent Vehicle
1.1.1 1.1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.3.1 1.3.2 1.3.3 1.3.4
Check Make Locate Modify Create Rental Sign-out Locate Rental Process Return Process Return
Rates Reservation Reservation Reservation Agreement Vehicle from Lot Agreement Information Payment Vehicle to Lot
• 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”
• 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)
• Composants de sécurité
− Oracle Web Service Manager
− Oblix
BPEL WSDL
Developer
WebSphere Service
Repository & Registry
Service Registrar
Governance Performance
Business Analyst Server Administrator Manager Manager
– Découplage Interface/Implémentation,
interopérabilité, transparence des communications, …
• Middlewares à la CORBA
– Découplage fournisseur/comsommateur
• Message Oriented Middleware (MOM)
objets
Langages machine
Langages *
procéduraux **
Assembleur
services
composants services
01011
10100
11000
01011
Depuis… …Vers…
• Orienté processus
• Orienté fonctionnalités
• Conçu pour changer
• Conçu pour durer
• Développement et
• Cycle de développement long
déploiement interactif
• 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