Service Oriented Architecture
Deel 1: Basisconcepten




Amersfoort
12 september 2009
Bas Kruiswijk
Service Oriented Architecture




Overzicht
1. Basisconcepten
2. SOA vanuit organisatorisch perspectief
3. Procesbesturing
4. SOA vanuit technisch perspectief
5. De SOA infrastructuur
6. SOA in het ontwerpproces




© Twynstra Gudde 12-9-2009                  2
Service Oriented Architecture



      Service georienteerde architectuur
      en andere architectuurbenaderingen


                                      Enterprise-                Software-
                                      architectuur              architectuur

         Service-
         georiënteerde
         architectuur




Conceptuele                                  Organisatiebrede scope       Individuele systeemscope
   basis
                                             Gericht op strategie en         Gericht op ontwerp,
                                                 communicatie              realisatie en specificatie




      © Twynstra Gudde 12-9-2009                                                               3
Service Oriented Architecture




Service georienteerde architectuur
is geen oplossing, maar een strategie
– Service georiënteerde architectuur
          – Is eigenlijk helemaal geen architectuur
          – Het is ook geen concrete oplossing
          – Het is een filosofie, een aanpak, een paradigma

– SOA is een strategie
          – Voor geïntegreerde procesondersteuning,
          – door een veelheid aan systeemcomponenten,
          – die losjes gekoppeld en gedistribueerd zijn.
          – Gericht op de bedrijfsfunctionaliteit, en niet (alleen) op de techniek,
          – waarbij de verantwoordelijkheid voor de ICT ondersteuning ligt bij de
            verantwoordelijke voor het bijbehorende bedrijfsproces

– Niks nieuws én radicaal anders
© Twynstra Gudde 12-9-2009                                                            4
Service Oriented Architecture




De basisconcepten (1)
een kort overzicht

– Service als basisconcept
          –    Zelfstandig stuk bedrijfsfunctionaliteit
          –    Vertegenwoordigt waarde in organisatie-termen
          –    Betekenisvol in technische én organisatorische termen

– Gedistribueerd en losjes gekoppeld
– Generieke infrastructuur: de servicebus
– Processen en beleid is nodig om SOA te laten werken
– Technische Implementatie
          –    Technologieneutraal
          –    Platformonafhankelijk
          –    Internet standaarden

– Balanceren tussen centralisatie en decentralisatie
          –    Centraal: generieke aspecten, architectuur, infrastructuur, beleid + managementsteun voor
               concept
          –    Decentraal: verantwoordelijke domeinen bepalen zelf wat ze nodig hebben

© Twynstra Gudde 12-9-2009                                                                                 5
Service Oriented Architecture




De basisconcepten (2)
een kort overzicht

– Faciliteert organische groei
          –    Stapsgewijze vernieuwing
          –    Voortdurende aanpassing aan organisatieverandering (agile)

– Heterogeniteit
          –    Diversiteit van systemen is uitgangspunt
          –    Best of breed

– Eigenaarschap waar het hoort
          –    Organisatie-eenheden zijn verantwoordelijk voor hun eigen organisatorische
               diensten,
          –    dus ook voor de ICT diensten (services) die daarmee corresponderen

– Definitie uit het boek (p. 24)
          –    SOA is een architectuurconcept voor de ondersteuning van bedrijfsprocessen
               middels een omvangrijk landschap van bestaande en nieuwe informatiesystemen
               die de verantwoordelijkheid zijn van verschillende eigenaren

© Twynstra Gudde 12-9-2009                                                                  6
Service Oriented Architecture




SOA Concepten
Vanuit technisch perspectief

– Services
          – In technische zin een doorontwikkeling van object- en
            componenttechnologie
          – Brede adoptie van (internet)standaarden voor webservices
          – Basisconcept van (bijna) alle ontwikkelplatforms

– Heterogeniteit / Interoperabiliteit
          – Heterogeniteit is een gegeven in complexe omgevingen
          – Verschillende (ontwikkel)platforms, –talen en infrastructuur
          – Platformonafhankelijkheid

– Losjes koppelen van systemen
          – Beperking van de afhankelijkheden tussen systemen
          – Flexibiliteit: minimalisering van de impact bij wijzigingen

© Twynstra Gudde 12-9-2009                                                 7
Service Oriented Architecture




          Losjes koppelen
                                          Sterke koppeling          Losse koppeling
Koppelingen tussen systemen               Direct, 1:1               Via intermediair
Communicatiestijl                         Synchroon                 Asynchroon
Datamodel                                 Gedeeld, geharmoniseerd   Eenvoudige
                                                                    gemeenschappelijke datatypes
