SOA met pakket is compromissen sluiten
11 januari 2008 (Automatisering Gids)
▪ Ingrijpend SOA-project kost CJIB de nodige moeite
▪ Standaard-ERP leidt tot maatwerk en complicaties
De meeste mensen zullen het Centraal Justitieel Incasso Bureau (CJIB) associëren met bekeuringen voor te hard rijden. Deze instantie is immers verantwoordelijk voor het innen van de meer dan tien miljoen verkeersboetes die jaarlijks in Nederland worden uitgeschreven. Maar een simpele acceptgirofabriek is de instelling allang niet meer. Een paar jaar geleden zag het CJIB zelf al in dat de verouderde IT-systemen vervangen moesten worden.
Jan van Dijk, unitdirecteur informatietechnologie & ICT-innovatie, ziet verschillende trends op zijn afdeling afkomen. “We zijn zelf als CJIB neergezet om vooral massa te leveren: verkeershandhaving, de Wet Mulder. En langzamerhand zien we steeds meer de vraag naar customization. Niet dat iedere zaak apart wordt behandeld, maar om maar eens wat te noemen: wildplassen tijdens de Sneekweek moet anders behandeld worden dan gewoon wildplassen. En je ziet de trend van meer lik-op-stukbeleid vanuit de overheid. De keten van politie, Openbaar Ministerie, RDW en anderen moet als geheel sneller kunnen reageren.” Aan de situatie met een verouderde infrastructuur en vooral weinig flexibiliteit op softwaregebied moest dus een eind komen. En als het gaat om het snel inspelen op de buitenwereld, kom je dan al gauw bij een SOA-aanpak uit.
Er is vooruitgang geboekt, maar helemaal vlekkeloos verloopt de aanloop naar het SOA-walhalla niet bij het CJIB. De belangrijkste oorzaak is dat het CJIB heeft gekozen voor ‘SOA met een standaardpakket’ – in dit geval de Oracle E-Business Suite (EBS) versie 11.5.10. “Dat levert een eigen dynamiek op. De pakketten zijn gewoon nog heel monolithisch”, zegt Van Dijk. Maar een standaardpakket met zo min mogelijk maatwerk was het uitgangspunt voor het vervangen van de vele ‘silo’-systemen die het CJIB nu nog gebruikt.
Dat het CJIB eigenlijk erg veel veranderingen tegelijk ondergaat, ziet Van Dijk ook wel in. “Les één in het handboek veranderkunde zegt dat je maar één ding tegelijk moet doen.” Maar er was niet echt aan te ontkomen. “De deur op slot doen kan hier nu eenmaal niet.” Het CJIB gaat van eigen software (programmeren) naar standaardsoftware (parametriseren), van de watervalmethode naar de pakketmethodiek van Oracle, van losse systemen naar één groot systeem, van batchverwerking naar realtime, van uniforme afhandeling naar meer ‘massamaatwerk’.
Niet dat Van Dijk en de zijnen alles in één keer proberen te doen, overigens. In 2005 is begonnen het systeem voor de ‘plukze’-wetgeving als pilot op Oracle EBS over te zetten en in productie te nemen. “Dat deden we zonder procesaanpassingen, SOA enzovoort, gewoon om een gevoel te krijgen voor het pakket en de ontwikkelmethodiek.” Er bleek een wereld van verschil te zitten tussen de bestaande aanpak en de pakketwereld. “Daar hebben we al veel van geleerd.”
De volgende stap was het eerste echte systeem volgens de nieuwe architectuur. Een extra complicerende factor hierbij was dat tegelijkertijd een nieuwe wet geïmplementeerd diende te worden, samen met een groot aantal ketenpartners. Het gaat hierbij om de OM-afdoening, voor de afhandeling van zaken door het Openbaar Ministerie buiten de rechter om. Dat dat systeem in februari 2008 live gaat in plaats van eind 2006 zegt wel wat over de problemen die het CJIB en de ketenpartners tegenkwamen. “Het systeem brengt veel interacties met zich mee, met het OM, de Raad voor de Rechtspraak, de RDW en de politie. Dat maakt het complex. En we zijn daarnaast gewend te werken met zaken die een een-op-een-relatie hebben met een zaakcomponent, danwel zaakcomponenten afzonderlijk aangeleverd te krijgen en vervolgens als op zichzelf staande zaken af te handelen. Bijvoorbeeld: aan een Mulder-overtreding hangt een boetecomponent. Dat geldt ook voor transacties in strafrechtzaken. Een vonnis kan uit meerdere onderdelen bestaan. Deze worden tot op heden afzonderlijk bij het CJIB ter behandeling aangeboden. Die een-op-een-relatie wordt bij OM-afdoening losgelaten. Het kan bijvoorbeeld zijn dat er behalve een boete ook een taakstraf aan vastzit. De zaak wordt dan in zijn geheel aangeboden en is pas afgehandeld als alle componenten zijn afgehandeld.”Ook wil het CJIB persoonsgericht werken beter gaan ondersteunen. ICT-architect Tjerk Zwanenburg illustreert: “Bij het persoonsgericht werken kan het voorkomen dat er voor één persoon twee zaken zijn met allebei een gevangenisstraf en een taakstraf. Als je die gaat uitvoeren, zorg je ervoor dat eerst in de tijd die gevangenisstraffen aan elkaar gekoppeld worden en vervolgens die taakstraffen. Zaken moeten dus geïntegreerd worden en dat maakt het systeem veel complexer.”
Dergelijke problematiek is wel besteed aan architecten. Zwanenburg is enkele jaren geleden dan ook speciaal binnengehaald om architectuurvraagstukken op te lossen. Als een van de eerste stappen is door het architectuurteam samen met ‘de business’ een generiek procesmodel opgesteld, waarin de uitvoering van processen en de besturing ervan duidelijk gescheiden zijn. “Dat plaatje heeft ons maanden gekost maar het staat nog steeds. Het ademt SOA uit”, zegt Van Dijk.
Maar SOA-gebaseerd is Oracle EBS 11.5.10 zelf niet bepaald. De SOA-gedachte wordt realiteit in de Fusion-applicaties van Oracle, maar die software is nog lang niet beschikbaar, constateerde ook Van Dijk. In overleg met Oracle is vastgesteld dat het alleen ging werken als ook de meest recente Oracle-middleware (getooid met de naam Oracle Fusion Middleware, OFM) werd gebruikt, met name de procesbesturingstools daarin.
Het generieke procesmodel bleek redelijk te vertalen naar EBS-componenten. De financiële componenten zijn vrij goed af te handelen binnen EBS, maar vrijheidsstraffen of taakstraffen ‘kent’ EBS niet. “Op dat moment bouwen we dus een service die aansluit op de structuur van EBS.” Dat soort beslissingen moest ook vaak genomen worden waar het de ‘voorkant’ van het systeem betreft.
De maatwerkdiscussie heeft tevens te maken met de strakke scheiding van de sturing en de uitvoering van de processen. Daarbij wreekt zich enigszins de keuze voor ‘proven technology’ zoals het CJIB die maakte. De verleiding is groot de processen vast te leggen in de middlewarelaag, middels het BPEL (business process execution language)-tool dat onderdeel uitmaakt van OFM. “Maar in EBS zelf zit heel veel workflow. Voor je het weet ga je de software herbouwen en dat wil je niet, want dan had je geen pakket moeten kopen, maar tegelijkertijd wil je die flexibiliteit realiseren die met name BPEL biedt.” Daarin moesten regelmatig compromissen worden gesloten. “We houden nu meestel de workflow uit het pakket aan, maar kijken steeds in de BPEL-laag of er nog belangrijke gebeurtenissen zijn.” Van Dijk en Zwanenburg gaan er wel van uit dat dit soort maatwerk bij het overzetten van de volgende systemen steeds minder nodig wordt, omdat er steeds meer processen en services ‘op maat’ zullen zijn gemaakt.
De scheiding tussen sturing en uitvoering heeft veel hoofdbrekens gekost. De komst van een ‘lead architect’ van Oracle hielp het project een stuk vooruit in die strijd. Al discussiërend is het concept van de ‘finite state machine’ verder vormgegeven als de oplossing om invulling te geven aan de sturingslaag. Omdat sturing en uitvoering gescheiden zijn, is er namelijk een mechaniek nodig om bij te houden waar een proces is. Zwanenburg: “Dat pakket geef je een opdracht en dan doet het een aantal dingen en dat moet het onafgebroken gaan uitvoeren. Pas als dat gedaan is, kun je eventueel weer wat anders gaan doen. En met onze maatwerkapplicaties uit het verleden was dat niet nodig. Dan kon je op elk willekeurig moment in de databasetabellen dingen terugzetten en daar rondom zijn ook de processen ontstaan. Maar ad-hocbeslissingen kunnen nu niet meer. Het pakket kan heel veel, maar je moet dat ook echt goed definiëren.”
Het goed specificeren van de ‘business services’ – combinaties van de kleinste bouwstenen uit het systeem die samen zoiets als een stap in een bedrijfsproces kunnen vormen – viel ook niet mee. Bekend veronderstelde begrippen als ‘betekenen’ (aanschrijven) werden door CJIB, consultants van dienstverleners en de consultants van Oracle steeds op hun eigen manier vertaald. Zwanenburg: “‘Betekenen’ mag geen kattebelletje zijn en je moet het exact kunnen reproduceren.” Dat soort dingen heeft in SOA-verband consequenties, omdat er met veel meer andere componenten gekoppeld moet kunnen worden dan vroeger. Van Dijk en Zwanenburg merken dat ze nog veel in onontgonnen gebied verkeren. “De consultants die gewend zijn pakketten te implementeren, zijn ook niet met het SOA-denken opgegroeid.”
Ook bugs in de Oracle-software hebben de invoering van het eerste productiesysteem vertraagd. Toch hoopt het CJIB vanaf nu ieder jaar een nieuw productiesysteem op te leveren op basis van een-en-hetzelfde EBS.
Wat voor problemen kwam CJIB tegen?
• Specificatie van ‘business services’ ging gepaard met babylonische spraakverwarring.
• Inrichting van besturingslaag was een zoektocht.
• Hoeveelheid maatwerk viel erg tegen.
• Consultants nog steeds gewend ‘vanuit het pakket’ te redeneren.
• Bugs, onder andere in omgang met ebxml.