Verschillen tussen OutSystems 11 en ODC

Door Onno Poelmeyer
Consultant bij CoolProfs

In dit artikel stippen we een aantal verschillen aan tussen OutSystems 11 en Outsystems Developer Cloud (ODC). Het is geen volledig overzicht. De verschillen brengen wel aan het licht dat ODC echt een andere ontwikkelmethodologie is.

ODC Portal en ODC Studio

Het ODC Portal is een volledige console voor het beheren, bewaken en implementeren van apps en voor het beheren van gebruikers en rollen. Zelfs de Forge is in het ODC Portal geïntegreerd.

ODC Studio is de bekende ontwikkelomgeving. Dit is nog steeds een aparte app die op de laptop van de developer wordt geïnstalleerd. Hij is overigens via het ODC Portal te downloaden.

Ontwikkeling op app-niveau

In ODC bestaat het concept van modules niet meer. Apps worden niet meer opgedeeld in losse modules, zoals in OutSystems 11 wordt aanbevolen. De langetermijnstrategie van OutSystems is meer gericht is op het beperken van afhankelijkheden, het minimaliseren van codeconflicten en het stroomlijnen van samenwerking. Dat zien we dan ook overal in ODC Studio terug.

Libraries

Libraries in ODC bevinden zich op hetzelfde niveau als Web Apps en Mobile Apps en ze hebben hun eigen levenscyclus. Een app en een library worden in dezelfde Kubernetes container opgeslagen en samen gedeployed. Het is daardoor trouwens niet mogelijk om alleen de library uit te rollen.
Apps gebruiken specifieke revisies (revisions) van een library. Zo kan app A gebruik maken van Library v1 en app B van Library v2.

Hergebruik en afhankelijkheid

In ODC is de manier waarop je onderdelen kunt hergebruiken anders dan in OutSystems 11. Apps kunnen onderdelen van andere apps hergebruiken, maar alleen als ze loosely coupled zijn. Onderdelen die tightly coupled zijn hergebruiken kan, maar alleen vanuit libraries. ODC voorkomt dat strong dependencies gemaakt worden tussen apps.

Dependencies tussen apps (web of mobile) zijn dus altijd weak, wat inhoudt dat entities (tabellen) die door meerdere apps worden gedeeld altijd alleen-lezen zijn. Schrijven is overigens wel mogelijk via een service action.

Er zijn aardig wat elementen die in OutSystems 11 public konden zijn, maar ODC niet meer. Lees voor meer informatie het artikel Reuse elements across apps op de OutSystems website.

Deployment

Bij de uitrol van de ene naar de andere stage (voorheen environment) wordt een container gedupliceerd. De code wordt dus niet opnieuw gecompileerd. Mede daardoor duurt deployment naar een andere stage in ODC slechts enkele seconden, een groot verschil met OutSystems 11. Bij CoolProfs zien we dat het bij de complexe omgeving van onze klanten vaak uren duurt om alle apps en modules door te zetten. Mede daarom hebben wij een Cool DevOps applicatie ontwikkeld die het proces vereenvoudigt en parallellisatie biedt. Cool DevOps biedt nog veel meer voordelen boven alleen LifeTime en daarom zullen wij het product doorontwikkelen voor ODC.

Databases

In OutSystems 11 kun je ervoor kiezen om SQL Server, Azure SQL Database, Oracle of DB2 te gebruiken als (interne) database. In ODC maken apps altijd gebruik van Aurora PostgreSQL. Waar SQL Server en Azure SQL Database traditionele relationele databases zijn, is Aurora PostgreSQL een object-relationele database. Dit betekent dat het mogelijk is om SQL query’s te maken met complexe gegevenstypen en objectovererving.

Anderzijds kunnen eigen, Advanced SQL, query’s tot problemen leiden. Dit type query herkennen developers wel als het type dat je zelf bouwt, buiten OutSystems aggregates om. In dat geval krijg je dus te maken met de verschillen tussen SQL talen:
In SQL Server zou je zeggen:

SELECT TOP 10 * FROM {Organization}

In PostgreSQL zou dat zijn:

SELECT {Organization}.* FROM {Organization} LIMIT 10

Wij begrijpen uit OutSystems-webinars dat de Migration Kit advanced SQL-query’s zal begrijpen en kunnen converteren.

Tijd

Datum- en tijdgegevens worden opgeslagen in UTC. Let erop dat de datum en tijd die een gebruiker van een ODC app ziet wordt bepaald door de tijdzone van het apparaat. Wanneer een gebruiker een app opent op zijn computer in Boston, USA, wordt de tijd weergegeven als 5:00 am (UTC-4). Wanneer een gebruiker dezelfde app opent op zijn computer in Lissabon, Portugal, ziet hij de tijd als 10:00 am (UTC+1). O11 Reactive en mobiele apps deden dat overigens ook zo.

Authenticatie

ODC wordt geleverd met Identity Service, een ingebouwde identiteitsprovider. Deze biedt verificatie, autorisatie en gebruikersbeheer voor zowel de organisatie als de apps. Daarnaast is het mogelijk gebruik te maken van een externe Identity Provider. Elke provider die de OpenID Connect (OIDC)-standaard volgt is geschikt. Voorbeelden hiervan zijn Linkedin, Google, Facebook, Apple, Azure AD en Amazon Cognito. Verder is er nu maar één user provider.

Verschillen in terminologie

