Upload
med-aymen
View
224
Download
2
Embed Size (px)
DESCRIPTION
ghdsghggdhdsghgdshdshdshsththhts
Citation preview
(c) 2012-2013, Occello Audrey, module SOA & Workflow - 2 -
Chaque rle s'approprie SOA diffremment :
Vous avez dit SOA? Service Oriented Architecture
Des services que l'entreprise souhaite exposer leurs clients et partenaires, ou d'autres parties de l'organisation
Un style de programmation avec ses standards, paradigmes, technologies et outils associs
Une architecture base sur un fournisseur, un consommateur et une description de service, et supportant les proprits de modularit, encapsulation, dcouplage, rutilisation et composabilit
Un intergiciel offrant des fonctionnalits en terme d'assemblage, d'orchestration, de surveillance et de gestion des services
Dirigeants
Analystes mtier
Architectes
Dveloppeurs
Intgrateurs
- 6 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 6 -
Plan du cours
A quels besoins rpond SOA ? Quels sont les principes de base de SOA ? Quels sont les liens entre objets et services ?
Quels sont les lments cl de larchitecture technique ?
- 7 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 7 -
A quels besoins rpond SOA ?
- 8 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 8 -
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
Ces oprations ont un impact sur les systmes
d'informations (SI) des entreprises L'intgration difficile des SI est un frein ces
changements Cest lactivit qui doit piloter la technologie et non
linverse
- 9 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 9 -
Du "conu pour durer" au "conu pour changer"
Cration d'applications dans l'entreprise trs souvent pilote par des besoins trs court terme
Dveloppement d'une application sous tel dlai avec telles fonctionnalits
Pas de place pour la prise en compte de l'volution des besoins fonctionnels au niveau de la conception de l'application, cest la technologie dapporter la flexibilit
- 11 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 11 -
Rutilisation vs cloisonnement Le dcoupage 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
Pas de mutualisation des dveloppements entre projets
et peu de rutilisation possible
Prsentation
Logique applicative
Base de donnes
Prsentation
Logique applicative
Base de donnes
Prsentation
Logique applicative
Base de donnes
Application 1 Application 2 Application 3
- 14 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 14 -
Silos et transversalit Entreprises dcoupes en dpartements fonctionnels Mais : Processus mtiers de + en + inter-dpartementaux Les processus franchissent les fontires de l'entreprise
qui doit pouvoir prendre en compte les activits et processus des partenaires pour tre reactive
Cots considrables dans la gestion des flux entre
dpartements et dans lintgration de leurs SI
- 15 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 15 -
Hier : plat de spaghettis
Dveloppements coteux Interconnexions redondantes (point point) Grande complexit Rutilisation & maintenance difficile Source : DotNetGuru.org
- 16 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 16 -
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
Objectif : faire voluer le SI au mme rythme que la stratgie et l'organisation des mtiers de l'entreprise
Receive
Invoke
Invoke Invoke Reply
ReplyFault
Non-Interruptible
Receive
Invoke
Invoke Invoke Reply
ReplyFault
Non-Interruptible
Canal d'change donnes processus partenaires
portail services legacy
...
...
- 17 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 17 -
Procdures Modules Modles orients objets
Packages Encapsulation Design patterns
Et maintenant les services !
Vers toujours plus d'abstraction
- 18 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 18 -
Quels sont les principes de base du SOA ?
- 19 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 19 -
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 :
Discussion entre mtier et IT Utilisation des specifications mtier
Dcouplage entre fournisseur et
consommateur de services Indpendance des ressources vis vis de
ceux qui les utilisent
Utilisation de standards Conservation de lexistant lors dvolutions
technologiques
- 20 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 20 -
Quest ce quun Service (au sens SOA) ?
Correspond un primtre fonctionnel que lon souhaite exposer un certain type de consommateurs (ensemble de fonctionnalits qui font sens)
Expose un petit nombre doprations offrant un traitement de bout en bout
Indpendant de la localisation Neutralit vis--vis des protocoles de transport
Sans tat En couplage faible
- 21 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 21 -
Exemple de couplage fort : Gestion de prts
LoanAgent
calculateRisk
Loan Account
createLoan
checkBalance
LoanApproval SMSGateway
sendConfirmation
LoanAgent est li LoanApproval et Loan LoanApproval est li Account Loan est li SMSGateway
- 22 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 22 -
Exemple de couplage fort : Gestion de prts
LoanAgent
calculateRisk
Loan Account
createLoan
checkBalance
LoanApproval SMSGateway
sendConfirmation
Entits = Objets
LoanAgent est li LoanApproval et Loan LoanApproval est li Account Loan est li SMSGateway
- 23 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 23 -
Gestion de prts en couplage faible
LoanProcess CreateLoan CheckAccount Balance
Calculate LoanRisk
Notify ViaSMS
Est ce quune entit a un rle part ?
- 24 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 24 -
Gestion de prts en couplage faible
LoanProcess CreateLoan CheckAccount Balance
Calculate LoanRisk
Notify ViaSMS
Est ce quune entit a un rle part ? LoanProcess : un processus mtier !
Il permet dorchestrer les services => couplage lche
- 25 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 25 -
Gestion de prts en couplage faible
LoanProcess CreateLoan CheckAccount Balance
Calculate LoanRisk
Notify ViaSMS
Que reprsentent ces entits ?
Est ce quune entit a un rle part ? LoanProcess : un processus mtier !
Il permet dorchestrer les services => couplage lche
- 26 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 26 -
Gestion de prts en couplage faible
LoanProcess CreateLoan CheckAccount Balance
Calculate LoanRisk
Notify ViaSMS
Des services !
Est ce quune entit a un rle part ? LoanProcess : un processus mtier !
Il permet dorchestrer les services => couplage lche
- 27 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 27 -
Orient application vs orient services
- 31 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Mais qu'est ce qu'un processus mtier ? Un ensemble d'activits qui s'enchanent de manire
chronologique pour atteindre un objectif, gnralement dlivrer un produit ou un service, dans le contexte d'une organisation de travail - Wikipdia
Un flux d'informations au sein d'une organisation Une vue transversale sur les activits de l'entreprise
permet d'identifier, de matriser et d'optimiser les changes entre les diffrents dpartements et corps de mtiers
- 32 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Exemple de processus (notation informelle)
- 33 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 33 -
Business Process Management (BPM) But : Donner l'Entreprise les moyens de grer ses processus
mtiers de manire informatise (modlisation, simulation, excution et audit)
Optimisation, adaptation aux besoins en temps rel Un processus est compos de sous processus, de dcisions
(Business rules) et dactivits Un sous processus a son propre but, entres et sorties Les activits
correspondent aux parties du processus mtier qui nincluent pas de dcision et sont associes des rles
Sont ralises par des systmes ou des humains Des mesures (KPI pour Key Performance Indicators) permettent
de capturer les performances du processus Un processus est le rsultat dune orchestration de service Le processus est lui-mme accessible en tant que service
- 34 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Standard BPMN BPMN = Business Process Modeling Notation
Standard OMG (Object Management Group) La reprsentation est standard, la notation ne l'est pas Modlisation autour de la notion de processus mtier Amliorer la communication entre les mondes mtier et
technique Cration de modles graphiques de processus mtier
Rseau d'objets graphiques o... ... les objets reprsentent des activits... ... qui interviennent dans le processus selon l'agencement
reprsent BPMN et UML
A l'origine, les diagrammes d'activit UML taient utiliss Pauvret de ces diagrammes UML / mtier ! Similitudes dans certains symboles
Source : ICARE'08
- 35 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Exemple d'un processus de paiement en BPMN
Source : bpmn.org
- 36 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 36 -
Un service expose un contrat
Les services communiquent
par messages
Conditions Gnrales de Vente Rglement Intrieur
Vos droits/Vos devoirs in
out
Un service est autonome et sans tat
Les frontires entre services sont explicites
4 proprits du service retenir
- 37 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Bnfices mtier
Amliorer lagilit et la flexibilit du mtier Faciliter la gestion des processus mtier Offrir la capacit casser les barrires
organisationnelles (silos) Rduire en temps le cycle de dveloppement
des produits/services Amliorer le retour sur investissement Accrotre les opportunits de revenu
- 38 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Bnfices techniques
Rduire la complexit de la solution Construire les services une seule fois et les
utiliser frquemment Garantir une intgration standardise et le
support de clients htrognes Faciliter la maintenance
- 39 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Quels sont les liens entre objets et services ?
- 40 -
Technologie procedurale
Technologie composant
Technologie objet
Objects, Classes,
Smalltalk, C++, ... Procedures, Pascal, C, ...
Composants, Containers Interfaces in et out,
EJB, CCM,
1980 1995
Raffinement Composition par assemblage Encapsulation et Spcialisation
volution des paradigmes lis la rutilisation
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 44 -
programming in the small Interactions entre objets enfouies dans le code
Structure et architecture de lapplication peu visibles volution fastidieuse Gestion de la consistance dun changement dlicate
Quelques unes des limites de la POO
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 45 -
Granularit encore trop fine Mal adapte la programmation grande chelle
Couplage fort et primtre non dfini Rend difficile la rutilisation Accrot la complexit des Systmes OO
Objets et encapsulation
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 46 -
Motivation : le time to market Amlioration de la productivit et de la qualit des logiciels
Rduction des cots
Approche : rduire la complexit et monter le niveau d'abstraction
Dcrire l'architecture et les interactions entre instances
Assembler plutt que dvelopper
programming in the large (programmation gros grain)
La modlisation des composants est intgre UML 2.0
Programmation constructive (ou par composition)
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 47 -
Analogie avec les composants lectroniques, legos, puzzles
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 48 -
*
*
*
Composants logiciels
Des units interchangeables
Analogie avec les composants lectroniques, legos, puzzles
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 49 -
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, ...) contraintes techniques (transaction, persistance, scurit, ...)
Type de composants vs instance de composants
Inte
rfac
es
four
nies
Inte
rfac
es
requ
ises
Interface de configuration
!
Structure dun composant
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 50 -
Une interface est un contrat dutilisation Quelles sont les conditions de dclenchement des exceptions ? Quen est-il des accs concurrents ? Quelles conditions y-a-t-il sur les valeurs des oprations ? Dans quel ordre faut-il appeler les oprations ?
Diffrents niveaux de contractualisation
Syntaxique : signature dopration (interfaces Java) Comportemental : assertions UML/OCL, Fractal/Confract, JML, ... Synchronisation : automates (StateCharts, protocoles Sofa, ...) Qualit de services : attributs spcifiques (temps de rponse, prcision du rsultat, cout d'accs, ...)
Plus les interfaces dun composant sont dtailles, plus la composition du composant avec son environnement est dfinie et claire
Notion dinterfaces & de contrats
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 51 -
Arbre V.I. Nourriture M.I. CalculDuVol
Arbre V.I. Couleurs,Taille M.I. Dessiner
Arbre V.I. valeur-Estime M.I. Estimer-Valeur Calculer-Taxe
Arbre V.I. Taille,Poids, Couleur,feuillage M.I. Grandir
Arbre V.I. prixDeVente Temps-De-Coupe M.I. Calcul-Profit
Dcoupage de la spcification des fonctionnalits dun composant en plusieurs interfaces Localisation des dpendances inter-composants et rduction de
limpact des changements Gestion des points de vue utilisateur
Points de vue
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 52 -
Interface requise Un composant prcise les interfaces fournies par d'autres composants qu'il utilise pour raliser ses traitements Moyen de composition des composants et meilleure visibilit des
dpendances
Port Un composant fournit des mcanismes pour tre connect, ventuellement dynamiquement, d'autres composants. Un port correspond une interface fournie ou requise.
Utilisation dun composant On ne sadresse pas directement un composant comme pour un objet Obligation de passer par lun de ses ports
Interface requise, notion de port et utilisation des composants
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 53 -
Exemple de composant : distributeur de boissons To use a vending machine, you put money into it and make a selection. When you make your selection, the vending machine goes through several steps; verifying that it has received sufficient amount, computing change and making sure selected item is in stock. The item you selected and change get out of the vending machine. (http://www.cs.uct.ac.za/mit_notes_devel/Java/Latest/html/single-html.html) De temps en temps la machine doit aussi tre : rapprovisionne rpare Que fournit la machine ? Que require-telle ?
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 54 -
Distributeur de boissons
payer, slectionner,
prendreProduit, prendreMonnaie,
ouvrir, remplir,
mettreMonnaie, mettreProduit,
fermer
Exemple de composant : distributeur de boissons
encaisser, calculerAppoint,
majStock
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 55 -
Distributeur de boissons
payer, slectionner,
prendreProduit, prendreMonnaie,
ouvrir, remplir,
mettreMonnaie, mettreProduit,
fermer
Exemple de composant : distributeur de boissons
encaisser, calculerAppoint,
majStock
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 56 -
Distributeur de boissons
payer, slectionner,
prendreProduit, prendreMonnaie
ouvrir, remplir,
mettreMonnaie, mettreProduit,
fermer
ouvrir, fermer
Exemple de composant : distributeur de boissons
encaisser, calculerAppoint
majStock
Consommateur
Fournisseur
Dpanneur
Modularit au niveau des fournis mais aussi au niveau des requis Flexibilit dutilisation : on exporte que ce que lon utilise vraiment
Facturation
Stock
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 57 -
Peu de guidelines Dans quel cas utiliser un composant ?
Dans quel cas continuer utiliser un objet ? Est ce que tout doit devenir composant ?
Est ce que tout peut devenir composant ?
On a besoin des 2 niveaux de granularit ! Mais quand passer de lun lautre ?
Constat
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 58 -
Mthode Grady Booch / Softeam A partir dun diagramme de classes UML Regrouper les classes en catgories Limiter le regroupement 12 classes max
Proprit dune catgorie : ensemble de classes
stable, consistant, mono proccupation, continu (agrgat de classes)
Le choix de la cration des catgories est en partie empirique : limportant est de promouvoir les catgories dun projet lautre
Identification des composants
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 59 -
Exemple de composant : gestion bancaire
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 60 -
Exemple de composant : gestion bancaire Encaissement Portefeuille
Client Devis Ventes (c) 2012-2013, Occello Audrey, module SOA & Workflow
- 61 -
Exemple de composant : gestion bancaire
Client Encaissement
Ventes
Portefeuille
Devis
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 62 -
L'assemblage de deux composants se fait en connectant un port de sortie (interface requise) avec un port d'entre (interface fournie) qui doivent respecter un contrat
Type de communication Un mode d'interaction doit tre choisi pour que la connexion soit tablie
Composite Les composants peuvent tre composs d'autres composants Assemblages manipulables comme des composants
Re-configuration dynamique Permet de modifier l'application chaud sans modification du code en manipulant les assemblages Utilit trs importante dans le cadre de linformatique ambiante
Apparition & disparition de services suivant le contexte
Assemblage de composants et interactions
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 63 -
Distributeur de boissons
Facturation
Facturer: encaisser, rendreMonnaie
Facturer: encaisser, rendreMonnaie
Consommer: payer, selectionner, prendreProduit, prendreMonnaie
Rapprovisionner: ouvrir, remplir, mettreMonnaie, mettreProduit, fermer Rparer: ouvrir, fermer
Assemblage de composants : distributeur de boissons
Contrat
Stock GererStock: majStock
GererStock: majStock Contrat
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 64 -
Assemblage de composants : gestion bancaire
Client Encaissement
Ventes
Portefeuille
Devis
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 65 -
Distributeur de boissons
Facturer: encaisser, rendreMonnaie
Consommer: payer, selectionner, prendreProduit, prendreMonnaie
Rapprovisionner: ouvrir, remplir, mettreMonnaie, mettreProduit, fermer Rparer: ouvrir, fermer
Re-configuration dynamique
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 66 -
Distributeur de boissons
Facturation version 1
Facturer: encaisser, rendreMonnaie
Consommer: payer, selectionner, prendreProduit, prendreMonnaie
Rapprovisionner: ouvrir, remplir, mettreMonnaie, mettreProduit, fermer Rparer: ouvrir, fermer
Re-configuration dynamique
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 67 -
Distributeur de boissons
Facturation version 2
Facturer: encaisser, rendreMonnaie
Consommer: payer, selectionner, prendreProduit, prendreMonnaie
Rapprovisionner: ouvrir, remplir, mettreMonnaie, mettreProduit, fermer Rparer: ouvrir, fermer
Re-configuration dynamique
Facturation version 1
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 68 -
Interconnexions manquantes ou invalides Proprits de vivacit et de sret Contractualisation ...
Si les composants en entre sont corrects, l'opration de composition garantit que le composant rsultant est correct galement
Composition et vrifications
A B m n p
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 69 -
Spcifications : EJB (Enterprise Java Beans) CCM (CORBA Component Model) Fractal SCA (Service component Architecture) => pour SOA ...
Plates-formes d'xecution Pour EJB : IBM Websphere, BEA Weblogic, Jboss, Jonas, ... Pour SCA : Apache Tuscany, IBM Websphere, HydraSCA, fabric3, ... ...
Il nexiste pas un unique modle composants
Pas un modle meilleur que les autres Utilisation d'un modle particulier guide par les besoins applicatifs
et techniques
Beaucoup de concepts Pas dunification
Diffrentes faons de les implmenter
Les composants dans la nature
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 70 -
Ports de composants = services Le service dsigne le point de vue du consommateur, cest
dire la vue externe du composant Composant = fournisseur / consommateur de services
Notion de contrat trs importante dans les SOA
Norme SCA, le meilleur reprsentant de cette convergence
Convergence composants / services
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 71 -
Initiative : IBM, Oracle, BEA, SAP, Sun, TIBCO,
But : structurer l'implmentation des SOA
Indpendances langage de programmation protocoles de communication
Composant SCA
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 72 -
Choix communication au niveau des connecteurs
WSDL/SOAP Java RMI JMS ...
Choix du langage
dimplmentation Java C++ BPEL ...
Source : oasis-open.org
Assemblage de composants SCA
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 73 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Bilan : les couches SOA
* *
- 74 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Bilan : les couches SOA
* *
- 75 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Bilan : les couches SOA
* *
Ces diffrents modes de couplage sont ncessaires et dpendent du niveau dans larchitecture
- 76 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Quels sont les lments cl dune architecture oriente services ?
- 77 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Architecture triangulaire
Source : Didier Donsez
Toutes les parties ne sont pas forcment rifies
- 78 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Standards de larchitecture triangulaire
Transporte
SOAP W3C
Simple Object Access Protocol
WSDL W3C
Web Services Description Language
Dcrit le contrat
WSDL W3C
Web Services Description Language
Dcrit le contrat
Enregistre les services
UDDI Microsoft, IBM, HP
Universal Description Discovery and Integration
Les standards sont un lment cl dune SOA, ils assurent linteroprabilit
Les trois piliers des Services Web
Standard de lOASIS Norme permettant de dcrire des orchestrations de
services en XML
Support des processus mtier
Propose les fonctions basiques dun langage de programmation : sequence, flow, loop, switch
Identification des Instances de Process
Gestion des transactions
Gestion des fautes
(c) 2012-2013, Occello Audrey, module SOA & Workflow
BPEL le chef dorchestre
BPEL Oasis
Business Process Execution Language
Dcrit les processus mtier
- 79 -
- 80 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
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 lordre de la technologie : On peut utiliser les Web Services sans faire de SOA
Les WS constituent la meilleure solution
standardise disponible
- 81 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Architecture triangulaire enrichie
Services annots et recherchs smantiquement
- 82 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Architecture triangulaire avec composants Les fournis et requis sont explicits (en vert) Fournisseurs et consommateurs sont des composants Implmentation ddie en SCA
- 83 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
Service consumer
Service provider Registry
Mediation layer/Service bus
Repository Contract
Business service orchestrator
Business process description
- 84 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
Service consumer
Service provider Registry
Mediation layer/Service bus
Repository Contract
Business service orchestrator
1 . a Search for service
Business process description
- 85 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
Service consumer
Service provider Registry
Mediation layer/Service bus
Repository Contract
Business service orchestrator
1 . a Search for service
1 . b Return contract
Business process description
- 86 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
Service consumer
Service provider Registry
Mediation layer/Service bus
Repository Contract
Business service orchestrator
1 . a Search for service
1 . b Return contract
2. a Create a process instance
Business process description
- 87 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
Service consumer
Service provider Registry
Mediation layer/Service bus
Repository Contract
Business service orchestrator
1 . a Search for service
1 . b Return contract
2. a Create a process instance
2. b Execute process
Business process description
- 88 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
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
Business process description
- 89 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Dtails de larchitecture technique
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
- 90 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
ESB : couche de mdiation Fournit des points dentre normaliss vers les services
On ne sait pas qui fournit le service ni comment il le fournit Infrastructure qui optimise les changes entre
consommateurs et fournisseurs de services. Il peut prendre en charge : routage transformation des donnes orchestration transactions, scurit, qualit de service,
Le but dun ESB est de permettre de communiquer de
manire simple et standardise entre des applications htrognes
- 98 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Conclusions
- 99 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Du dj vu ? SOA est une volution des paradigmes passs, tout en prservant les caractristiques russies des architectures traditionnelles
Contractualisation des services Design by Contract (Meyer)
Dcouplage Interface/Implmentation, interoprabilit, transparence des communications,
Middlewares la CORBA
Dcouplage fournisseur/comsommateur Message Oriented Middleware (MOM)
Orchestration des services Travaux autour des workflows, langages de coordination
SOA est une volution plutt quune rvolution
- 100 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Chronique dune volution
* *
objets
*
services services services composants
Niveaux dabstraction grandissant
Asse
mbl
eur
Lang
ages
mac
hine
Langages procduraux
01011 10100 11000 01011
Source : cole Hes SO
- 101 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Synthse
Orient fonctionnalits Conu pour durer Cycle de dveloppement long
Depuis Vers
Orient processus Conu pour changer Dveloppement et
dploiement interactif
Silos applicatifs Couplage fort Orient Objet
Orchestration de Services Couplage faible Orient message
Source : cole HEVs
- 102 - (c) 2012-2013, Occello Audrey, module SOA & Workflow - 102 -
Avantages et inconvnients
Architecture adaptative Rutilisation du code Utilisation de standards Productivit accrue Manque de maturit de certains outils Lenteur dexcution Difficile effectivement implmenter Peu de chose sur la contractualisation avane
- 103 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Paradoxe des principes fondamentaux
Utilisation de standards MAIS un standard reste un standard tant quil y a
hgmonie (cf chec de CORBA) Course la spcification
W3C vs OASIS vs OMG
WS-CDL
BPMN
SOAML
BPEL
ebXML BPSS
UML
- 104 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Paradoxe des principes fondamentaux Pas de remise en cause de lexistant lors
dvolutions technologiques MAIS les diteurs nous asservissent avec leurs
suites doutils
services services
- 105 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Paradoxe des principes fondamentaux Dcouplage entre fournisseurs et consommateurs de
services MAIS pas de garde fou par rapport au couplage fort entre
fournisseurs et consommateurs possiblement rintroduit par la couche IT
services services
- 106 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Paradoxe des principes fondamentaux Dcouplage entre fournisseurs et consommateurs de
services Mais les services sont fortement coupls une prsentation
(IHMs) cest- - dire les consommateurs ultimes !
Flight Application Hotel Application
Tour operator Application
service
IHM*
service
IHM*
Orchestration de services
IHM *
Lorsque des services sont orchestrs, comment les prsenter lutilisateur ? Comment obtenir une orchestration de leur IHM ?
* Les IHM ne sont pas des services actuellement
- 107 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Paradoxe des principes fondamentaux Indpendance des ressources vis vis de ceux qui
les utilisent MAIS la gestion des donnes et leur virtualisation
est encore un enjeu
Les services doivent tre sans tat MAIS beaucoup proposent de fdrer laccs aux
donnes par des services
(c) 2012-2013, Occello Audrey, module SOA & Workflow
Visionnez la vido suivante : http://www.youtube.com/watch?v=ohPFC-9zuLs
- 109 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Quelques rfrences ... Urbanisation et BPM - Yves Caseau, DSI Bouygues Tlcom, Edition
Dunod Consortiums autour de SOA, SCA, BPM et BPEL et standards des
services web http://www.soa-consortium.org http://www.osoa.org http://www.oasis-open.org http://www.bpmn.org http://www.w3c.org Voir la bibliographie complte sur le site web du module
- 110 - (c) 2012-2013, Occello Audrey, module SOA & Workflow
Quelques rfrences ... Modles composants
CCM spec
http://www.omg.org/cgi-bin/doc?ptc/2002-08-03
Fractal spec 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/compmodel.html
Module Architecture SOA & Workflow SI5/Master IFIVous avez dit SOA?Service Oriented ArchitectureContenu du modulePlan et valuation du moduleDiapositive numro 5Diapositive numro 6Diapositive numro 7Diapositive numro 8Diapositive numro 9Diapositive numro 10Diapositive numro 11Diapositive numro 12Diapositive numro 13Diapositive numro 14Diapositive numro 15Diapositive numro 16Diapositive numro 17Diapositive numro 18Diapositive numro 19Diapositive numro 20Diapositive numro 21Diapositive numro 22Diapositive numro 23Diapositive numro 24Diapositive numro 25Diapositive numro 26Diapositive numro 27Diapositive numro 28Diapositive numro 29Diapositive numro 30Diapositive numro 31Diapositive numro 32Diapositive numro 33Diapositive numro 34Diapositive numro 35Diapositive numro 36Diapositive numro 37Diapositive numro 38Diapositive numro 39Diapositive numro 40Diapositive numro 41Diapositive numro 42Diapositive numro 43Diapositive numro 44Diapositive numro 45Diapositive numro 46Diapositive numro 47Diapositive numro 48Diapositive numro 49Diapositive numro 50Diapositive numro 51Diapositive numro 52Diapositive numro 53Diapositive numro 54Diapositive numro 55Diapositive numro 56Diapositive numro 57Diapositive numro 58Diapositive numro 59Diapositive numro 60Diapositive numro 61Diapositive numro 62Diapositive numro 63Diapositive numro 64Diapositive numro 65Diapositive numro 66Diapositive numro 67Diapositive numro 68Diapositive numro 69Diapositive numro 70Diapositive numro 71Diapositive numro 72Diapositive numro 73Diapositive numro 74Diapositive numro 75Diapositive numro 76Diapositive numro 77Diapositive numro 78Diapositive numro 79Diapositive numro 80Diapositive numro 81Diapositive numro 82Diapositive numro 83Diapositive numro 84Diapositive numro 85Diapositive numro 86Diapositive numro 87Diapositive numro 88Diapositive numro 89Diapositive numro 90Diapositive numro 91Diapositive numro 93Diapositive numro 94Diapositive numro 95Diapositive numro 97Diapositive numro 98Diapositive numro 99Diapositive numro 100Diapositive numro 101Diapositive numro 102Diapositive numro 103Diapositive numro 104Diapositive numro 105Diapositive numro 106Diapositive numro 107Diapositive numro 108Diapositive numro 109Diapositive numro 110