In deze casestudy duiken we de techniek in en vervolgen we dit verhaal over hoe een grote Nederlandse verzekeringsmaatschappij een andere maatschappij overnam. Juridisch was de overname in kannen en kruiken, maar ze stonden aan het begin van een complexe systeemintegratie. De verzekeringsmaatschappij koos er daarbij voor om, naast de integratie van systemen, ook in te zetten op simplificatie en migreerde een deel van de koppelingen van SOAP naar REST API's. In deze technische casestudy bespreken we welke mogelijkheden we hiervoor zien en welke we hebben toegepast.
Wanneer we het hebben over simplificatie door REST, dan is de keerzijde dat je soms functionaliteit verliest. SOAP bevat allerlei toeters en bellen, maar die zijn er niet voor niets. Reliable messaging, wat inhoudt dat je een bericht exactly once verwerkt om duplicates te voorkomen, is bijvoorbeeld een onderdeel van SOAP. Maar niet van REST.
Een tweede aandachtspunt is de granulariteit van je data. In SOAP wordt bijvoorbeeld een klant met adresgegevens samen teruggegeven, terwijl je dat bij een REST API vaak uit elkaar haalt en een klant en adres als twee verschillende objecten ziet. Bij het omzetten van SOAP naar REST moet je daar dus mitigerende maatregelen voor nemen. In het geval van deze verzekeringsmaatschappij gebruiken we een integratieframework, zoals een SOAP to REST proxy.
Worstel je met een specifiek integratievraagstuk? Of heb je een vraag over bepaalde systemen, applicaties of Integration as a Service?
We zijn gestart met greenfield ontwikkelen: hoe zou een REST API eruit moeten zien? Wat zijn de juiste collecties, welke objecten moeten we benaderen en hoe laten we de applicaties met elkaar praten? Met de wensen en behoeftes van de verzekeringsmaatschappij in ons achterhoofd hebben we een migratiepad beschreven om SOAP naar REST om te zetten. Waarbij het integratieframework de enabler is voor de migratie.
Voor REST is het standaard gegevensformat meestal JSON en voor SOAP is dat XML. In het integratieframework plaatsten we REST naast SOAP, als een soort tweede ingang voor de service, met dezelfde code en granulariteit. Het belangrijkste hierbij is dat de functionele data inhoudelijk gelijk blijft. Een mapper vertaalt vervolgens XML naar JSON of andersom en zorgt dat die functionele data van het bericht bij de service terechtkomt.
In het integratieframework valideren we de JSON-berichten, tegen hetzelfde schema waarmee de SOAP-validatie gebeurt. Daarbij kijken we dus echt functioneel naar welke data er binnenkomt en is het minder interessant hoe de data binnenkomt. Daarnaast zorgen we voor een duplicate check: de header krijgt een message-ID, zodat een bericht maar één keer wordt verwerkt via REST.
Een andere usecase voor deze Nederlandse verzekeringsmaatschappij betrof het implementeren van een SOAP to REST proxy. Het geval was namelijk dat de verzekeringsmaatschappij een REST endpoint wilde gebruiken, maar dat was verder niet ingeregeld door de provider. We hebben daarom een adapter toegevoegd die het bericht vertaalt van SOAP naar REST én een duplicate check doet.
Die adapter plaatsten we voor de applicatie, zodat REST makkelijk wordt omgezet naar SOAP en andersom. Het grote voordeel van een SOAP to REST proxy is dat je ruimte creëert voor een migratiescenario waarin niet bekend is welke afnemers er allemaal zijn. Met een proxy kun je afnemers dan een voor een migreren.
We hebben in het IT-landschap van de verzekeringsmaatschappij niets hoeven aanpassen en toch de stap gemaakt naar een REST-architectuur. Bovendien heeft de verzekeringsmaatschappij met het integratieframework meer inzicht in haar componenten gekregen. De beheerconsole geeft inzicht in fouten en ook wat er precies fout is gegaan, zodat je die snel en structureel kunt oplossen.
Nog niet de hele omgeving van de verzekeringsmaatschappij is over naar REST, maar alle toekomstige stappen zijn eenvoudig te faciliteren met het integratieframework. Omdat je hierin de technische laag loskoppelt van de functionele laag, ben je veel flexibeler om uit verschillende bronnen data te halen en te delen. Dat betekent dat je nieuwe applicaties eenvoudig aansluit op de oude omgeving. Met het integratieframework en de eerste REST API's is de verzekeringsmaatschappij klaar om volledig over te gaan van SOAP naar REST.
Wij (en onze klanten) zijn groot fan van ons Frank!Framework, dé basis voor de integratie van bedrijfssystemen en applicaties. Ken je ons integratieframework nog niet? Bekijk dan eens deze video en ontdek hoe je eenvoudig API's genereert met het Frank!Framework. Zelf aan de slag? Vraag vrijblijvend een Proof of Concept met interessante korting aan.