Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Computable Awards
    • Nieuws
    • Winnaars
    • Partner worden
    • Inzending indienen
    • Inzendingen
    • De jury en experts
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
    • Magazine
    • Adverteren in het magazine
  • Nieuwsbrief

SOA niet gebaat bij improvisatie

29 november 2007 - 23:009 minuten leestijdOpinieCloud & Infrastructuur
Redactie Computable
Redactie Computable

Service oriented architecture (soa) staat volop in de belangstelling. In projecten wordt steeds meer ervaring opgedaan, maar er is vaak nog geen ingebedde methodische aanpak. De tijd is daarom rijp om het implementeren wat professioneler aan te pakken, door methoden te ontwikkelen op basis van ervaringen en best practices.

Bij soa-projecten ontbreekt nog vaak een methodische aanpak. We gaan hier in op methodische manieren om services te identificeren. Onze stelling is dat langdurige discussies over granulariteit, ‘fingerspitzengefühl’ of vakmanschap tot het verleden kunnen behoren. Er zijn nog steeds valkuilen zoals ‘and never the two shall meet services’, ‘perfect non-existing services’ en ‘spaghetti services’ die op het pad liggen naar een succesvolle soa-implementatie. We hebben vanuit onze ervaringen en op basis van recente publicaties geïnventariseerd welke methoden er zijn ontstaan. In dit artikel beschrijven we methode 1 t/m 5 van de top 10 methoden om tot services te komen. In deel 2 komen methoden 6 t/m 10 en de valkuilen aan bod.

Wat is een service?

In een informatievoorziening die volgens service oriented architecture is opgezet, worden de functionaliteit en gegevens van applicaties via services ter beschikking gesteld. Deze services kunnen uniform gedefinieerd worden op basis van internationale standaarden (XML, SOAP, etcetera). De nieuwe integratietechnologie enterprise service bus (esb) zorgt ervoor dat de services overal kunnen worden aangeroepen, ongeacht platform en programmeertaal. Door services in de gewenste volgorde te ‘orkestreren’ kunnen bedrijfsprocessen optimaal worden ondersteund met functionaliteit en gegevens uit alle interne systemen én systemen van partners. Sinds soa en services populair zijn geworden, wordt er gediscussieerd over de vraag hoe services het beste kunnen worden geïdentificeerd. Wanneer is een service ‘te groot’ of ‘te klein’, wanneer is deze ‘te specifiek’ of juist precies ‘goed’? Voordat we ingaan op de meest gebruikte methoden, is het relevant om enkele observaties te maken. Allereerst zijn er algemeen aanvaarde architectuurprincipes voor services die een rol spelen bij het identificeren. In SOA: Principles of Service Design (zie kader) worden er acht genoemd: standardized service contracts, service loose coupling, service abstraction, service reusability, service autonomy, service statelessness, service discoverability en service composability. Kortom, bij het identificeren van een service dient getoetst te worden of de service aan deze principes voldoet.

Ten tweede kunnen services op verschillende manieren worden getypeerd. Een bekende indeling in de typen functionaliteit is: presentatieservices, processervices, business-services, applicatieservices en dataservices (Enterprise SOA, zie kader). Voor elk type service gelden verschillende methoden voor het identificeren. In dit artikel gaan we vooral in op de methoden voor business- en applicatieservices. Ook deze twee typen services kunnen echter nog verder worden getypeerd, zoals raadplegen, selecteren, registreren, muteren, verwijderen, beëindigen, transformeren, genereren, selecteren, waarde, valideren en berekenen (SOA, een praktische leidraad voor invoering: Socrates, zie kader).

Tot slot: wat een goed afgebakende service is, hangt uiteraard ook af van de invalshoek. Zo stelt een beheerder andere eisen dan een procesontwerper of een tester.

De nummering en volgorde van de volgende vijf methoden is geheel willekeurig en zegt dus niets over welke methode het meest in gebruik is of ‘het best is’. In de praktijk zien we meestal combinaties van methoden terugkomen.

Methode 1: Bedrijfsprocessen

Een veelgebruikte aanpak om tot services te komen gaat uit van de bedrijfsprocessen. Het bedrijfsproces wordt in een aantal stappen opgedeeld, van processen via deelprocessen naar activiteiten en taken. Het laagste niveau (taken) bestaat uit kleine samenhangende ‘logical-units-of-work’ (LUW’s). Iedere LUW wordt ondersteund door de functionaliteit die door één service beschikbaar gesteld wordt. De geïdentificeerde services zijn hierdoor sterk door de vraagkant gedreven. Een groot voordeel van deze manier van werken is dat de resulterende services goed aansluiten bij de functionele behoefte. Daarnaast is deze methode erg intuïtief; in vrijwel alle proof-of-concepts maken organisaties gebruik van deze methode om snel tot services te komen. De sterke focus op sturing vanuit de vraagkant heeft ook een nadeel: er kan een (te) grote kloof met de applicaties ontstaan. Ook worden de services erg specifiek voor de activiteiten of taken uit het procesmodel. Daardoor kunnen services lastig opnieuw te gebruiken zijn. De services passen immers precies bij het proces waaruit ze voortgekomen zijn. Het is echter de vraag hoe goed ze andere processen ondersteunen en hoe robuust het totale ontwerp is als het proces gewijzigd wordt. Daarnaast bestaat de kans dat in verschillende activiteiten ongeveer dezelfde functionaliteit gevraagd wordt: ontdubbeling en combinatie van services zal dan ook specifiek aandacht moeten krijgen. Tot slot kunnen services die op deze manier afgeleid worden erg fijnmazig worden, wat hergebruik in in de weg staat.

