Web API's bij Zilveren Kruis Achmea
Web API's bij Zilveren Kruis Achmea
Samenvatting
Bij Zilveren Kruis Achmea is een onderzoek uitgevoerd om een architecturale manier te vinden om gebruikerservaring van de Zilveren Kruis websites te verbeteren, waarbij een doelarchitectuur en migratieplan zijn opgeleverd.
De businesswensen van de websites zijn:
• Verbeterde performance, zodat gebruikers binnen twee seconden opgevraagde gegevens te zien krijgen.
• Een lagere Time To Market, zodat verbeteringen binnen twee weken bij de gebruikers terecht komen.
• De mogelijkheid tot hot deployment, zodat de websites tijdens het doorvoeren van wijzigingen beschikbaar blijven.
• Kanaalonafhankelijke bediening, zodat gebruikers hun gegevens in meerdere websites kunnen beheren en wijzigingen. Wijzigingen zijn direct in andere websites, apps en systemen zichtbaar.
• Customer journeys kunnen volgen om gebruikspatronen in beeld te krijgen. Dit ter verbetering van procesvoering en de gebruikerservaring van de websites.
Het uitgevoerde onderzoek draait om de hoofdvraag:
Hoe kunnen de Zilveren Kruis portalen overstappen naar een architectuur welke gebruik maakt van web API’s, om complexiteit en koppeling te verminderen?
Het onderzoek resulteert in een advies aan Zilveren Kruis Achmea voor een doelarchitectuur en migratieplan.
Binnen de huidige architectuur zijn verschillende lagen te onderscheiden:
• Frontend: Bevat web applicaties en hun content. Veelal geïmplementeerd in SharePoint en dynamisch gemaakt middels Knockout JS.
• Middleware: Faciliteert de communicatie tussen de frontend applicaties en de backend systemen en hun services.
o Transactie-laag: Biedt business logica voor de frontend. Bevat een Transactie Component, welke de domein API vormt. Geïntegreerd in de SharePoint frontend.
o Integratie-laag: Biedt interfaces voor het aanroepen van de services van de backend systemen. Geïmplementeerd middels verschillende software componenten, waaronder IBM Message Queues.
• Backend: Bevat de verschillende backend systemen met hun services en achterliggende databases.
Er is samengewerkt met de portalen afdeling en andere stakeholders op basis van de agile werkwijze van Zilveren Kruis Achmea. Er is in meetings samengewerkt om te komen tot kennisdeling, een gezamenlijk beeld en een gedragen architectuur. De architectuurproblemen, eisen en randvoorwaarden zijn geïnventariseerd. Samen zijn er mogelijke oplosrichtingen boven water getild en beoordeeld. Op basis van dit onderzoek is een doelarchitectuur en migratieplan opgesteld.
De problemen van de huidige architectuur zijn:
• Sterke koppeling, veel onderlinge afhankelijkheden in de transactie-laag.
• Versionering van de transactie-laag is beschikbaar maar wordt niet gebruikt.
• Performance is laag. Caching kan beter en service aanroepen zijn langzaam.
• Verouderde code blijft in gebruik, wat onderhoud vermoeilijkt.
• Verschillende soorten logica worden door elkaar heen gebruikt, wat onderhoud en vernieuwing vermoeilijkt.
• Service interfaces sluiten slecht aan op de gebruikers use cases.
• De implementatie van de transactie-laag maakt kanaalonafhankelijke bediening niet mogelijk.
De onderzoeksvraag gaat primair over de transactie-laag. De voorgestelde architectuur uit het onderzoek omvat alle lagen. Over de front- en backend worden aanbevelingen gedaan die per portaal verder onderzocht moeten worden.
De voornaamste wijzigingen aan de transactie-laag zijn:
• De transactie-laag stapt van SharePoint af en wordt als generieke ASP.NET applicatie geïmplementeerd op een IIS server. Dit verhoogt flexibiliteit.
• De domein API wordt opgesplitst om de ongewenste koppeling weg te werken en versionering te realiseren.
• Caching wordt verbeterd om performance te verhogen.
• Domeinfunctionaliteit wordt ontsloten door data-gerichte, portaal-generieke web API’s welke de domein API’s ontsluiten om kanaalonafhankelijke bediening te realiseren.
Voor de frontend zijn de volgende wijzigingen aanbevolen:
• Website content wordt gerealiseerd middels het JavaScript framework Angular 2, ter behoeve van testbaarheid en voldoen aan de eisen.
• De frontend stapt van SharePoint af en wordt middels Sitecore geïmplementeerd. Dit biedt nuttige functionaliteit ter behoeve van performance en personalisatie.
Het volgende wordt aanbevolen voor alle backend services:
• Gefilterde service data wordt in een geoptimaliseerde cache database voor de frontend opgeslagen. Hierdoor wordt de performance verbeterd. Per service is onderzoek nodig of de kosten opwegen tegen de baten.
In het migratieplan naar de doelarchitectuur worden web API’s als eerste gerealiseerd, waardoor de migratie van de frontend ontkoppeld wordt. Daarna zijn er meerdere migratiedelen welke onafhankelijk van elkaar uitgevoerd kunnen worden, waardoor het ontwikkelteam de flexibiliteit heeft te prioriteren op basis van huidige en toekomstige werkzaamheden.
De architecten en ontwikkelaars zijn akkoord met de doelarchitectuur en migratieplan. Alle problemen worden verholpen en de businesswensen kunnen worden gerealiseerd. Het vervolg na dit onderzoek is het maken van een proof of concept en het formaliseren van de architectuur in de portalen roadmap.
Organisatie | Hogeschool Utrecht |
Opleiding | Informatica |
Afdeling | ICT |
Partner | Zilveren Kruis Achmea |
Datum | 2016-12-19 |
Type | Bachelor |
Taal | Nederlands |