Typesystem                                Sterk                     Zwak
Interactiepatronen                        Navigatie door            Eenvoudige, ‘self contained’
                                          ingewikkelde structuren   berichten
Procesbesturing                           Centrale regie            Decentrale regie
Binding                                   Statisch                  Dynamisch
Platformafhankelijkheid                   Afhankelijk               Onafhankelijk
Transacties                               2-phase commit            Compensatie
Deployment                                Gelijktijdig              Gespreid
Versiebeheer                              Expliciete upgrades       Impliciete upgrades
          © Twynstra Gudde 12-9-2009                                                         8
Service Oriented Architecture




SOA Concepten
Vanuit organisatorisch perspectief

– Software- en organisatiediensten
          – Softwarediensten (services) corresponderen met organisatiediensten
          – Services zijn voor gebruikers betekenisvolle diensten

– Domeinen
          – Verantwoordelijkheidsgebied binnen een organisatie
          – Verleent diensten aan andere domeinen
          – Betrekt diensten van andere domeinen
          – Is zelf verantwoordelijk voor de wijze waarop die diensten worden
            geleverd

– Diensten en processen
          – Services / Diensten zijn de verantwoordelijkheid van een domein
          – Processen overstijgen dit niveau

© Twynstra Gudde 12-9-2009                                                       9
Service Oriented Architecture




Belofte van SOA
– IT oerwoud => Business controle
          –    IT Transparantie
          –    Afstemming van IT op de business

– IT rigiditeit => IT soepeler meebewegen met business (IT flexibiliteit)
          –    business innovatie
          –    makkelijk efficiency verbetering realiseren

– Maakt het mogelijk een veranderstrategie te kiezen die past bij
  veranderambitie (incrementeel versus bigbang)
– Output orientatie (stimuleert denken over nut en efficiency)
– Efficientie door hergebruik
          –    geen duplicatie van functionaliteit in verschillende applicaties
          –    services van buiten organisatie gebruiken


© Twynstra Gudde 12-9-2009                                                        10
Service Oriented Architecture




Bas Kruiswijk
bkr@tg.nl




www.twynstragudde.nl

Alle intellectuele eigendomsrechten met betrekking tot
deze presentatie berusten bij Twynstra Gudde. Niets uit
deze presentatie mag worden verveelvoudigd of openbaar
gemaakt zonder schriftelijke toestemming van Twynstra
Gudde.




© Twynstra Gudde 12-9-2009                                11