Methode 2: Functies

Een heikel punt bij het identificeren van services vanuit de bedrijfsprocessen is de sterke koppeling tussen processen en services, waar services juist zouden moeten dienen als ontkoppelvlak tussen bedrijfsproces en informatievoorziening. Een mogelijke oplossing voor dit probleem is om het bedrijfsfunctiemodel als vertrekpunt te nemen. Hiermee wordt geabstraheerd van de inrichting van de bedrijfsprocessen. Analoog aan de bedrijfsprocessenaanpak wordt via een stapsgewijze decompositie toegewerkt naar services: in dit geval worden echter de meest gedetailleerde bedrijfsfuncties in de functionele decompositie vertaald naar services. Deze aanpak is net als de op procesmodellen gebaseerde aanpak erg vraaggedreven, met dezelfde risico’s van dien. Door uit te gaan van de bedrijfsfuncties is het risico dat er services gedefinieerd worden die significante overlap hebben sterk verminderd: in het bedrijfsfunctiemodel zijn de gevolgen van functionele overlap al meegenomen en heeft een ontdubbelingsslag plaatsgevonden.

Een ander voordeel is dat het bedrijfsproces dynamisch is en aan regelmatige wijzigingen onderhevig is, terwijl het functiemodel relatief stabiel is.

Een mogelijke hindernis is dat weinig organisaties een uitgewerkt en bruikbaar bedrijfsfunctiemodel beschikbaar hebben.

Methode 3: Bedrijfsobjecten

Verreweg de meeste services zijn gericht op de verwerking van bedrijfsinformatie. Door de bedrijfsinformatie in een bedrijfsobjectenmodel te modelleren, kunnen de hoog-niveau ‘CRUD’-operaties op de objecten een goed startpunt zijn voor de identificatie van services. Zo’n model heet een canonical data model (cdm), een gemeenschappelijk gegevensmodel van alle informatie die tussen applicaties wordt uitgewisseld. Deze methode is dan ook aanbodgedreven. ‘Canonieke’ services roepen ‘onder water’ applicaties aan die hun eigen gegevensmodellen gebruiken. Om te zorgen voor onderlinge consistentie van de gegevens bestaan er mappings tussen gegevensmodellen op applicatieniveau en het cdm. De concrete gegevens bij één object uit het cdm kunnen dus onderliggend in verschillende applicaties worden bijgehouden. Vrijwel alle esb-producten bieden al ondersteuning voor het opstellen van cdm’s. De echte uitdaging ligt echter in het bereiken van overeenstemming over de precieze definities van de gemeenschappelijke objecten.

Een voordeel van deze methode is dat op voorhand goed nagedacht wordt over de semantiek van services, zodat hier tijdens een productiefase geen discussie meer over ontstaat.

Een gevaar van het gebruik van een bedrijfsobjectenmodel is proberen een volledig corporate data model op te stellen. Hierbij kan een ‘analysis paralysis’ ontstaan, terwijl eigenlijk alleen de bedrijfsobjecten die een rol spelen in de uitwisseling van informatie van belang zijn.

Methode 4: Verantwoordelijkheid

Dit is niet echt een methode, maar wel essentieel voor het maken van keuzes over welke services worden aangeboden. Voor soa is een duidelijke besluitvormingsorganisatie noodzakelijk, met ingerichte rollen en verantwoordelijkheden voor zowel bedrijfsprocessen als voor services (soa governance). Voor het identificeren van services geldt dat de degene die verantwoordelijk is voor het deel van de informatievoorziening dat de betreffende services aanbiedt, bepaalt welke services er worden aangeboden. Daarbij spelen methodische ontwerpaanpakken die de vraag- en aanbodkant analyseren uiteraard een rol, maar ook talloze andere argumenten bepalen de uiteindelijke keuze: ontwikkel- en beheerkosten, lifecycle management van onderliggende applicaties en platformen, prioriteiten, beschikbaarheid van human resources, etcetera.

Het voordeel van deze ‘methode’ is dat het eigenaarschap van services duidelijk is. In andere methoden blijft dit vaak een discussiepunt, omdat eigenaarschap van services ook politiek nogal wat voeten in de aarde kan hebben.

