Intro Concepts Principes Soa

download Intro Concepts Principes Soa

of 108

Transcript of Intro Concepts Principes Soa

  • 7/23/2019 Intro Concepts Principes Soa

    1/108

    c 2012-2013, Occello Audre , module SOA & Workflow - 1-

    Module Architecture SOA & Workflow

    SI5/Master IFIAudrey Occello

    [email protected]

    http://anubis.polytech.unice.fr/cours/2012_2013:si5:soa:start

  • 7/23/2019 Intro Concepts Principes Soa

    2/108

    c 2012-2013, Occello Audre , 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

  • 7/23/2019 Intro Concepts Principes Soa

    3/108

    c 2012-2013, Occello Audre , module SOA & Workflow - 3-

    Contenu du module Les concepts que vous allez apprendre

    des notions : composants, services, processus mtier ... des principes : d'orchestration, de contratualisation,d'urbanisation

    tout en rvisant vos connaissances : bus, annuaire, web services ...

    Les langages/technologies/outils que vous allez utiliser : Un environnement de modlisation utilisant la notation BPMN Le langage BPEL Une plate-forme dexcution incluant un ESB

    Et bien sr les web services (WSDL/XSD)

  • 7/23/2019 Intro Concepts Principes Soa

    4/108

    c 2012-2013, Occello Audre , module SOA & Workflow - 4-

    Plan et valuation du module

    Des rendus de projet en groupe Une soutenance de projet lors de la dernire sance Un examen individuel sur table lors de la dernire sance

  • 7/23/2019 Intro Concepts Principes Soa

    5/108

    c 2012-2013, Occello Audre , module SOA & Workflow - 5-

    Introduction lArchitecture

    Oriente ServiceModule Architecture SOA

    SI5 - Master 2 IFI

  • 7/23/2019 Intro Concepts Principes Soa

    6/108

    - 6-c 2012-2013, Occello Audre , 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/23/2019 Intro Concepts Principes Soa

    7/108- 7-c 2012-2013, Occello Audre , module SOA & Workflow - 7-

    A quels besoins rpond SOA ?

  • 7/23/2019 Intro Concepts Principes Soa

    8/108- 8-c 2012-2013, Occello Audre , 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 offrescommerciales changement technologiques

    Ces oprations ont un impact sur les systmesd'informations (SI) des entreprises

    L'intgration difficile des SI est un frein ceschangements

    Cest lactivit qui doit piloter la technologie et non

    linverse

  • 7/23/2019 Intro Concepts Principes Soa

    9/108- 9-c 2012-2013, Occello Audre , module SOA & Workflow - 9-

    Du "conu pour durer" au "conu pour changer"

    Cration d'applications dans l'entreprise trs souventpilote 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

  • 7/23/2019 Intro Concepts Principes Soa

    10/108- 10-c 2012-2013, Occello Audre , module SOA & Workflow - 10-

    Besoins mtier vs contraintes techniques Problme de comprhension entre maitrise d'ouvrage

    (MOA) et maitrise d'oeuvre (MOE)

    Modlisation et dveloppements dirigs par leschoix/contraintes techniques

    Dcalage entre besoins mtier et leur ralisation

    (constituants informatiques)

    Pas dimplication

    de la MOA dansle pilotage de la

    variante

  • 7/23/2019 Intro Concepts Principes Soa

    11/108- 11-c 2012-2013, Occello Audre , 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 projetset 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

  • 7/23/2019 Intro Concepts Principes Soa

    12/108- 12-c 2012-2013, Occello Audre , module SOA & Workflow - 12-

    PresentationLayer

    BusinessLogicLayer

    Account CartInventoryItem OrderInsert OrderReadProductProfile

    Category

    Checkout

    CreateAccount

    DefaultErrorHelpItem

    DetailsItems

    MyAccount

    EditAccount

    OrderBilling

    OrderProcess

    OrderShipping

    SignOut ShoppingCart

    SearchSignIn

    e-store : domaines mtier et architecture

    DataAccessLayer

    IAccount IInventoryIItem IOrderIProductIProfile

  • 7/23/2019 Intro Concepts Principes Soa

    13/108- 13-c 2012-2013, Occello Audre , module SOA & Workflow - 13-

    DataAccessLayer

    IAccount IInventoryIItem IOrderIProductIProfile

    e-store : domaines mtier et architecture

    PresentationLayer

    BusinessLogicLayer

    Account CartInventoryItem OrderInsert OrderReadProductProfile

    Category

    Checkout

    CreateAccount

    DefaultErrorHelpItem

    DetailsItems

    MyAccount

    EditAccount

    OrderBilling

    OrderProcess

    OrderShipping

    SignOut ShoppingCart

    SearchSignIn

    Catalogue Inventaire ShoppingClient Facturation

  • 7/23/2019 Intro Concepts Principes Soa

    14/108- 14-c 2012-2013, Occello Audre , module SOA & Workflow - 14-

    Silos et transversalit Entreprises dcoupes en dpartements fonctionnelsMais : Processus mtiers de + en + inter-dpartementaux Les processus franchissent les fontires de l'entreprise

    qui doit pouvoir prendre en compte les activits etprocessus des partenaires pour tre reactive

    Cots considrables dans la gestion des flux entre

    dpartements et dans lintgration de leurs SI

  • 7/23/2019 Intro Concepts Principes Soa

    15/108- 15-c 2012-2013, Occello Audre , module SOA & Workflow - 15-

    Hier : plat de spaghettis

    Dveloppements coteux Interconnexions redondantes (point point) Grande complexit

    Rutilisation & maintenance difficile Source : DotNetGuru.org

  • 7/23/2019 Intro Concepts Principes Soa

    16/108- 16-c 2012-2013, Occello Audre , module SOA & Workflow - 16-

    Demain : Architecture urbanise Lurbanisationinformatique 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) quipermettent 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

    Reply

    Fault

    Non-

    Interruptible

    Receive

    Invoke

    Invoke Invoke Reply

    Reply

    Fault

    Non-

    Interruptible

    Canal d'change

    donnes processus partenaires

    portailserviceslegacy

    ...

    ...

  • 7/23/2019 Intro Concepts Principes Soa

    17/108- 17-c 2012-2013, Occello Audre , module SOA & Workflow - 17-

    Procdures

    Modules

    Modles orients objets

    Packages Encapsulation Design patterns

    Et maintenant les services !

    Vers toujours plus d'abstraction

  • 7/23/2019 Intro Concepts Principes Soa

    18/108- 18-c 2012-2013, Occello Audre , module SOA & Workflow - 18-

    Quels sont les principes de base du SOA ?

    P f d d l h O

  • 7/23/2019 Intro Concepts Principes Soa

    19/108- 19-c 2012-2013, Occello Audre , module SOA & Workflow - 19-

    Principes fondamentaux de larchitecture SOAIl nexiste pas une recette pour garantir le succsde la mise en place dune SOA mais des principes

    respecter : Discussion entre mtier et IT Utilisation des specifications mtier

    Dcouplage entre fournisseur etconsommateur de services

    Indpendance des ressources vis vis de

    ceux qui les utilisent Utilisation de standards Conservation de lexistant lors dvolutions

    technologiques

    Q t S i ( SOA) ?

  • 7/23/2019 Intro Concepts Principes Soa

    20/108- 20-c 2012-2013, Occello Audre , module SOA & Workflow - 20-

    Quest ce quun Service (au sens SOA) ?

    Correspond un primtre fonctionnel que lon souhaite

    exposer un certain type de consommateurs (ensemblede 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

    E l d l f G i d

  • 7/23/2019 Intro Concepts Principes Soa

    21/108- 21-c 2012-2013, Occello Audre , module SOA & Workflow - 21-

    Exemple de couplage fort : Gestion de prts

    LoanAgent

    calculateRisk

    LoanAccount

    createLoan

    checkBalance

    LoanApproval SMSGateway

    sendConfirmation

    LoanAgent est li LoanApproval et Loan LoanApproval est li Account Loan est li SMSGateway

    E l d l f t G ti d t

  • 7/23/2019 Intro Concepts Principes Soa

    22/108- 22-c 2012-2013, Occello Audre , module SOA & Workflow - 22-

    Exemple de couplage fort : Gestion de prts

    LoanAgent

    calculateRisk

    LoanAccount

    createLoan

    checkBalance

    LoanApproval SMSGateway

    sendConfirmation

    Entits = Objets

    LoanAgent est li LoanApproval et Loan LoanApproval est li Account Loan est li SMSGateway

    G ti d t l f ibl

  • 7/23/2019 Intro Concepts Principes Soa

    23/108- 23-c 2012-2013, Occello Audre , module SOA & Workflow - 23-

    Gestion de prts en couplage faible

    LoanProcess CreateLoanCheckAccountBalance CalculateLoanRisk NotifyViaSMS

    Est ce quune entit a un rle part ?

    G ti d t l f ibl

  • 7/23/2019 Intro Concepts Principes Soa

    24/108- 24-c 2012-2013, Occello Audre , module SOA & Workflow - 24-

    Gestion de prts en couplage faible

    LoanProcess CreateLoanCheckAccountBalance CalculateLoanRisk NotifyViaSMS

    Est ce quune entit a un rle part ?

    LoanProcess : un processus mtier!Il permet dorchestrerles services => couplage lche

    G ti d t l f ibl

  • 7/23/2019 Intro Concepts Principes Soa

    25/108- 25-c 2012-2013, Occello Audre , module SOA & Workflow - 25-

    Gestion de prts en couplage faible

    LoanProcess CreateLoanCheckAccountBalance CalculateLoanRisk NotifyViaSMS

    Que reprsentent ces entits ?

    Est ce quune entit a un rle part ?

    LoanProcess : un processus mtier!Il permet dorchestrerles services => couplage lche

    G ti d t l f ibl

  • 7/23/2019 Intro Concepts Principes Soa

    26/108- 26-c 2012-2013, Occello Audre , module SOA & Workflow - 26-

    Gestion de prts en couplage faible

    LoanProcess CreateLoanCheckAccountBalance CalculateLoanRisk NotifyViaSMS

    Des services

    Est ce quune entit a un rle part ?

    LoanProcess : un processus mtier!Il permet dorchestrerles services => couplage lche

    l

  • 7/23/2019 Intro Concepts Principes Soa

    27/108

    - 27-(c) 2012-2013, Occello Audrey, module SOA & Workflow - 27-

    Orient application vs orient services

    D i

  • 7/23/2019 Intro Concepts Principes Soa

    28/108

    - 28-(c) 2012-2013, Occello Audrey, module SOA & Workflow - 28-

    DataAccessLayer

    PresentationLayer

    BusinessLogicLayer

    e-store : Domaines

    Catalogue Inventaire ShoppingClient Facturation

    i

  • 7/23/2019 Intro Concepts Principes Soa

    29/108

    - 29-(c) 2012-2013, Occello Audrey, module SOA & Workflow - 29-

    e-store : Services

    PresentationLayer

    BusinessLogicLayer

    DataAccessLayer

    ServiceLayer

    Voircatalogue

    Faireinventaire

    AcheterGererclients

    Facturer

    S i

  • 7/23/2019 Intro Concepts Principes Soa

    30/108

    - 30-(c) 2012-2013, Occello Audrey, module SOA & Workflow - 30-

    e-store : Services

    PresentationLayer

    BusinessLogicLayer

    DataAccessLayer

    ServiceLayer

    Voircatalogue

    Faireinventaire

    AcheterGererclients

    Facturer

    M i ' ' i ?

  • 7/23/2019 Intro Concepts Principes Soa

    31/108

    - 31-c 2012-2013, Occello Audre , 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, gnralementdlivrer un produit ou un service, dans le contexted'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 leschanges entre les diffrents dpartements et corpsde mtiers

    Ex mpl d p ss s (n t ti n inf m ll )

  • 7/23/2019 Intro Concepts Principes Soa

    32/108

    - 32-(c) 2012-2013, Occello Audrey, module SOA & Workflow

    Exemple de processus (notation informelle)

    B i P M t (BPM)

  • 7/23/2019 Intro Concepts Principes Soa

    33/108

    - 33-c 2012-2013, Occello Audre , 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 processusest 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 dedcision et sont associes des rles

    Sont ralises par des systmes ou des humains

    Des mesures(KPI pour Key Performance Indicators) permettentde capturer les performances du processus

    Un processus est le rsultat dune orchestrationde service Le processus est lui-mme accessible en tant que service

    St d d BPMN

  • 7/23/2019 Intro Concepts Principes Soa

    34/108

    - 34-c 2012-2013, Occello Audre , 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

    Exemple d'un processus de paiement en BPMN

  • 7/23/2019 Intro Concepts Principes Soa

    35/108

    - 35-c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple d un processus de paiement en BPMN

    Source : bpmn.org

    4 it d i t i

  • 7/23/2019 Intro Concepts Principes Soa

    36/108

    - 36-c 2012-2013, Occello Audre , module SOA & Workflow - 36-

    Un service exposeun contrat

    Les services communiquentpar messages

    Conditions Gnrales de VenteRglement Intrieur

    Vos droits/Vos devoirsin

    out

    Un service est autonomeet sans tat

    Les frontires entreservices sont explicites

    4 proprits du service retenir

    B fi ti

  • 7/23/2019 Intro Concepts Principes Soa

    37/108

    - 37-c 2012-2013, Occello Audre , 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 dveloppementdes produits/services

    Amliorer le retour sur investissement Accrotre les opportunits de revenu

    B fi t h i

  • 7/23/2019 Intro Concepts Principes Soa

    38/108

    - 38-c 2012-2013, Occello Audre , 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

  • 7/23/2019 Intro Concepts Principes Soa

    39/108

    - 39-c 2012-2013, Occello Audre , module SOA & Workflow

    Quels sont les liens entre objets et services ?

    volution des paradigmes lis la rutilisation

  • 7/23/2019 Intro Concepts Principes Soa

    40/108

    - 40-

    Technologieprocedurale

    Technologiecomposant

    Technologieobjet

    Objects,Classes,

    Smalltalk, C++, ...Procedures,Pascal, C, ...

    Composants, ContainersInterfaces in et out,

    EJB, CCM,

    1980 1995

    Raffinement Composition par assemblageEncapsulation et

    Spcialisation

    volution des paradigmes lis la rutilisation

    c 2012-2013, Occello Audre , module SOA & Workflow

    XML si d s T m t

  • 7/23/2019 Intro Concepts Principes Soa

    41/108

    - 41-

    En rouge, les lignes de code concernes par le parsingBonne modularisation : code concentr en un seul endroit

    Copyright aspectj.org

    XML parsing dans Tomcat

    c 2012-2013, Occello Audre , module SOA & Workflow

    URL p tt n m t hin d ns T m t

  • 7/23/2019 Intro Concepts Principes Soa

    42/108

    - 42-

    En rouge, les lignes de code pour grer la correspondance dURLsBonne modularisation : code concentr en 2 endroits

    Copyright aspectj.org

    URL pattern matching dans Tomcat

    c 2012-2013, Occello Audre , module SOA & Workflow

    Tr c d ns T mc t

  • 7/23/2019 Intro Concepts Principes Soa

    43/108

    - 43-

    En rouge, les lignes de code pour tracer lexcution Mauvaise modularisation : le code est mlang, parpill et redondant

    Copyright aspectj.org

    Trace dans Tomcat

    c 2012-2013, Occello Audre , module SOA & Workflow

    Quelques unes des limites de la POO

  • 7/23/2019 Intro Concepts Principes Soa

    44/108

    - 44-

    programming in the small

    Interactions entre objets enfouies dans le code

    Structure et architecture de lapplication peu visiblesvolution fastidieuse

    Gestion de la consistance dun changement dlicate

    Quelques unes des limites de la POO

    c 2012-2013, Occello Audre , module SOA & Workflow

    Objets et encapsulation

  • 7/23/2019 Intro Concepts Principes Soa

    45/108

    - 45-

    Granularit encore trop fineMal adapte la programmation grande chelle

    Couplage fort et primtre non dfini

    Rend difficile la rutilisationAccrot la complexit des Systmes OO

    Objets et encapsulation

    c 2012-2013, Occello Audre , module SOA & Workflow

    Programmation constructive (ou par composition)

  • 7/23/2019 Intro Concepts Principes Soa

    46/108

    - 46-

    Motivation : le time to market Amlioration de la productivit et de la qualit des logiciels

    Rduction des cots

    Approche : rduire la complexitet 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 Audre , module SOA & Workflow

    Analogie avec les composants lectroniques legos puzzles

  • 7/23/2019 Intro Concepts Principes Soa

    47/108

    - 47-

    Analogie avec les composants lectroniques, legos, puzzles

    c 2012-2013, Occello Audre , module SOA & Workflow

    Analogie avec les composants lectroniques legos puzzles

  • 7/23/2019 Intro Concepts Principes Soa

    48/108

    - 48-

    *

    *

    *

    Composants logiciels

    Des units interchangeables

    Analogie avec les composants lectroniques, legos, puzzles

    c 2012-2013, Occello Audre , module SOA & Workflow

    Structure dun composant

  • 7/23/2019 Intro Concepts Principes Soa

    49/108

    - 49-

    Interactions avec un composantce qui est fourni par le composantce qui est utilis par le composantmodes de communication

    Configuration du composantproprits (attributs publics)connexionscycle de vie (arret, redemarrage, ...)

    contraintes techniques (transaction, persistance, scurit, ...)

    Type de composants vs instance de composants

    Interf

    aces

    four

    nies

    Interfaces

    requ

    ises

    Interface deconfiguration

    !

    Structure d un composant

    c 2012-2013, Occello Audre , module SOA & Workflow

    Notion dinterfaces & de contrats

  • 7/23/2019 Intro Concepts Principes Soa

    50/108

    - 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 contractualisationSyntaxique : 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 lacomposition du composant avec son environnement estdfinie et claire

    Notion d interfaces & de contrats

    c 2012-2013, Occello Audre , module SOA & Workflow

    Points de vue

  • 7/23/2019 Intro Concepts Principes Soa

    51/108

    - 51-

    Arbre

    V.I.Nourriture

    M.I.CalculDuVol

    Arbre

    V.I.

    Couleurs,TailleM.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 enplusieurs interfacesLocalisation des dpendances inter-composants et rduction de

    limpact des changements

    Gestion des points de vue utilisateur

    Points de vue

    c 2012-2013, Occello Audre , module SOA & Workflow

    Interface requise, notion de port et utilisation des composants

  • 7/23/2019 Intro Concepts Principes Soa

    52/108

    - 52-

    Interface requiseUn composant prcise les interfaces fournies par d'autrescomposants qu'il utilise pour raliser ses traitementsMoyen de composition des composants et meilleure visibilit des

    dpendances

    PortUn composant fournit des mcanismes pour tre connect,ventuellement dynamiquement, d'autres composants. Un portcorrespond une interface fournie ou requise.

    Utilisation dun composantOn ne sadresse pas directement un composant comme pour unobjetObligation de passer par lun de ses ports

    f q , p mp

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : distributeur de boissons

  • 7/23/2019 Intro Concepts Principes Soa

    53/108

    - 53-

    Exemple de composant : distributeur de boissonsTo 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 machinedoit aussi tre :

    rapprovisionnerpare

    Que fournit la machine ?Que require-telle?

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : distributeur de boissons

  • 7/23/2019 Intro Concepts Principes Soa

    54/108

    - 54-

    Distributeur deboissons

    payer,

    slectionner,

    prendreProduit,prendreMonnaie,

    ouvrir,

    remplir,

    mettreMonnaie,

    mettreProduit,

    fermer

    Exemple de composant : distributeur de boissons

    encaisser,calculerAppoint,

    majStock

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : distributeur de boissons

  • 7/23/2019 Intro Concepts Principes Soa

    55/108

    - 55-

    Distributeur deboissons

    payer,

    slectionner,

    prendreProduit,prendreMonnaie,

    ouvrir,

    remplir,

    mettreMonnaie,

    mettreProduit,

    fermer

    Exemple de composant : distributeur de boissons

    encaisser,calculerAppoint,

    majStock

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : distributeur de boissons

  • 7/23/2019 Intro Concepts Principes Soa

    56/108

    - 56-

    Distributeur deboissons

    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 Audre , module SOA & Workflow

    Constat

  • 7/23/2019 Intro Concepts Principes Soa

    57/108

    - 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 niveauxde granularit !Mais quand passer de lun lautre?

    Constat

    c 2012-2013, Occello Audre , module SOA & Workflow

    Identification des composants

  • 7/23/2019 Intro Concepts Principes Soa

    58/108

    - 58-

    Mthode Grady Booch / SofteamA partir dun diagramme de classes UMLRegrouper les classes en catgoriesLimiter le regroupement 12 classes max

    Proprit dune catgorie : ensemble de classesstable, consistant, mono proccupation, continu(agrgat de classes)

    Le choix de la cration des catgories est enpartie empirique : limportant est de promouvoirles catgories dun projet lautre

    Identification des composants

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : gestion bancaire

  • 7/23/2019 Intro Concepts Principes Soa

    59/108

    - 59-

    Exemple de composant gestion bancaire

    c 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : gestion bancaire

  • 7/23/2019 Intro Concepts Principes Soa

    60/108

    - 60-

    Exemple de composant gestion bancaireEncaissement Portefeuille

    Client Devis Ventesc 2012-2013, Occello Audre , module SOA & Workflow

    Exemple de composant : gestion bancaire

  • 7/23/2019 Intro Concepts Principes Soa

    61/108

    - 61-

    Exemple de composant gestion bancaire

    Client Encaissement

    Ventes

    Portefeuille

    Devis

    c 2012-2013, Occello Audre , module SOA & Workflow

    Assemblage de composants et interactions

  • 7/23/2019 Intro Concepts Principes Soa

    62/108

    - 62-

    L'assemblage de deux composants se fait en connectant un port desortie (interface requise) avec un port d'entre (interface fournie)

    qui doivent respecter un contrat

    Type de communicationUn mode d'interaction doit tre choisi pour que la connexion soittablie

    CompositeLes composants peuvent tre composs d'autres composantsAssemblages manipulables comme des composants

    Re-configuration dynamiquePermet de modifier l'application chaud sans modification du code enmanipulant les assemblagesUtilit trs importante dans le cadre de linformatique ambiante

    Apparition & disparition de services suivant le contexte

    Assemblage de composants et interactions

    c 2012-2013, Occello Audre , module SOA & Workflow

    Assemblage de composants : distributeur de boissons

  • 7/23/2019 Intro Concepts Principes Soa

    63/108

    - 63-

    Distributeur deboissons

    Facturation

    Facturer:encaisser,rendreMonnaie

    Facturer:encaisser,rendreMonnaie

    Consommer:payer,selectionner,prendreProduit,prendreMonnaie

    Rapprovisionner:ouvrir,remplir,

    mettreMonnaie,mettreProduit,fermer

    Rparer:ouvrir,fermer

    g p

    Contrat

    StockGererStock:majStock

    GererStock:majStock

    Contrat

    c 2012-2013, Occello Audre , module SOA & Workflow

    Assemblage de composants : gestion bancaire

  • 7/23/2019 Intro Concepts Principes Soa

    64/108

    - 64-

    m g mp g

    Client Encaissement

    Ventes

    Portefeuille

    Devis

    c 2012-2013, Occello Audre , module SOA & Workflow

    Re-configuration dynamique

  • 7/23/2019 Intro Concepts Principes Soa

    65/108

    - 65-

    Distributeur deboissons

    Facturer:

    encaisser,rendreMonnaie

    Consommer:payer,selectionner,

    prendreProduit,prendreMonnaie

    Rapprovisionner:ouvrir,remplir,mettreMonnaie,mettreProduit,fermer

    Rparer:ouvrir,fermer

    Re configuration dynamique

    c 2012-2013, Occello Audre , module SOA & Workflow

    Re-configuration dynamique

  • 7/23/2019 Intro Concepts Principes Soa

    66/108

    - 66-

    Distributeur deboissons

    Facturationversion 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 Audre , module SOA & Workflow

    Re-configuration dynamique

  • 7/23/2019 Intro Concepts Principes Soa

    67/108

    - 67-

    Distributeur deboissons

    Facturation

    version 2Facturer:encaisser,rendreMonnaie

    Consommer:payer,selectionner,

    prendreProduit,prendreMonnaie

    Rapprovisionner:ouvrir,remplir,mettreMonnaie,mettreProduit,fermer

    Rparer:ouvrir,fermer

    Re configuration dynamique

    Facturationversion 1

    c 2012-2013, Occello Audre , module SOA & Workflow

    Composition et vrifications

  • 7/23/2019 Intro Concepts Principes Soa

    68/108

    - 68-

    Interconnexions manquantes ou invalides

    Proprits de vivacit et de sret Contractualisation ...

    Si les composants en entre sont corrects, l'oprationde composition garantit que le composant rsultant estcorrect galement

    Composition et vrifications

    A Bm n p

    c 2012-2013, Occello Audre , module SOA & Workflow

    Les composants dans la nature

  • 7/23/2019 Intro Concepts Principes Soa

    69/108

    - 69-

    Spcifications :EJB (Enterprise Java Beans)CCM (CORBA Component Model)FractalSCA (Service component Architecture) => pour SOA...

    Plates-formes d'xecutionPour EJB : IBM Websphere, BEA Weblogic, Jboss, Jonas, ...Pour SCA : Apache Tuscany, IBM Websphere, HydraSCA, fabric3, ......

    Il nexistepas un unique modle composants Pas un modle meilleur que les autres Utilisation d'un modle particulier guide par les besoins applicatifs

    et techniques

    Beaucoup deconcepts

    Pas dunification

    Diffrentes faons

    de les implmenter

    Les composants dans la nature

    c 2012-2013, Occello Audre , module SOA & Workflow

    Convergence composants / services

  • 7/23/2019 Intro Concepts Principes Soa

    70/108

    - 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 reprsentantde cette convergence

    Convergence composants / services

    c 2012-2013, Occello Audre , module SOA & Workflow

    Composant SCA

  • 7/23/2019 Intro Concepts Principes Soa

    71/108

    - 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 Audre , module SOA & Workflow

    Assemblage de composants SCA

  • 7/23/2019 Intro Concepts Principes Soa

    72/108

    - 72-

    Choixcommunication au niveau desconnecteurs

    WSDL/SOAP Java RMI JMS ...

    Choixdu langagedimplmentation Java C++ BPEL ...

    Source : oasis-open.org

    Assemblage de composants SCA

    c 2012-2013, Occello Audre , module SOA & Workflow

    Bilan : les couches SOA

  • 7/23/2019 Intro Concepts Principes Soa

    73/108

    - 73-(c) 2012-2013, Occello Audrey, module SOA & Workflow

    Bilan : les couches SOA

    **

    Bilan : les couches SOA

  • 7/23/2019 Intro Concepts Principes Soa

    74/108

    - 74-(c) 2012-2013, Occello Audrey, module SOA & Workflow

    Bilan : les couches SOA

    **

    Bilan : les couches SOA

  • 7/23/2019 Intro Concepts Principes Soa

    75/108

    - 75-(c) 2012-2013, Occello Audrey, module SOA & Workflow

    Bilan les couches SOA

    **

    Ces diffrentsmodes de couplagesont ncessaires et

    dpendent duniveau danslarchitecture

  • 7/23/2019 Intro Concepts Principes Soa

    76/108

    - 76-c 2012-2013, Occello Audre , module SOA & Workflow

    Quels sont les lments cl dune

    architecture oriente services ?

    Architecture triangulaire

  • 7/23/2019 Intro Concepts Principes Soa

    77/108

    - 77-c 2012-2013, Occello Audre , module SOA & Workflow

    Architecture triangulaire

    Source : Didier Donsez

    Toutes les parties ne sont pas forcment rifies

    Standards de larchitecture triangulaire

  • 7/23/2019 Intro Concepts Principes Soa

    78/108

    - 78-c 2012-2013, Occello Audre , module SOA & Workflow

    g

    Transporte

    SOAPW3C

    Simple Object Access Protocol

    WSDLW3C

    Web Services

    Description Language

    Dcrit le contrat

    WSDLW3C

    Web Services

    Description Language

    Dcrit le contrat

    Enregistre les services

    UDDIMicrosoft, IBM, HP

    Universal Description Discovery and Integration

    Les standards sont un lmentcl dune SOA, ils assurentlinteroprabilit

    Les trois piliersdes Services Web

    BPEL le chef dorchestre

  • 7/23/2019 Intro Concepts Principes Soa

    79/108

    Standard de lOASIS Norme permettant de dcrire des orchestrations de

    services en XML

    Support des processus mtier

    Propose les fonctions basiques dun langage deprogrammation : sequence, flow, loop, switch

    Identification des Instances de Process

    Gestion des transactions

    Gestion des fautes

    c 2012-2013, Occello Audre , module SOA & Workflow

    BPELOasis

    Business Process

    Execution Language

    Dcrit les

    processus mtier

    - 79-

    SOA et web services

  • 7/23/2019 Intro Concepts Principes Soa

    80/108

    - 80-c 2012-2013, Occello Audre , module SOA & Workflow

    SO t w s r c s Attention ne pas confondre les 2 !

    SOA est un ensemble de concepts :Une SOA peut se mettre en uvre sans WebServices

    Les WS sont de lordre de la technologie :On peut utiliser les Web Services sans faire de SOA

    Les WS constituent la meilleure solutionstandardise disponible

    Architecture triangulaire enrichie

  • 7/23/2019 Intro Concepts Principes Soa

    81/108

    - 81-c 2012-2013, Occello Audre , module SOA & Workflow

    gServices annots et recherchs smantiquement

    Architecture triangulaire avec composants

  • 7/23/2019 Intro Concepts Principes Soa

    82/108

    - 82-c 2012-2013, Occello Audre , module SOA & Workflow

    g pLes fournis et requis sont explicits (en vert)Fournisseurs et consommateurs sont des composants

    Implmentation ddie en SCA

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    83/108

    - 83-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    RepositoryContract

    Business serviceorchestrator

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    84/108

    - 84-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    RepositoryContract

    Business serviceorchestrator

    1 . a Search for service

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    85/108

    - 85-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    RepositoryContract

    Business serviceorchestrator

    1 . a Search for service

    1 . b Return contract

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    86/108

    - 86-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    RepositoryContract

    Business serviceorchestrator

    1 . a Search for service

    1 . b Return contract

    2. a Create a process instance

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    87/108

    - 87-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    RepositoryContract

    Business serviceorchestrator

    1 . a Search for service

    1 . b Return contract

    2. a Create a process instance

    2.b

    Execute

    process

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    88/108

    - 88-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    Repository

    2. c Retrieve service

    end- point

    Contract

    Business serviceorchestrator

    1 . a Search for service

    1 . b Return contract

    2. a Create a process instance

    2.b

    Execute

    process

    Businessprocess description

    Dtails de larchitecture technique

  • 7/23/2019 Intro Concepts Principes Soa

    89/108

    - 89-c 2012-2013, Occello Audre , module SOA & Workflow

    Service

    consumer

    Serviceprovider Registry

    Mediation layer/Service bus

    Repository

    2. c Retrieve service

    end- point

    Contract

    Business serviceorchestrator

    1 . a Search for service

    1 . b Return contract

    2. a Create a process instance

    2.b

    Execute

    process

    2. d Send request

    Businessprocess description

    ESB : couche de mdiation

  • 7/23/2019 Intro Concepts Principes Soa

    90/108

    - 90-c 2012-2013, Occello Audre , module SOA & Workflow

    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 entreconsommateurs et fournisseurs de services. Il peutprendre en charge : routage

    transformation des donnes orchestration transactions, scurit, qualit de service,

    Le but dun ESB est de permettre de communiquer demanire simple et standardise entre des applicationshtrognes

    Quelques manires dimplmenter un ESB

  • 7/23/2019 Intro Concepts Principes Soa

    91/108

    - 91-c 2012-2013, Occello Audre , module SOA & Workflow

    Intergiciels de type MOM (Message OrientedMiddleware)

    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 Selon le type d implmentation retenu, lESB

    assurera plus ou moins de services : le choix

    dpend des besoins

    LESB nest pas obligatoire : mais il est fortement

    recommand pour viter le couplage entrefournisseur et consommateur

    Java Business Integration (JBI)

  • 7/23/2019 Intro Concepts Principes Soa

    92/108

    - 93-c 2012-2013, Occello Audre , module SOA & Workflow

    g ( ) Spcification visant standardiser les plates-formes

    d'intgration via un jeu d'API

    But : faciliter l'intgration de donnes en provenance desources diffrentes au sein d'un SI compos

    d'applications htrognes Permet tout fournisseur les respectant de pouvoir se

    connecter un conteneur JBI pour changer desmessages avec le reste du SI

    Petals ESB (utilis en TD) est une implmentation de cettenorme

    Architecture JBI

  • 7/23/2019 Intro Concepts Principes Soa

    93/108

    - 94-c 2012-2013, Occello Audre , module SOA & Workflow

    Architecture composants pluggable pour intergiciels 2 types de composants :

    Service Engine (SE) : hbergement des composants mtier Binding Component (BC) : gestion des communications externes Les composants peuvent tre rajouts sur le bus dynamiquement Packaging des services 2 niveaux :

    Service Unit (SU) : dploiement dun composant mtier Service Assembly (SA) : dploiement dun assemblage

    SEBC

    Mapping JBI/SCA : Approches complmentaires

  • 7/23/2019 Intro Concepts Principes Soa

    94/108

    - 95-c 2012-2013, Occello Audre , module SOA & Workflow

    SCA pour la dfinition et l'assemblage des composants JBI plateforme d'excution pour lhbergement des

    composants et la gestion des bindings distants Hberger les composants via les Service Engines Appeler les rfrences distantes via les Bindings Components Exposer les services comme des endpoints JBI

    Source : ICARE'08

    Autre dclinaison de SOA : la WOAREST (Representational State Transfer)

  • 7/23/2019 Intro Concepts Principes Soa

    95/108

    - 97-c 2012-2013, Occello Audre , module SOA & Workflow

    Les services Restful exposent leurs donnes etfonctionnalits en tant que ressources travers des URI

    Principe duniformit des interfaces : les consommateursinteragissent avec les ressources travers un ensembleprdfini et fixe de verbes(essentiellement CRUD)

    Plusieurs reprsentionsdes ressources sont acceptes

    i.e., GET, POST, PUT, DELETE i.e., (X)HTML, XML, JSON, txt

    HTTP

    methods

    Content-

    Types

    URLs

  • 7/23/2019 Intro Concepts Principes Soa

    96/108

    - 98-c 2012-2013, Occello Audre , module SOA & Workflow

    Conclusions

    Du dj vu ?

  • 7/23/2019 Intro Concepts Principes Soa

    97/108

    - 99-c 2012-2013, Occello Audre , module SOA & Workflow

    jSOA est une volution des paradigmes passs, tout enprservant les caractristiques russies des architecturestraditionnelles

    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

    Chronique dune volution

  • 7/23/2019 Intro Concepts Principes Soa

    98/108

    - 100-c 2012-2013, Occello Audre , module SOA & Workflow

    **

    objets

    *

    servicesservicesservicescomposants

    Niveaux dabstraction grandissant

    Assembleur

    Langagesmachine

    Langagesprocduraux

    0101110100

    11000

    01011

    Source : cole Hes SO

    Synthse

  • 7/23/2019 Intro Concepts Principes Soa

    99/108

    - 101-c 2012-2013, Occello Audre , module SOA & Workflow

    Orient fonctionnalits Conu pour durer

    Cycle de dveloppement long

    Depuis Vers

    Orient processus Conu pour changer

    Dveloppement etdploiement interactif

    Silos applicatifs

    Couplage fort Orient Objet

    Orchestration de Services

    Couplage faible Orient message

    Source : cole HEVs

    Avantages et inconvnients

  • 7/23/2019 Intro Concepts Principes Soa

    100/108

    - 102-c 2012-2013, Occello Audre , module SOA & Workflow - 102-

    Architecture adaptative

    Rutilisation du codeUtilisation de standards Productivit accrue

    Manque de maturit de certains outils Lenteur dexcution

    Difficile effectivement implmenter Peu de chose sur la contractualisation avane

    Paradoxe des principes fondamentaux

  • 7/23/2019 Intro Concepts Principes Soa

    101/108

    - 103-c 2012-2013, Occello Audre , module SOA & Workflow

    Utilisation de standardsMAIS 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

    Paradoxe des principes fondamentaux

  • 7/23/2019 Intro Concepts Principes Soa

    102/108

    - 104-c 2012-2013, Occello Audre , module SOA & Workflow

    Pas de remise en cause de lexistant lorsdvolutions technologiquesMAIS les diteurs nous asservissent avec leurs

    suites doutils

    servicesservices

    Paradoxe des principes fondamentaux Dcouplage entre fournisseurs et consommateurs de

  • 7/23/2019 Intro Concepts Principes Soa

    103/108

    - 105-c 2012-2013, Occello Audre , module SOA & Workflow

    Dcouplage entre fournisseurs et consommateurs deservices

    MAIS pas de garde fou par rapport au couplage fort entre

    fournisseurs et consommateurs possiblement rintroduit par la

    couche IT

    servicesservices

    Paradoxe des principes fondamentaux Dcouplage entre fournisseurs et consommateurs de

  • 7/23/2019 Intro Concepts Principes Soa

    104/108

    - 106-c 2012-2013, Occello Audre , module SOA & Workflow

    Dcouplage entre fournisseurs et consommateurs deservices

    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, commentles prsenter lutilisateur ? Comment obtenirune orchestration de leur IHM ?

    *Les IHM ne sont pas desservices actuellement

    Paradoxe des principes fondamentaux

  • 7/23/2019 Intro Concepts Principes Soa

    105/108

    - 107-c 2012-2013, Occello Audre , module SOA & Workflow

    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

  • 7/23/2019 Intro Concepts Principes Soa

    106/108

    c 2012-2013, Occello Audre , module SOA & Workflow

    Visionnez la vido suivante :http://www.youtube.com/watch?v=ohPFC-9zuLs

    Quelques rfrences ...U b nis ti n t BPM Y s C s DSI B s Tl m Editi n

    http://www.youtube.com/watch?v=ohPFC-9zuLs
  • 7/23/2019 Intro Concepts Principes Soa

    107/108

    - 109-c 2012-2013, Occello Audre , module SOA & Workflow

    Urbanisation et BPM - Yves Caseau, DSI Bouygues Tlcom, EditionDunod

    Consortiums autour de SOA, SCA, BPM et BPEL et standards desservices 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

    Quelques rfrences ...Modles composants

  • 7/23/2019 Intro Concepts Principes Soa

    108/108

    Modles composants

    CCM spechttp://www.omg.org/cgi-bin/doc?ptc/2002-08-03

    Fractal spechttp://fractal.objectweb.org/

    Service Component Architecture (SCA)http://www-128.ibm.com/developerworks/library/specification/ws-sca/

    OpenCCM

    http://openccm.objectweb.org/

    Sofahttp://dsrg mff cuni cz/projects/sofa/tools/doc/compmodel html