Escolar Documentos
Profissional Documentos
Cultura Documentos
Oriente Service
- 1 -
Plan du cours
- 3 -
A quels besoins rpond le SOA ?
Pourquoi les solutions actuelles sont
insuffisantes ?
- 4 -
Problmatique de lintgration en entreprise
Les entreprises doivent sadapter en permanence et tre
de + en + ractives aux variations des marchs
fusions
acquisitions
scissions
diversification des offres commerciales
changement technologiques
- 6 -
Problmatique de lintgration en entreprise
Le dcoupage prsentation/traitement/base de donnes
de l'architecture 3-tiers facilite le travail de la MOE mais
favorise le cloisonnement en silos applicatifs indpendants
(blocs monolithiques)
Certaines fonctions sont redondantes : une version pour
chaque application
- 8 -
Hier : plat de spaghettis
Dveloppements coteux
Interconnexions redondantes (point point)
Grande complexit
Maintenance difficile
- 9 -
Vers toujours plus d'abstraction
Procdures
Modules
Encapsulation
Design pattern
...
- 10 -
Limites de la programmation oriente Objet
- 11 -
Objets et encapsulation
Couplage fort
Rend difficile la rutilisation
Accrot la complexit des Systmes OO
- 12 -
Encore plus de structuration avec les
composants logiciels
Analogie avec les composants
lectroniques, legos, puzzles
- 13 -
Un Composant : Quest-ce que cest ?
Dfinition usuelle
Une unit regroupant les fonctionnalits concernant une
mme ide
Un module logiciel autonome pouvant tre install sur
diffrentes plates-formes
qui exporte des attributs et des mthodes
automatique)
capable de sauto-dcrire
Intrt
tre des briques de base configurables pour permettre
la construction dune application par composition
- 14 -
Structure dun composant
Interactions avec un composant
ce qui est fourni par le composant
ce qui est utilis par le composant
modes de communication
Configuration du composant
proprits (attributs publics)
connexions
cycle de vie (arret, redemarrage, ...) Interface de
contraintes techniques configuration
(transaction, persistance, scurit, ...)
Interfaces
Interfaces
requises
fournies
- 15 -
Re-configuration dynamique
Consommer:
payer,
selectionner, Facturer:
prendre encaisser,
rendreMonnaie
Gerer:
ouvrir, Distributeur de Facturation
remplir, boissons
mettreMonnaie version 1
Rparer: Facturer:
ouvrirCapot, encaisser,
fermerCapot rendreMonnaie
- 16 -
Les composants dans la nature
Spcification :
Composants CORBA (CCM)
Spring (JEE beans for Web apps)
Fractal (Etendu pour le rparti, 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)
... - 17 -
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
Convergence Composants / Services : Exemple
From :
Demain : Architecture urbanise
Lurbanisation informatique dfinit l'organisation dun SI
limage dune ville
dcouper le SI en modules autonomes (zone, quartier, lot, bloc)
localiser les zones dchange dinformations (routes, ponts, tunels) qui
permettent de dcoupler les diffrents modules
Canal d'change
donnes processus partenaires
...
- 20 -
Quels sont les principes de base du SOA ?
- 21 -
Principes fondamentaux de larchitecture SOA
Il nexiste pas une recette pour garantir le succs
de la mise en place dune SOA mais des principes
respecter :
Utilisation de standards
Pas de remise en cause de lexistant lors
dvolutions technologiques
- 23 -
4 proprits du service retenir
out
- 24 -
Exemple de couplage fort : Gestion de prts
Entits
LoanAgent LoanApproval Account Loan SMSGateway
calculateRisk
checkCredit
createLoan
sendConfirmation
- 25 -
Gestion de prts en couplage faible
Services
LoanProcess CheckAccount Calculate CreateLoan Notify
Balance LoanRisk ViaSMS
Services ?
27
Co
au up
ni lag
ve e
au fa
l o i bl e
gi
qu
e
Les couches SOA
**
Co
up
l ag
Co e
au up fo
ou n lag rt
vi a ive e
si u au fa
on n
i v te i b l
S C ea c e
Ex A u h ni
: lo q
gi ue
- 30 -
niveau dans
qu
e
dpendent du
larchitecture
:
Ces diffrents
modes de couplage
sont ncessaires et
e-store : Couches
AccountController CartController
Default
SignOut SignIn Search Category Items Item Shopping Help Error
Details Cart
Presentation
Layer
- 31 -
e-store : Domaines
Default
SignOut SignIn Search Category Items Item Shopping Help Error
Details Cart
Presentation
Layer
- 32 -
e-store : Domaines
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
- 33 -
e-store : Services
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
- 34 -
Bnfices mtier
Amliorer lagilit et la flexibilit du mtier
Faciliter la gestion des processus mtier
- 35 -
Bnfices techniques
Faciliter la maintenabilit
- 36 -
Quels sont les lments cl dune
architecture oriente services ?
- 37 -
Points cls de larchitecture
1.a Search for service
Service Repository
consumer 1.b Return contract
Contract
- 39 -
SOA et web services
- 40 -
Le langage BPEL
Standard de lOASIS
Norme permettant de dcrire des processus en XML
- 41 -
BPEL le chef dorchestre
- 42 -
BPEL par lexemple
<PartnerLink> references to the
services participating in the process flow
<invoke> a credit rating service synchronously
PartnerLink <faultHandlers> catch and manage
exceptions when customer
has a bad credit history
loan.bpel
- 43 -
Quelques dtails sur le langage BPEL
Transparents 52 -> 67 de
http://arcad.essi.fr/riveill.old/enseignement/2007-08/S
AR02/SAR%2002%20bpel.pdf
ESB : couche de mdiation
Cest le point dentre vers un service => invocation
indirecte du service au travers du bus
Ce point dentre doit tre normalis mais on ne sait pas
qui fournit le service et comment il le fournit
(implmentation).
Infrastructure qui optimise les changes entre
consommateurs et fournisseurs de services. Il peut
prendre en charge :
Routage
transformation des donnes
transactions,
scurit,
qualit de service,
Ex: voir http://petals.ow2.org/what-is-petals-esb.html
Le but dun ESB est de permettre de communiquer de
manire simple et standardise entre des applications
htrognes
- 45 -
Quelques manires dimplmenter un ESB
Intergiciels de type MOM (Message Oriented
Middleware)
Intergiciels de type Bus (CORBA par exemple)
Intergiciels de type EAI (Message Broker avec
connecteurs propritaires lis au moteur dintgration)
Routeurs Web services tel que WebSphere Web
Services Gateway
Dans cet exemple, hormis le BPEL process, tous les autres lments applicatifs sont
des services externes au bus.
Mais, par ex. un lment pourrait tre un autre BPEL process ou un composant EJB,
ou autre, dploy DANS le bus, et vu comme un service interne.
Specification JBI pour ESB (ouvert)
- 50 -
Dcoupage du cycle de vie dun service
4 grandes phases :
Identification
Spcification
Dveloppement
Gestion
- 51 -
Cycle de vie des services (activits de gouvernance)
yes Service Owner
Search for Approval
Service
Existing exists?
Identified
Implementation Service Candidate
no reusability Consumers
Service Identification Commission Identified
Service Management
- 54 -
Rles associs au cycle de vie des services
i o n i on
a t t
ic Analyste mtier i ca Architecte
t i f
cif
d en Sp Dfinit les services pour les use
I Dfinit les processus mtiers et les
KPI associes cases
Identification des services mtier Modlise les services
Optimise les processus via la
simulation
e nt e nt
m m
ppe Intgrateur p pe Dveloppeur
l o lo
ve Assemble les services ve Implmente les services
D D
t i on Gestionnaire
s
Ge
Publie les services
Gre le cycle de vie des services
Contrle la qualit de service
- 55 -
Zoom sur la phase didentification
Approche Bottom-up :
On part des briques informatiques, on rassemble les bouts (abstraction)
Ralise gnralement par la MOE
Plus adquat pour rutiliser lexistant non SOA-is
Approche Top-down :
On part des interactions mtier pour aboutir aux interactions techniques
Ralise gnralement par la MOA
Plus adquat pour dmarrer un nouveau projet
- 57 -
Approche Outside in
- 65 -
Zoom sur la phase de spcification
Les services identifis ne doivent pas tre
tous publis :
Chaque service a un cot et un risque
Il faut viter la prolifration des services
- 66 -
Quelques critres d' exposabilit
Le potentiel d'un service est d'autant plus
important qu'il :
permet d'automatiser un processus mtier critique
est rutilisable par plusieurs domaines mtiers
remplace une application dsuette
supporte des besoins non fonctionnels (scurit,
logging, monitoring, ...)
- 67 -
Location de vhicules : services exposs
- 68 -
Exemple : quels sont les services exposables ?
A basic calculator for performing simple arithmetic
operations (+, -, *, /)
- 70 -
Mthodes de conception des services
SOMA (IBM)
SODA (De Gamma)
Praxeme (Unilog Management et Orchestra
Networks)
+ toutes les formations proposes par les
diteurs tels que Softeam (SEA),
DreamSoft, etc sur leur savoir-faire
- 71 -
Modeleurs de processus
ESB
IBM Websphere ESB
Celtix hosted on ObjectWeb/IONA Technologies
OpenESB (java.net)
Mule (codehaus.org)
Sonic ESB - 73 -
Contrleurs/moniteurs
Composants de scurit
Oracle Web Service Manager
Oblix
BPEL WSDL
Developer
WebSphere Service
Repository & Registry
Service Registrar
Governance Performance
Business Analyst Server Administrator Manager Manager
- 76 -
Du dj vu ?
SOA est une volution des plate-forme passes, tout en
prservant les caractristiques russies des architectures
traditionnelles
Dcouplage Interface/Implmentation,
interoprabilit, transparence des communications,
Middlewares la CORBA
Dcouplage fournisseur/comsommateur
Message Oriented Middleware (MOM)
- 77 -
Chronique dune volution
objets
Langages machine
Langages *
procduraux **
Assembleur
services
composants services
01011
10100
11000
01011
Depuis Vers
Orient processus
Orient fonctionnalits
Conu pour changer
Conu pour durer
Dveloppement et
Cycle de dveloppement long
dploiement interactif
- 79 -
Avantages et inconvnients
Architecture adaptative
Rutilisation du code
Utilisation de standards
Productivit accrue
- 80 -
Quelques rfrences ...
Urbanisation et BPM - Yves Caseau, DSI
Bouygues Tlcom, Edition Dunod
- 83 -
Quelques rfrences ...
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
- 84 -