Een nadeel is dat functionaliteit/services uit verschillende domeinen kan overlappen, zodat coördinatie over domeinen heen nodig is. Bovendien is vereist dat de organisatie een ingerichte governancestructuur heeft: een bepaalde mate van volwassenheid die nog niet overal gemeengoed is.

Methode 5: Bestaand aanbod

Een pragmatische manier om snel tot services te komen is het in kaart brengen van de behoefte aan informatie en functionaliteit. De ingang hiervoor zijn de applicaties. Om te beginnen wordt een verzameling applicaties geselecteerd die de bulk van de primaire bedrijfsprocessen ondersteunen. Met tools en wizards die bijna elke programmeertaal en platform kunnen ontsluiten, worden de gebruikte interfaces, api’s, schermen, transacties, queries en tabellen toegankelijk gemaakt via services. Dit ‘service-enablen’ is in essentie aanbodgedreven. De brokken functionaliteit worden geclusterd en ontdubbeld. Vervolgens wordt een optimalisatieslag gedaan waarin vergelijkbare functionaliteit samengevoegd wordt tot een service.

Het voordeel van deze ‘bottom-up’ aanpak is dan ook vooral de snelheid waarmee services gemaakt kunnen worden. De aanpak is geschikt als de functionaliteit van de bestaande applicaties grotendeels voldoet, voor de bestaande en de nieuwe bedrijfsprocessen, en als composite services worden gebruikt om aanvullende bedrijfslogica te implementeren. Een prettige bijkomstigheid is dat deze aanpak toegepast kan worden in een context waar weinig bruikbare proces- of functiemodellen beschikbaar zijn: de kennis van beheerders en de inhoud van geautomatiseerde tools levert voldoende input voor het ontwerpproces. De wet van behoud van ellende kan echter opgang doen: slecht ontworpen applicaties die hard gekoppeld zijn aan de huidige procesgang maken het ontwerpen van opnieuw te gebruiken services lastig.

Samenvatting en vooruitblik

In dit artikel hebben we de eerste vijf methoden van de top 10 om tot services te komen gepresenteerd. In deel 2 zullen we ingaan op de volgende vijf methoden.

JanWillem Hubbers, ArtLigthart en Linda Terlouw, Solution Architects bij Ordina

Bronnen

• T. Erl, SOA: Principles of Service Design (Prentice Hall PTR, 2007)
• J. McGovern et al, Enterprise Service Oriented Architectures (Springer, 2006)
• D. Krafzig et al, Enterprise SOA (Prentice Hall, 2005)
• A. Ligthart et al, SOA, een praktische leidraad voor invoering: Socrates (SDU, 2005)
• E. Marks en M. Bell, A planning and implementation guide for business and technology (John Wiley & Sons Inc, 2006)

 

Meer over

Enterprise Architecture

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Comeback? Private Cloud heroverwogen.

    Waarom regie, security en controle opnieuw centraal staan

    Computable.nl

    Geïntegreerde ICT in de zorg

    Hoe samenhang in IT bijdraagt aan continuïteit en veiligheid

    Computable.nl

    Digitalisering die zorg versterkt

    Hoe is de zorg voorbereid op de toekomst, met een hoofdrol voor cloud en connectiviteit?

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Awards-inzendingen

    Pijl naar rechts icoon

    Check Point

    Nadia van Beelen (Sales Associate, Check Point Technologies)
    Pijl naar rechts icoon

    Cegeka

    Ammar Alkhatib (Cyber Security Advisor, Cegeka)
    Pijl naar rechts icoon

    ForceFusion

    Amber Quist (Cyber security specialist, ForceFusion)
    Pijl naar rechts icoon

    Howden Nederland

    Pieter-Jan Lommerse (cio, Howden Nederland)
    Pijl naar rechts icoon

    Rabobank

    Corence Klop (ciso, Rabobank)
    Alle inzendingen
    Pijl naar rechts icoon

    Populaire berichten

    Meer artikelen

    Meer lezen

    Overheid

    Re­ge­rings­par­tij­en tegen snel Kamerdebat over DigiD

    Data & AI

    Kort KickstartAI verlengt samenwerking met oprichters, Dave Maasland verkoopt bedrijf aan Eset (en meer)

    Overheid

    BZK houdt cruciale info achter over standpunt Solvinity

    Cloud & Infrastructuur

    India haalt ASML binnen voor opbouw halfgeleidersector 

    Data & AI

    GTIA: Ai geeft spanning tussen it-kanaal en tech-leveranciers

    Cloud & Infrastructuur

    Kort: Datacenter NorthC heeft tijdelijke stroom­voor­zie­ning, SiSo verkocht aan EyeTi (en meer)

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Computable Awards
    • Magazine
    • Ontvang Computable e-Magazine
    • Cybersec e-Magazine
    • Topics
    • Phishing
    • Ransomware
    • NEN 7510

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2026 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs