Kijkje achter de schermen: Zeno integratielaag

Michiel

Eind januari, in ons nieuwsartikel Innovatieve Abonnementen-Software: Van Gesprekken naar Actie, hebben wij je meegenomen in de stappen die we ondernemen om een vernieuwde Zeno abonnementen module te ontwikkelen. In dit artikel willen we jou een kijkje achter de schermen geven bij de ontwikkeling van de "Zeno integratielaag”, die daar onderdeel van uit maakt.  

Even voorstellen
Mijn naam is Michiel Westland, ik ben technisch consultant en software engineer voor Zeno bij Socho IT. Mijn passie is programmeren en alles wat met software te maken heeft. Ik ben al ruim 25 jaar professioneel actief in de IT en ik ken Zeno al meer dan 20 jaar.  

Het is fascinerend om te zien dat Zeno al die tijd in staat is geweest om zich aan te passen aan een continu veranderende wereld. Zowel op functioneel gebied in de uitgeverij, als op software-technisch gebied.  

Mijn specialisaties zijn de database en webservice integratie ontwikkeling, de zogenaamde backend. Dat is het gedeelte dat niet direct voor de Zeno gebruikers te zien is als interface. Daarom vind ik het nu wel eens leuk dit artikel te schrijven en te vertellen wat ik allemaal doe. Als ik over mijn werk vertel zeg ik vaak: “Zolang men er niet bij stil staat, dat mijn software draait, als het rustig zijn werk op de achtergrond doet, heb ik het goed gedaan!”  
Vanuit dat perspectief zie ik Zeno als deel van een groter geheel, dat uitstekend moet integreren in het applicatielandschap van de uitgeverij. Van webshop tot datawarehouse, van klantenservice tot management rapportage. Daar komt de term “integratielaag” vandaan. Zie Zeno maar als “subscription engine”, de motor die de administratie draaiende houdt.  

Waarom maken we een nieuwe integratielaag? 
We willen verdere stappen zetten in het “ontzorgen” van onze klanten, bijvoorbeeld door eenvoudiger beheer en installatie van de ‘webserver’ van onze webservices. De afgelopen jaren is veel ervaring opgedaan en een hoop bijgeleerd over het veranderende IT landschap.  

Veel daarvan kunnen we direct in praktijk brengen op het bestaande fundament van Zeno. Dat het de ontwikkeling heeft doorstaan van client/server met import en export bestandjes, tot complexe integraties met cloud systemen vandaag de dag, vind ik een sprekend voorbeeld van de soliditeit daarvan. Door nu nieuwe elementen toe te voegen hebben we de kans om ook belangrijke vernieuwingen aan de basis door te voeren, waardoor we ons gehele product weer op een hoger niveau kunnen brengen.  

Hoe ziet die nieuwe versie eruit?  
We willen voor een langere periode een stabiele factor blijven in jouw applicatielandschap. Het is de bedoeling dat ook de nieuwe versie jaren mee kan. Er komt een mogelijkheid voor installatie on-premise in je eigen netwerk, in je datacenter of bij een hosting partij.  

 

Ontwikkel omgeving

We hanteren de filosofie “API first”. Dat betekent dat we in een vroeg stadium van de ontwikkeling meteen al nadenken over de beste integratie met andere systemen. Net zoals we in een vroeg stadium nadenken over het datamodel, welke tabellen en velden hebben we allemaal nodig voor opslag.  

Stabiele kern van Zeno is en blijft de Oracle relationele database. Daarop sluiten meerdere Zeno onderdelen aan. De Zeno APEX webapplicatie in de browser, de bestaande Zeno N in Omnis Studio en de integratie laag kan je ook zien als een aansluiting op de database. Met de “API first” aanpak in het achterhoofd, en omdat wij intern zoveel mogelijk programma-code willen hergebruiken, is het idee van de TAPI ontstaan. Dat staat voor Table Application Programming Interface, zeg maar de centrale opslag en rule-engine van Zeno. In de TAPI geven we onze tabellen en velden vorm, en maken we ook een formele definitie van business-rules op de data. Zeg maar, aan welke kwaliteitsregels de data moet voldoen. Bijvoorbeeld om te beveiligen dat twee datum periodes niet mogen overlappen of anderszins. Door dit zoveel mogelijk in de database te leggen, maken we daar in alle aansluitingen optimaal gebruik van en waarborgen we kwaliteit.  

 

Documentatie

Concreet gaat de integratielaag ondersteuning bieden voor HTTP REST endpoints volgens de OpenAPI standaard met JSON berichten over en weer. Zo’n endpoint moet je zien als een loket, waarmee een ander programma vragen kan stellen aan Zeno of opdrachten kan geven en vervolgens krijgt men antwoord terug. Daar wordt een API gateway service aan toegevoegd, waarschijnlijk met GraphQL. Wij blijven security best practices inzetten, zoals HTTPS beveiliging, OAuth2 authenticatie, een fijnmazige rechtenstructuur en uitstekende logging t.b.v. serviceverlening of AVG audits.  

Ook komen er in een volgende fase aanvullende uitbreidingen, zoals “webhooks”, waarmee er kan worden gereageerd op gebeurtenissen die intern in Zeno plaatsvinden. Bijvoorbeeld als in Zeno de prijs van een product verandert of een bestelling wordt ingevoerd en als dat in een aansluitend systeem moet worden verwerkt. Voor de langere termijn zijn met dit nieuwe fundament ook stappen gezet om SBOM (software bill of materials) analyses mogelijk te maken, en wordt toekomstige containerization in de cloud mogelijk gemaakt. Maar dat is nu nog toekomstmuziek. Voor de korte termijn focussen wij eerst op de functioneel inhoudelijke vormgeving van de nieuwe subscription module.  

Met de nieuwe versie schrijven wij de API interfaces en documentatie in de Engelse taal, om internationaal voorbereid te zijn.  

Deel je feedback
Met dit artikel hebben we je een inkijkje in ons ontwikkelproces gegeven en de ideeën over onze volgende stap in systeemintegratie uiteengezet. In de nabije toekomst delen wij hierover weer verdere resultaten. Wil je over dit onderwerp verder met ons in gesprek, dan horen wij graag jouw feedback. Daar kunnen we weer ons voordeel mee doen! 

Ben je al Zeno klant?  
Hoe zit het met de bestaande SOAP / XML webservices op Zeno N? Deze zijn niet verouderd en hoeven vooralsnog niet te worden vervangen. Wij blijven de webservices voor de Zeno N abonnementen module gewoon ondersteunen zoals je gewend bent, omdat wij ons realiseren dat je een waardevolle investering hebt gedaan, toen je jouw website koppeling met Zeno hebt laten bouwen. Wij adviseren wel, wanneer je een nieuwe website integratie gaat bouwen, altijd even bij Socho te informeren naar de laatste webservice versies, zodat jouw investering optimaal is.  

Wij gaan voor een geleidelijke overgang en optimale ontzorging van jouw uitgeverij. Jouw core-business is uitgeven, en Socho’s core-business is het implementeren van IT processen, om jouw core-business optimaal te ondersteunen!  

Ons laatste nieuws ontvangen? 

Schrijf je 👉 hier 👈in voor onze nieuwsbrief.

Deze website gebruikt cookies. Sommige cookies zijn noodzakelijk om de website goed te laten werken. Andere cookies gebruiken we om uw bezoek te volgen. Zo kunnen we onze site blijven verbeteren. Deze cookies kunt u natuurlijk weigeren. Zie ook onze cookieverklaring.