RBehoud het mainframe, behoud stabiliteit
Organisaties met een mainframe-omgeving zijn over het algemeen zeer tevreden met de stabiliteit van dit platform. Gebruikers (medewerkers) van mainframe-applicaties hebben echter te maken met een systeem dat qua beleving steeds verder afstaat van wat men in de privésfeer gewend is. Denk bijvoorbeeld aan wat geboden wordt in apps voor bankzaken of het boeken van een overnachting.
Een belangrijk pijnpunt is de inleertijd voor nieuwe medewerkers; allerlei functietoetsen en numerieke codes moeten eigen gemaakt worden. De foutgevoeligheid bij de invoer kan duidelijk beter; het invoeren van namen met diakrieten is omslachtig. Het systeem is daarnaast moeilijk te onderhouden en kennis wordt schaars in de markt.
Het vervangen van (delen van) mainframe-applicaties is echter niet eenvoudig vanwege de sterke onderlinge verwevenheid binnen de applicatie en juiste codering van de bedrijfslogica. In plaats van gehele vervanging is het ook mogelijk om in eerste instantie te richten op een vernieuwde user interface (UI). Hiermee kan relatief snel een sterk verbeterde gebruikerservaring geboden worden die de inleertijd voor nieuwe medewerkers verkort en de foutgevoeligheid reduceert. Een geleidelijke en beheerste implementatie is mogelijk omdat de nieuwe UI naast de bestaande te gebruiken is.
In dit blog kijken we hoe deze aanpak is toegepast bij een uitvoerder van sociale zekerheid. We gaan in op de architectuur en gebruikte technologieën. We zullen zien dat de aanpak ook kansen biedt voor vernieuwing op het gebied van software-ontwikkeling die de tijd van wens tot product sterk verkort.
Figuur 1: Huidige applicatie en losstaande kennisbank (links). Nieuwe frontend en integratie met kennishulp en referentie-data (rechts).
De nieuwe UI ondersteunt de medewerker
Medewerkers van de organisatie gebruiken schermen in de mainframe via een eenvoudige presentatielaag. Deze presentatielaag toont de data en invoervelden, maar de visuele weergave en ervaring (UI/UX) zijn achterhaald en bieden weinig ondersteuning.
De nieuwe frontend (zie figuur 1) is gerealiseerd met behoud van het bestaande achterliggende systeem. Het nieuwe frontend stuurt het mainframe aan op basis van schermdata. Doordat de bestaande bedrijfslogica en processen in tact blijven, is de kans op verstoringen bij de implementatie sterk verkleind.
Naast een betere visuele presentatie biedt de nieuwe frontend ook meer ondersteuning voor de medewerker: autosuggest velden in plaats van codes invoeren, diakrieteninvoer, interactieve tabellen en modal dialogs. Kennisondersteuning wordt geïntegreerd aangeboden in plaats van als een losstaand naslagwerk. Dit gebeurt door het toevoegen van uitleg aan schermen en individuele invoervelden die op afroep beschikbaar zijn.
Technologie: MEAN + integratie
Er is gekozen voor een combinatie van open source producten die ook wel bekend staat als de MEAN stack: MongoDB, ExpressJS, Angular en NodeJS (zie Figuur 2). Deze componenten zijn allen goed schaalbaar en hoog-beschikbaar (HA) in te zetten. Vanwege de populariteit is er ook veel kennis in de markt beschikbaar.
Figuur 2: Technologieen: frontend (Angular + NodeJS), referentiedata (MongoDB), integratie (Oracle Service Bus).
De nieuwe frontendapplicatie gebruikt de Angular en NodeJS frameworks. Ten behoeve van de nieuwe presentatie is een grote verzameling van herbruikbare componenten, inclusief styling, aangelegd. Deze componenten kunnen op deze manier gebruikt worden voor andere mainframe applicaties die een nieuwe frontend krijgen; op deze manier wordt een uniforme en dus herkenbare UI/UX gerealiseerd.
De referentie-data (vertaal-tabellen voor o.a. auto-suggest velden) is opgeslagen in een MongoDB database, waarbij een synchronisatie-proces is opgezet tussen het mainframe en deze database. Beheer van de data gebeurt dus op 1 plaats.
De Oracle Service Bus zorgt voor integratie tussen frontend en mainframe. Concreet gaat het om protocol- en berichtvertaling, van JSON-formaat over HTTP naar Cobol Copy Book (CCB) formaat over MQ. De mogelijkheid om de ontsluiting JSON over HTTP rechtstreeks op het mainframe te doen wordt nog nader onderzocht.
De inhoudelijk kennisondersteuning wordt in een contentteam beheerd en op afroep opgehaald.
Ontwikkelaanpak
Bij het ontwikkelen van de frontend en service bus onderdelen is ingezet op de principes van Continuous Delivery (CD). Dit is een verzameling technieken waarmee de software betrouwbaar en frequent kan worden opgeleverd, en is ook goed toepasbaar in een mainframe-omgeving. In de eerste fase van het project lag de nadruk op verkennen en leren, vervolgens is de focus verlegd naar hergebruik en standaardisatie. Hierop wordt dieper ingegaan in een komend blog.
Stabiliteit en innovatie hand in hand
Dit is een aanpak om met een relatief lage investering en weinig risico voor eindgebruikers veel waarde toe te voegen. Deze aanpak kan een eerste stap zijn in verdere modernisering van het IT landschap. Wij hebben een uitgebreide expertise op dit vlak en zijn u hierbij graag van dienst.