SOA for Dummies

SOADummies

Iedereen kent ze wel: de gele "for dummies" boeken. De gemiddelde nerd is natuurlijk een n00b wat betreft de andere betekenis van SOA. Voor iedereen die een n00b is op het gebied van "Service Oriented Architecture" maakt het boek de dummie-doelgroep waar: het leest vlot, trekt de materie uit elkaar in losse begrijpelijke delen en geeft toepassingen en voordelen t.o.v. traditionele architecturen.

Een korte samenvatting:

Hoe is SOA ontstaan? Van oudsher werden problemen "stuk voor stuk" opgelost met software-oplossingen. Hierdoor ontstaan een hele rits applicaties die per stuk hun taak wellicht goed uitvoeren, maar die niet kunnen samenwerken of een integrale aanpak ondersteunen. Een aanpak om dit op te lossen, zou kunnen zijn "integratie". Het nadeel hiervan is dat een applicatie dusanig veel moet kunnen, dat het te complex wordt en de ontwikkeltijd lang is. Zo lang, dat tegen de tijd dat het pakket klaar is, het bedrijfsproces dat het moet ondersteunen, waarschijnlijk verandert is. Een andere aanpak zou kunnen zijn "alles koppelen". Meestal wordt er dan met scripts gegevens uitgewisselt in tabellen. Dat moet dan gebouwd worden voor elke applicatie naar elke andere applicatie. Deze koppelingen zijn dan uniek en moeten per stuk onderhouden worden.

Uitgelegd wordt hoe applicaties een "service" kunnen bieden, door ze per stuk te laten doen waar ze goed in zijn en het resultaat als "bericht" aan te bieden aan andere applicaties. Voor dit berichten-verkeer (XML) zijn allerlei standaarden afgesproken zodat de inhoud gelezen en uitgewisseld kan worden.

Deze architectuur bestaat uit de volgende componenten:

  • ESB: De "Enterprise Service Bus". Voor het transport van alle berichten tussen de applicaties.
  • Registry: Een soort catalogus dat van elk component beschrijft wat het doet en waar het voor dient.
  • Workflow Engine: een software component dat de bedrijfsprocesen beschrijft. Elk bedrijfsproces maakt gebruik van één of meerdere services in een bepaalde volgorde.
  • Service Broker: de diensten-makelaar. Een software component dat alle andere componenten kent en verbindt.
  • Service Supervisor: voor monitoring en rapportage van alle andere componenten.

Het boek besteed aan elk compenent meerdere hoofdstukken om deze toe te lichten.

Toepassingen in onderwijs

Één van de grootste applicaties in onderwijsland is het student administatie systeem (nOISe, Icarus, Peoplesoft). Het is dan ook niet voor niets dat in het programma van eisen voor de opvolging van nOISe deze architectuur vermeld wordt. Omdat het student administratie systeem leidend is voor veel zaken, kan het zijn diensten aanbieden aan bijvoorbeeld ELO’s (toegang, accounts, courses) en aan de voorgenomen portals van gemeentelijke instellingen. Deze zijn convenanten aan het sluiten voor het terugdringen van "Voortijdig Schoolverlaten".

Overigens gebruiken we zelf Blackboard en die praat nog geen "services". Wel loopt er een project voor een building block die dit kan.

Deze architectuur toepassen/implementeren vergt meerdere jaren. Alhoewel nu elke leverancier de "SOA" sticker op zijn doos plakt, gaat het wel de goede kant op.