SOA basisconcepten

  • 1.
    Service Oriented Architecture Deel1: Basisconcepten Amersfoort 12 september 2009 Bas Kruiswijk
  • 2.
    Service Oriented Architecture Overzicht 1.Basisconcepten 2. SOA vanuit organisatorisch perspectief 3. Procesbesturing 4. SOA vanuit technisch perspectief 5. De SOA infrastructuur 6. SOA in het ontwerpproces © Twynstra Gudde 12-9-2009 2
  • 3.
    Service Oriented Architecture Service georienteerde architectuur en andere architectuurbenaderingen Enterprise- Software- architectuur architectuur Service- georiënteerde architectuur Conceptuele Organisatiebrede scope Individuele systeemscope basis Gericht op strategie en Gericht op ontwerp, communicatie realisatie en specificatie © Twynstra Gudde 12-9-2009 3
  • 4.
    Service Oriented Architecture Servicegeorienteerde architectuur is geen oplossing, maar een strategie – Service georiënteerde architectuur – Is eigenlijk helemaal geen architectuur – Het is ook geen concrete oplossing – Het is een filosofie, een aanpak, een paradigma – SOA is een strategie – Voor geïntegreerde procesondersteuning, – door een veelheid aan systeemcomponenten, – die losjes gekoppeld en gedistribueerd zijn. – Gericht op de bedrijfsfunctionaliteit, en niet (alleen) op de techniek, – waarbij de verantwoordelijkheid voor de ICT ondersteuning ligt bij de verantwoordelijke voor het bijbehorende bedrijfsproces – Niks nieuws én radicaal anders © Twynstra Gudde 12-9-2009 4
  • 5.
    Service Oriented Architecture Debasisconcepten (1) een kort overzicht – Service als basisconcept – Zelfstandig stuk bedrijfsfunctionaliteit – Vertegenwoordigt waarde in organisatie-termen – Betekenisvol in technische én organisatorische termen – Gedistribueerd en losjes gekoppeld – Generieke infrastructuur: de servicebus – Processen en beleid is nodig om SOA te laten werken – Technische Implementatie – Technologieneutraal – Platformonafhankelijk – Internet standaarden – Balanceren tussen centralisatie en decentralisatie – Centraal: generieke aspecten, architectuur, infrastructuur, beleid + managementsteun voor concept – Decentraal: verantwoordelijke domeinen bepalen zelf wat ze nodig hebben © Twynstra Gudde 12-9-2009 5
  • 6.
    Service Oriented Architecture Debasisconcepten (2) een kort overzicht – Faciliteert organische groei – Stapsgewijze vernieuwing – Voortdurende aanpassing aan organisatieverandering (agile) – Heterogeniteit – Diversiteit van systemen is uitgangspunt – Best of breed – Eigenaarschap waar het hoort – Organisatie-eenheden zijn verantwoordelijk voor hun eigen organisatorische diensten, – dus ook voor de ICT diensten (services) die daarmee corresponderen – Definitie uit het boek (p. 24) – SOA is een architectuurconcept voor de ondersteuning van bedrijfsprocessen middels een omvangrijk landschap van bestaande en nieuwe informatiesystemen die de verantwoordelijkheid zijn van verschillende eigenaren © Twynstra Gudde 12-9-2009 6
  • 7.
    Service Oriented Architecture SOAConcepten Vanuit technisch perspectief – Services – In technische zin een doorontwikkeling van object- en componenttechnologie – Brede adoptie van (internet)standaarden voor webservices – Basisconcept van (bijna) alle ontwikkelplatforms – Heterogeniteit / Interoperabiliteit – Heterogeniteit is een gegeven in complexe omgevingen – Verschillende (ontwikkel)platforms, –talen en infrastructuur – Platformonafhankelijkheid – Losjes koppelen van systemen – Beperking van de afhankelijkheden tussen systemen – Flexibiliteit: minimalisering van de impact bij wijzigingen © Twynstra Gudde 12-9-2009 7
  • 8.
    Service Oriented Architecture Losjes koppelen Sterke koppeling Losse koppeling Koppelingen tussen systemen Direct, 1:1 Via intermediair Communicatiestijl Synchroon Asynchroon Datamodel Gedeeld, geharmoniseerd Eenvoudige gemeenschappelijke datatypes Typesystem Sterk Zwak Interactiepatronen Navigatie door Eenvoudige, ‘self contained’ ingewikkelde structuren berichten Procesbesturing Centrale regie Decentrale regie Binding Statisch Dynamisch Platformafhankelijkheid Afhankelijk Onafhankelijk Transacties 2-phase commit Compensatie Deployment Gelijktijdig Gespreid Versiebeheer Expliciete upgrades Impliciete upgrades © Twynstra Gudde 12-9-2009 8
  • 9.
    Service Oriented Architecture SOAConcepten Vanuit organisatorisch perspectief – Software- en organisatiediensten – Softwarediensten (services) corresponderen met organisatiediensten – Services zijn voor gebruikers betekenisvolle diensten – Domeinen – Verantwoordelijkheidsgebied binnen een organisatie – Verleent diensten aan andere domeinen – Betrekt diensten van andere domeinen – Is zelf verantwoordelijk voor de wijze waarop die diensten worden geleverd – Diensten en processen – Services / Diensten zijn de verantwoordelijkheid van een domein – Processen overstijgen dit niveau © Twynstra Gudde 12-9-2009 9
  • 10.
    Service Oriented Architecture Beloftevan SOA – IT oerwoud => Business controle – IT Transparantie – Afstemming van IT op de business – IT rigiditeit => IT soepeler meebewegen met business (IT flexibiliteit) – business innovatie – makkelijk efficiency verbetering realiseren – Maakt het mogelijk een veranderstrategie te kiezen die past bij veranderambitie (incrementeel versus bigbang) – Output orientatie (stimuleert denken over nut en efficiency) – Efficientie door hergebruik – geen duplicatie van functionaliteit in verschillende applicaties – services van buiten organisatie gebruiken © Twynstra Gudde 12-9-2009 10
  • 11.
    Service Oriented Architecture BasKruiswijk bkr@tg.nl www.twynstragudde.nl Alle intellectuele eigendomsrechten met betrekking tot deze presentatie berusten bij Twynstra Gudde. Niets uit deze presentatie mag worden verveelvoudigd of openbaar gemaakt zonder schriftelijke toestemming van Twynstra Gudde. © Twynstra Gudde 12-9-2009 11