OS11ODCNotities
environmentstageIn ODC is de infrastructuur waarin apps worden ontwikkeld fundamenteel anders. Beide termen (environment en stage) betekenen echter hetzelfde: de plaats waar apps naartoe gezet worden, zoals ontwikkeling (dev) en productie (prod).
Reactive appweb appAlle web apps zijn Reactive in ODC. Traditional wordt niet ondersteund.
Modulen.v.t.Modules bestaan niet in ODC.
Site PropertiesSettingsSite Properties heten nu Settings en werken iets anders.
VersionRevisionBij publicatie van een app of library creëert ODC een nieuwe revision. Oudere revisions zijn terug te vinden in ODC Studio.
Schakel JavaScript in je browser in om dit formulier in te vullen.
Type platform

CoolUp '24

De Uitdaging van Duurzame Innovatie in een Versnellende Wereld

Madhu Iyer, consultant bij Lean Digitale Transformatie

De technologische verandering raast voort. Ondanks Agile en low-code, worstelen we om bij te blijven met Generatief AI en de toenemende focus op duurzaamheid.

Een unieke aanpak, die Lean Thinking combineert met digitale transformatie, biedt soelaas. Dit beproefde framework versnelt innovatie en adaptatie, met oog op duurzaamheid.

In mijn lezing focus ik niet op kant-en-klare oplossingen, maar schets ik het framework en mijn vertaalslag naar de praktijk. Ik deel wat wel en niet werkte. Het framework is aanpasbaar – de juiste toepassing hangt volledig af van uw eigen context.

Toewijding, consistentie en emotionele veerkracht zijn cruciaal. In mijn lezing deel ik diverse ervaringen – successen en mislukkingen – om waardevolle lessen te trekken en met vertrouwen te navigeren in het veranderende bedrijfslandschap, met focus op duurzaamheid.

CoolUp '24

Dagelijks deployen een utopie? Nee hoor!

Ruud Rademaker, Software Architect bij PGGM

CoolProfs zegt “Er zijn tal van redenen te noemen om je software development lifecycle (SDLC) te verbeteren. Wat je doel ook is, de CoolProfs SDLC-Suite biedt alle tools om dit voor OutSystems low-code omgevingen werkelijkheid te maken. Met onze SDLC-Suite maak je de low-code belofte waar.

Maakt CoolProfs die belofte waar? Een kritische klant vertelt.

CoolUp '24

Domain Driven Architecture, een noodzaak?

Edwin Muijen, Principal Consultant CoolProfs en PO Cool Model

Domain Driven Design is niet nieuw, maar wordt steeds relevanter. Kleinere, bedrijfsonderdeel-specifieke apps zijn overzichtelijker, sneller aan te passen en onafhankelijk van andere apps en hun ontwikkelteams.

Monilithische applicaties uit het verleden kunnen misschien beter worden opgedeeld in kleine, herbruikbare delen.

Edwin Muijen vertelt waarom Domain Driven Architecture van belang is, nu en in de toekomst.

CoolUp '24

Tekenen met AI

Heb je zin om eens met jouw creatieve kant aan de slag te gaan? Grijp nu hier de kans om samen met Jan Loos tekeningen tot leven te laten komen door middel van AI.
Let op: voor deze workshop zijn beperkt plaatsen beschikbaar.

CoolUp '24

Op eigen benen staan, bouw je eigen OutSystems team.

Christa Roseboom, HR manager en mede-eigenaar Sogyo
Imelda Duivenvoorden, HR manager en MT-lid CoolProfs

Sogyo en CoolProfs geven tips en pitfalls over het samenstellen (en behouden) van je eigen OutSystems team. Samen helpen we je bij het werven van geschikte kandidaten en het vormgeven van een traineeprogramma. Uiteraard met de nodige begeleiding vanuit onze kant.

Samen zorgen we voor een instroom van goed opgeleide startende OutSystems-engineers die in vaste dienst kunnen treden. Ons plan is op basis van maatwerk en Best Practices. Zo heb je binnen de kortste keren ervaren OutSystems specialisten in dienst.

CoolUp '24

AI en UX voor OutSystems

Menno Cramer, Head of Solution Delivery & Experience bij OutSystems

UX/UI tovert apps om tot iets leuks en gebruiksvriendelijks, en met AI wordt het alleen maar beter – denk aan slimme personalisatie en bliksemsnel reageren. Met platforms zoals OutSystems kunnen we die dromen waarmaken en supercoole, slimme apps bouwen die precies doen wat gebruikers willen.

Dus, ontwerpers, omarm AI in jullie werk en wees niet bang – jullie creatieve magie en banen zijn veiliger dan ooit. En hey, vergeet niet: houd het simpel, test vaak, en luister altijd naar wat de gebruiker echt wil!

CoolUp '24

Road to ODC

Jeroen Bezemer, CTO bij CoolProfs
Arjan Waardenburg, Solution Architect bij OutSystems

Als OutSystems enthousiast zit je met een berg vragen. Je wilt zo snel mogelijk starten met ODC maar waar begin je en hoe zorg je voor een zo frictieloos mogelijke transitie van je huidige applicaties?

CoolProfs en OutSystems hebben een ijzersterke roadmap voor je uitgestippeld, met de stappen die je tussen nu en 2029 kunt doen. Daarbij wordt rekening gehouden met zowel de techniek als de mensen.