Traditional, Reactive of ODC?
Wat is Traditional?
Het low-code applicatie-ontwikkelplatform OutSystems 11 ondersteunt zowel Traditional als Reactive ontwikkelingsmodellen voor webapplicaties. Zoals de naam al aangeeft was Traditional de traditionele manier om applicaties te bouwen in OutSystems. De logica en de opbouw van de gebruikersinterface vinden voornamelijk plaats aan de kant van de server. Zo moest je preparations maken om de data op een scherm te krijgen. Zodra het scherm in beeld is, is vrijwel elke gebruikersinteractie een nieuw verzoek naar de server. Deze verwerkt het en stuurt nieuwe gegevens terug naar de browser. Apps kunnen hierdoor wat traag aanvoelen. UI-elementen, zoals een gegevenstabel, worden niet automatisch vernieuwd. Ontwikkelaars gebruiken methoden als Ajax Refresh om dit voor elkaar te krijgen.
Wat is Reactive?
In OutSystems 11 kunnen ontwikkelaars ervoor kiezen om Reactive webapplicaties te bouwen. Deze applicaties werken iets anders en zijn beter geschikt voor dynamische gebruikersinterfaces. In tegenstelling tot Traditional wordt de gegevensvoorbereiding automatisch uitgevoerd. Als de pagina is geladen kan een gebruikersactie vaak binnen de browser worden uitgevoerd, zonder dat de hele pagina opnieuw hoeft te worden geladen. Reactive applicaties maken gebruik van asynchrone communicatie, waardoor de gebruikerservaring sneller en soepeler is.
Wat is ODC?
OutSystems Developer Cloud (ODC) is een cloud-native, low-code applicatie-ontwikkelingsplatform. Het ondersteunt Kubernetes, Linux-containers, microservices, allemaal op basis van Amazon Web Services (AWS) native cloud services. Organisaties krijgen de beschikking over ODC Portal en ODC Studio.
Het ODC Portal is een complete console voor het beheren, bewaken en implementeren van apps, maar ook voor het beheren van gebruikers en rollen.
ODC Studio is de bekende ontwikkelomgeving voor developers.
Van Traditional naar ODC?
OutSystems heeft duidelijk gemaakt dat de traditionele en reactieve ontwikkelingsmodellen behoorlijk verschillen. Het is daarom niet mogelijk een migratietool te ontwikkelen van Traditional naar Reactive of van Traditional naar ODC. De gebruikersinterface zal opnieuw gebouwd moeten worden. Voor de logica komt mogelijk wel een migratietool.
Zo’n tool zal geen toverstaf zijn. Bovendien, als een 5+ jaar oude applicatie wordt gemigreerd, dan eindig je waarschijnlijk met oude code, inclusief technical debt, in een container. Een schoolvoorbeeld van oude wijn in nieuwe zakken.
Sommige organisaties overwegen om hun Traditional applicaties nu om te bouwen naar Reactive. Dat heeft enkele voordelen:
- Code wordt opnieuw bekeken en technical debt wordt opgeruimd.
- Er is voldoende tijd voor de ombouw.
- Gebruikers profiteren nu al van betere apps.
- Ontwikkelaars oefenen de vaardigheden die ze nodig hebben als de organisatie overstapt op ODC.
Een nadeel kan zijn dat de Reactive applicatie nog teveel leunt op oude concepten, zoals het werken met een groot aantal modules. Bij de overstap naar ODC is dan opnieuw refactoring nodig.
Van Reactive naar ODC? Of op Reactive blijven?
Als alle applicaties zijn ontwikkeld in OutSystems 11 Reactive heb je voorlopig geen zorgen. De apps en modules zijn immers met behulp van de nieuwste technologieën ontwikkeld en eindgebruikers plukken daar al de vruchten van. Ziet de organisatie geen voordelen in de overstap naar een nieuw, cloud-native platform, is dat prima. OutSystems 11 Reactive blijft in elk geval ondersteund tot 2029 (was 2027).
Aan de andere kant kan het belangrijk zijn om ODC te overwegen voor jouw gebruiksscenario’s. Misschien profiteert jouw organisatie van de inherente voordelen van de cloud. Dan kan het een goed idee zijn om sommige, zo niet alle, apps naar ODC te converteren. ODC is namelijk wel de toekomst van low-code ontwikkeling met OutSystems.
De volgende hulpmiddelen komen beschikbaar om de overgang naar ODC te vergemakkelijken:
- Documentatie
- Een migratiekit (in volgende blogs gaan we hier verder op in)
- Trainingsprogramma’s voor architecten en ontwikkelaars
- Certificering
- Nieuwe functionaliteit in ODC
CoolProfs Road to ODC
CoolProfs heeft een visie ontwikkeld onder de naam Road to ODC. Hierbij beslist de klant uiteraard wat voor hen het beste werkt. Wij ondersteunen jouw pad met onze ervaren consultants. Daarnaast gebruikt CoolProfs een Way of Working die perfect aansluit op ODC, en leveren wij een aantal hulpmiddelen die gecombineerd zijn tot de SDLC-Suite.
Dit alles bij elkaar zorgt ervoor dat jouw DevOps team(s) al op een manier gaan werken die past bij cloud-native development en deployment. Ze krijgen nu al de tools in handen die straks, gedeeltelijk, in ODC zitten.
Wanneer NIET migreren naar ODC?
Dit artikel is mogelijk niet up-to-date wanneer je het leest. In elk geval was begin 2024 bepaalde functionaliteit nog niet beschikbaar in ODC, zoals:
- BPT workflows
- SOAP integraties
- Lokale installaties (het is een cloudplatform…)
- Oracle- of DB2-databases, eventueel met Advanced SQL query’s
- Enkele Forge-componenten
Wat moet ik doen als ik niet kan migreren?
Als je nu Reactive applicaties gebruikt is er niets aan de hand. Blijf ze gewoon gebruiken en wacht tot de gewenste functionaliteit beschikbaar is in ODC. Dit geldt vooral voor BPT en mogelijk lokale (on-premises) installaties. Het is altijd mogelijk om nieuwe applicaties direct in ODC te bouwen. Waarschijnlijk zijn daarvoor wel twee licenties nodig: één voor OutSystems 11 en één voor ODC.
Reactive developers kunnen wel al beginnen met het voorbereiden op ODC. Dit kan betekenen dat SOAP-integraties worden omgezet naar REST of dat custom code geschreven wordt om SOAP aan te sturen. Over custom code extensies gesproken: net als Forge-componenten is niet gezegd dat die niet werken in ODC, maar er is geen garantie.
Als de organisatie nog steeds traditionele web apps gebruikt zijn er in principe twee opties:
- Begin met refactoring om ze zo snel mogelijk om te zetten naar Reactive.
- Ga de apps volledig herschrijven na de overstap naar ODC.
In een volgende blog post gaan we verder in op de migratie van OutSystems 11 naar ODC.
Door Onno Poelmeyer, Consultant bij CoolProfs