Oorspronkelijk verschenen in: Digitaal Bestuur, 30 november 2007.
Pieter Wisse
De eenzijdige ophef over service oriented architecture zegt meer over
ontkenning, dus over onvermijdelijk voortbestaan tot verergering, van reële
informatievraagstukken dan over hun oplossing. Zoals de hamer slechts één van
vele gereedschappen van een bekwame timmerman is, heeft ook Soa allesbehalve
universele werkingskracht.
Wat service oriented architecture (Soa) heet, is een recente verschijningsvorm
van modulaire aanpak en opzet. Synoniemen voor module zijn in dit verband
ondermeer object, component en factor. Bijvoorbeeld dat laatste woord, factor
dus, komen we tegen in refactoring. Dat houdt voor informatievoorziening het
opsplitsen van voorheen monolithische toepassingen in. Rekenkundig is dat
procédé bekend als ontbinden in factoren. Bijvoorbeeld het getal 20 is
ontbindbaar in de factoren 1, 2 en 5. Een resulterende factor (lees dus ook: module
e.d.) is eventueel algemener bruikbaar. Precies, een service.
Voor ingenieurs, van werktuigbouw tot en met bouwkunde en zo door naar
industriële vormgeving, is dat allemaal sinds jaar en dag gesneden koek.
Keurige koekplakjes, dus. Maar nogal wat mensen die meewerken aan hulpmiddelen
voor digitale informatievoorziening missen die professionele achtergrond. Dan
krijgen ze gauw de indruk dat iets met een nieuwe naam ook zèlf nieuw is. Neem
het verschil tussen uitvinding en innovatie. Nee, Soa is geen uitvinding. Het
betreft hoogstens een innovatie. Mijn idee is trouwens dat het eerder een
aanpassing betreft aan basistechnologie, dus vooral alles dat met het Internet
verband houdt.
Als modulariteit niets nieuws is, waarom zijn traditionele toepassingen doorgaans
toch monolithisch? Dat heeft allerlei oorzaken. Ik noemde al de gebrekkige
professionaliteit van mensen die zulke informatiesystemen ontw(i)erpen en
ontwikkel(d)en. Maar er bestond ooit wel degelijk een reële drempel. De
verwerkingscapaciteit van computers was destijds (veel) geringer. Dat leidde
tot optimalisering in de zin dat de zgn verwerkingseenheid zo min mogelijk
belast moest zijn. Die aanpak heet seriegewijze verwerking (batch), wat
nagenoeg het tegenovergestelde is van wat tegenwoordig met een fijnmazige
(web)service à la Soa bedoeld is.
Vervolgens werd die aanpak een stijl, zelfs een paradigma, waarvan mensen dus
bijna onmogelijk lòskomen. Hoewel de technische beperking allang niet meer
geldt, blijven ze desondanks met oud-denken allemaal au fond traditionele
hulpmiddelen opleveren. Steeds weer gloednieuwe legacy, zeg maar.
Een gevolg of, eigenlijk, bijverschijnsel van genoemde batchverwerking was, en
is trouwens nog altijd, dat èlke aparte toepassing voorzien werd/wordt van
grondstof (informatie) vanuit een geheel eigen zgn silo. Voor een organisatie
zoals UWV komt daar nogeens bij, dat zij het resultaat van fusies is. Elk
samenstellend deel had al van die silo’s. Bijgevolg staan er dienovereenkomstig
zoveel méér geïsoleerd van elkaar opgesteld. Let wel, daaraan gaan commerciële
bedrijven netzogoed mank als overheidsinstellingen.
Zo kom ik op het kernpunt. De informatie in die verschillende silo’s (lees:
databases) vertoont géén samenhang. Een benadering volgens Soa — ben ik
helemaal vóór, zoals ik altijd al vóór modulariteit was — werkt daarom pas
nádat samenhang gevestigd is. Anders lukt het nooit, of zelfs averechts. Soa is
allerminst een nieuw wondermiddel, laat staan het laatste woord. Ook daarvoor
moet aan àndere voorwaarden zijn voldaan.
Het populaire etiket voor die samenhang luidt: semantiek. De helaas nog
onverminderd populaire aanpak luidt: absolute standaardisatie van betekenissen.
Dat is onzin. Op enige serieuze schaal van maatschappelijk verkeer variëren
betekenissen nu eenmaal. Sterker nog, dat moéten ze ook doen voor
maatschappelijke dynamiek enzovoort. Onder de noemer van complexiteitsreductie
mikt bijvoorbeeld de Belastingdienst principieel verkeerd. Klinkt resoluut,
mist echter èlk realiteitsbesef. Variëteitsbeheersing moet dat zijn.
Diezelfde mensen die zich veelal met ontwerp, ontwikkeling e.d. bezighouden
erkennen de noodzaak van passende variëteit echter (nog) niet. Inderdaad, als
je ervan uitgaat dat ‘iets’ een universeel geldige betekenis draagt, lijkt Soa
in dat opzicht ònproblematisch. De mislukking is echter simpel voorspelbaar.
Een misvatting die over Soa heerst, is dat het herbruikbare bouwsteentjes
betreft. Deels klopt dat, maar nota bene deels ook nièt. Herhaal, nièt! De
beoordeling of een bouwsteen óók op een àndere plek pàst, … hangt natuurlijk
mede van die plèk af. Ofwel, de contextuele variëteit moet principieel
ònderdeel vormen van het informatiestelsel. Is het goed dat een speler de bal
met de hand gooit of zelfs maar raakt? Als handballer, ja, maar als voetballende
veldspeler, nee. Omdat Soa die wezenlijke variëteit niet expliciet faciliteert,
is het domweg niet genoeg. Een eindeloos herhaald — maar ook begrepen?! —
citaat van Einstein is daarover volstrekt duidelijk: “Make everything as simple
as possible, but not simpler.” Dus, geïsoleerd genomen is/blijft Soa een grove
versimpeling.
Een levensvatbare opzet voor verwerkingsmodulariteit, en wie dat Soa wil
noemen, prima, moet onlosmakelijk vergezeld gaan van fundamentele semantische
samenhang. Dat is dus een samenhang met — ruimte voor — reële, dus ook nogeens
verànderlijke betekenisverschillen. De primaire oriëntatie op dergelijke
verschillen (flexibiliteit) leidt tegelijk tot wat algemener overeenkomt
(efficiëntie).
Toen ik laatst van huis fietste, zag ik op straat een buurjongen. “Is die eend
van jou?” riep ik. “Ja!” riep hij blij terug. Was ik boos, omdat er eendenpoep
op mijn stoep lag? Nee, er stond een mooie, felrode auto voor mijn gevel van
het merk Citroen, type 2CV. De buurjongen begreep precies wat ik bedoelde:
context. En ik miste mijn eigen eend. Ja, ook zo’n auto, maar die was blauw.
Voor praktische oplossing van het informatievraagstuk kan niemand reële
verschillen inclusief hun samenhang verwaarlozen. Daarentegen zònder dergelijke
stelselmatige betekenisordening kunnen we door-soa-en tot we een òns wegen,
maar verbetert er helemaal niets.
30 november 2007, webeditie 2007 © Pieter Wisse