90
Chaque rôle s'approprie SOA différemment : 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 associés Une architecture basée sur un fournisseur, un consommateur et une description de service, et supportant 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

Architecture Oriente e Service Partie 4

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