Beruflich Dokumente
Kultur Dokumente
Architecture Oriente
Services
Tout repose sur la mthode
10
11
12
13
14
15
16
17
Composants de PORTOS
Application interactive : demander une prestation
Processus mtier : traiter automatiquement une
demande de prestation
Application interactive : rechercher une demande dj
transmise
Application interactive : consulter ltat dune demande
particulire
18
Composants de PORTOS
Application interactive : rechercher les Points De
Distribution utiliss par le producteur
Application interactive : consulter les relevs de
consommation associs un PDD
Services : services mtier daccs linformation
Services : services dinterface avec les systmes
existants
19
Composants de PORTOS
Rfrentiels mtier : demandes, PDD, relev de
consommation, identits des utilisateurs du portail
Rfrentiel technique : journal de bord de lutilisation
du systme
20
21
22
23
24
Services CRUD
Les services mtier qui mergent spontanment au
dmarrage dun projet SOA sont les services Create,
Read, Update et Delete
Permettent de crer, rechercher, mettre jour et
supprimer de linformation des les rfrentiels du SI
Chaque service CRUD est associ un objet mtier
racine et offre lensemble des oprations permettant
de crer, rechercher et mettre jour les instances de
cet objet mtier
25
26
Services CRUD
Crer un nouvel objet mtier racine (plus exactement
crer une nouvelle instance de la classe mtier) : par
exemple, crer le client [nom prnom] est une
opration offerte par le service CRUD associ lobjet
mtier client
Rechercher dans le ou les rfrentiels concerns
lensemble des objets mtier satisfaisant un critre de
recherche : par exemple, rechercher lensemble des
clients habitant la Marsa
Mettre jour un objet mtier existant : par exemple,
mettre jour ladresse lectronique du client
Mohamed Ali
27
Services CRUD
Pour lire ou crire un objet mtier racine, le service
CRUD associ accdera en gnral plusieurs tables du
rfrentiel concern (table client , table adresse
...), voire plusieurs rfrentiels
Un service CRUD masque la complexit intrinsque du
modle dobjets mtier manipul
Certains services techniques mergent en liaison avec
les services CRUD, par exemple les services de
communication avec les systmes existants, les services
daccs aux rfrentiels SQL, etc.
28
Exercice
Services CRUD PORTOS
29
Services applicatifs
Mettre en place des services faades, cest--dire des
services de haut niveau qui masquent aux applications
composites les services CRUD, de trop bas niveau.
Exercice : Appliquer ce principe PORTOS
30
Services fonctionnels
Mettre en place des Services mtier encapsulant tout ou
partie des rgles de gestion et des traitements mtier
On les appellera des Services Fonctionnels, par analogie
avec les fonctions mtier qui regroupent dans les
systmes classiques un ensemble cohrent de rgles et
traitements mtier
Un Service Fonctionnel sappuie sur un ou des services
CRUD pour lire les informations mtier dont il a besoin
et/ou sauvegarder les informations mtier quil a
modifies/cres
31
Application - PORTOS
Un Service Fonctionnel associ la gestion des
demandes
Un Service Fonctionnel associ la cration dun
nouveau processus mtier afin de traiter une nouvelle
demande
Un Service Fonctionnel associ la gestion automatise
de la prise de rendez-vous.
32
Application - PORTOS
Le Service Applicatif enregistrer la demande de
prestation , appel par le portail, fait lui-mme appel
au Service Fonctionnel crer une demande puis au
Service Fonctionnel crer le processus mtier associ
cette nouvelle demande
33
Application - PORTOS
Le Service Fonctionnel crer une demande excute
les traitements suivants :
Appel du service technique crer un numro unique de
demande : ce service permet de rcuprer un numro
unique didentification auprs du rfrentiel
Appel du service CRUD Crer Demande correspondant
la sauvegarde dans le rfrentiel concern des
informations du formulaire, avec le numro unique
didentification de la demande
Appel du service CRUD Mettre jour Historique de la
Demande : ltat de la demande devient [demande
enregistre]
34
Application - PORTOS
Le Service Fonctionnel crer le processus mtier
associ une demande excute les traitements
suivants
Excution de la rgle de gestion Extraire de la
demande les paramtres dappel du gestionnaire de
processus
Appel du service Crer un processus dans le BPM ce
service renvoie lidentit Id_processus du processus
cre
Appel du service CRUD Mettre jour Demande :
{demande.processus = Id_processus}
35
Application - PORTOS
Larchitecture obtenue rsout les problmes voqus
auparavant
La facilit de mise en uvre de cette architecture est
meilleure, car les concepteurs des Applications Composites,
en particulier les concepteurs des processus mtier, se voient
proposer des services de haut niveau plus facilement
rutilisables
Le prix payer pour obtenir une telle architecture, cest la
rflexion qui doit prsider lmergence de la
bibliothque de services fonctionnels
Si les Services Applicatifs et les services CRUD mergeront
relativement rapidement, il nen va pas de mme pour les
Services Fonctionnels
36
37
38
39
40
41
42
43
44
45
46
48
49
50
51
52
53
54
Analyse du processus
La deuxime tape vise analyser le processus mtier
pour prciser le primtre de la solution mtier
associe ce processus
Cette analyse doit satisfaire aux exigences de
granularit des services et dexhaustivit de la gestion
des exceptions
55
Analyse du processus
Ce modle est obtenu en appliquant les principes
suivants
Regrouper certaines activits du processus vision MOA ,
pour minimiser le nombre de services appels, et faire
merger les services fonctionnels
Dcrire succinctement la faon dont les exceptions sont
traites, en interaction avec la matrise douvrage qui
statue en dernier ressort
57
Analyse du processus
On remarquera que lon peut grer les exceptions de
deux faons :
Si lexception rsulte de lapplication dune rgle de
gestion par un service appel par le processus, elle peut
tre traite automatiquement. Exemple : si le demandeur
est en contentieux car il na pas rgl ses prcdentes
factures, alors le processus envoie une lettre ou un mail
notifiant le rejet de la demande)
Si lexception rsulte dun problme extrieur au
processus, exemple : un systme extrieur, sollicit, ne
rpond pas dans les dlais), elle ne peut en gnral tre
traite que par une intervention humaine
58
Analyse du processus
Le traitement des exceptions par une intervention
humaine conduit donc au concept de recyclage, qui se
traduit par le scnario suivant :
Le processus mtier lve une exception et signale cette
exception un acteur humain
Lacteur humain tudie lexception : il peut dcider de
clore la demande, ou bien il intervient pour dbloquer
cette demande
Le dblocage dune demande entrane automatiquement la
cration dun processus dit de recyclage. Ce processus de
recyclage peut ou non rutiliser certains services
orchestrs par le processus normal
59
Analyse du processus
La ncessit de modliser non seulement le processus
mtier en lui-mme, mais galement les moyens de
traiter certaines exceptions, faute de quoi la solution
mtier dploye ne sera pas complte
60
62
Rsum mthodologique
Tout processus repose sur lorchestration de
services mtiers dont la granularit ne doit pas
tre trop fine
Un processus sans exception nexiste pas : le
modlisateur doit, pour chaque activit du
processus, se poser la question des exceptions
possibles
Un processus entirement automatis nexiste pas :
la gestion des exceptions implique en gnral de
mettre lhomme dans la boucle
63
Rsum mthodologique
Un processus mtier peut en cacher un autre, par
exemple, un processus de recyclage des exceptions
Si un processus fait appel un service externe la
solution mtier dont il fait partie, le fournisseur de
ce service doit sengager formellement sur la
qualit de service (performances notamment)
64
Rsum mthodologique
Si un processus risque de durer longtemps (
lchelle humaine), il peut tre ncessaire
de mettre en place :
Au sein du processus, une mise jour de ltat
du processus aprs chaque activit effectue
Une application composite complmentaire
permettant au demandeur dinterroger ltat du
processus.
65
Rfrences
SOA : le guide de larchitecte du SI. 2me dition,
DUNOD.