OutSystems NextStep 2022 – een impressie

OutSystems NextStep 2022

In navolging van eerdere jaren was er ook dit jaar weer een online OutSystems NextStep (15 t/m 17 november2022). Deze keer waren NextStep en OSDC (OutSystems Developer Conference) gecombineerd, resulterend in sessies onderverdeeld in:

  • Algemene OutSystems sessies bestemd voor potentiële klanten waarbij de vele voordelen van OutSystems worden belicht.
  • Klantervaringen met OutSystems en systemen die zij met OutSystems hebben gerealiseerd.
  • AI-gebruik binnen OutSystems.
  • Sessies over NEO – de cloud-native applications van OutSystems.
  • Technische sessies opgedeeld in beginner, intermediate en advanced.

Zelf heb ik me beperkt tot dag 2 en 3 met de focus op de laatste 3 onderwerpen. Verder in dit artikel mijn impressie van een aantal van de gevolgde presentaties.

Advanced Data Integrations: How to Log and Handle Errors

Met de OutSystems-integratiepatronen kunnen gegevens uit een extern systeem worden geïntegreerd. Integratie kan echter een aantal problemen veroorzaken die kunnen leiden tot storingen. In deze sessie wordt het loggen en afhandelen van fouten, het toepassen van de juiste foutafhandeling en het opnieuw proberen behandeld.

Using Fuzzy Search in Applications Using the OutSystems Platform

De standaardbenadering voor het zoeken naar gegevens is door een zoekopdracht uit te voeren in een database met behulp van de juiste parameters. Voor grotere datasets is dit echter niet genoeg. OutSystems NextStepDe zoekopdrachten zijn niet snel genoeg meer en mensen zoeken graag op een meer ‘fuzzy’, Google-achtige manier.
Door het invoeren van extern fuzzy/probabilistisch zoeken worden de gegevens van OutSystems gesynchroniseerd met een omgeving die gespecialiseerd is in zoeken. In deze sessie worden twee zoekstrategieën (klassiek en fuzzy) besproken en wordt een demonstratie gegeven van fuzzy zoeken.

Performance-Tuning With Reactive Web Apps

In deze sessie worden verschillende manieren om prestatieproblemen te onderzoeken gedemonstreerd, zoals meerdere webblokken met notifications en OnParameterChanged-events die met elkaar conflicteren, meerdere tabbladen die op de achtergrond worden geladen en grote serveracties. Dit alles met behulp van Reactive Web Apps en andere tools zoals Architecture Dashboard, ServiceCenter en Chrome DevTools (tabbladen Netwerk en Prestaties).

The Good, the Bad, and the Ugly: Building Loosely-Coupled Apps With Topics and Queues

In deze sessie worden de berichtmogelijkheden voor publish en subscribe (pub-sub) besproken en hoe deze kunnen worden gebruikt om services en apps binnen het OutSystems-platform of in combinatie met externe systemen met elkaar te verbinden. Enkele voorbeelden van pub-sub voor decoupled communicatie met behulp van queues en topics worden gegeven. Bekeken worden manieren om problemen op te lossen die zich kunnen voordoen bij het gebruik van deze mechanismen. Het doel van deze presentatie is om zowel de voor- als nadelen van pub-sub-mechanismen te laten zien en te helpen de eerste stappen te zetten om dit op het OutSystems-platform te implementeren.

Client-Side Timers

Met timers kunnen acties aan de serverzijde alleen met een bepaald tijdsinterval uitgevoerd worden.OutSystems timers Maar wat als acties aan de clientzijde met een bepaald tijdsinterval moeten worden uitgevoerd? Dit kan worden bereikt met wat eenvoudig JavaScript en wordt nog eenvoudiger gemaakt door de manier waarop OutSystems acties aan de clientzijde kan aanroepen vanaf JavaScript-nodes.
Als praktijkcase wordt besproken hoe deze techniek is gebruikt om bij te houden hoe lang mensen bezig waren met verschillende onderdelen van hun applicaties. Een client-side timer wordt geïmplementeerd die in de browser kan worden uitgevoerd, zelfs als er geen netwerkverbinding is.

Caching for Advanced Mobile Synchronization

Bootstrappen van een nieuw apparaat of een apparaat waarvan de lokale gegevens zijn gewist, is waarschijnlijk de duurste synchronisatie die gebruikers zullen tegenkomen. Beveiligingsbeleid, zoals het wissen van de lokale opslag van een inactief apparaat of het wissen van gebruikersgegevens bij het uitloggen, kan een bootstrap-synchronisatie tot een frequente activiteit maken.
In deze sessie wordt SQL-caching besproken en manieren om de voordelen te maximaliseren of de nadelen te minimaliseren. Ook wordt besproken hoe het meeste uit de servercache gehaald kan worden en waarom deze al dan niet geschikt is voor een toepassing. Voor codepatronen wordt een trainingscomponent die beschikbaar is op Forge gebruikt waarin deze werkwijzen zijn geïmplementeerd.

OutSystems Offline Capabilities for Mobile and PWA

Het technologische doel van de afgelopen decennia was om elk jaar op betere en meer manieren verbinding te maken. Maar nu beginnen we ons te concentreren op nieuwe manieren, waardoor het werkt zonder enige verbinding. Dit wordt “offline functionaliteit” genoemd en het wordt een behoorlijk groot probleem! Met OutSystems kunnen snel aangepaste applicaties gebouwd en geïmplementeerd worden die offline werking mogelijk maken. In deze sessie wordt uitgelegd hoe we de offline mogelijkheden van OutSystems kunnen gebruiken met mobiele en progressieve webapplicaties (PWA) om een app te laten werken zonder enige verbinding. Ook de uitdagingen bij het implementeren van het offline synchronisatiemechanisme worden besproken.

Consuming and Exposing OAuth 2.0 APIs in the OutSystems Platform

App-integratie is een gangbare praktijk in softwareontwikkeling waarmee organisaties robuuste oplossingen kunnen bouwen. OutSystems Oauth20Bij het werken met integraties is het cruciaal om na te denken over beveiliging om te garanderen dat de bronnen alleen toegankelijk zijn voor geautoriseerde partijen. De OAuth 2.0 is het industriestandaard autorisatieprotocol bij het werken met API’s. In deze sessie worden de uitdagingen en oplossingen bij het consumeren en beschikbaar stellen van REST API’s met OutSystems met behulp van OAuth 2.0 besproken. Praktijkvoorbeelden worden getoond van autorisatiecode en klantreferentiestromen.

OutSystems with Enterprise Messaging Platforms

Veel ondernemingen gebruiken platforms zoals RabbitMQ, Kafka of IBM WebSphere MQ om op berichten gebaseerde integraties met replay en andere geavanceerde mogelijkheden te bieden. Maar wat als deze oplossingen geïntegreerd moeten worden met uw OutSystems-applicatie? In deze sessie wordt getoond hoe verbinding te maken met berichtenplatforms, wat wel en niet kan en hoe problemen op te lossen.

The Utility of a Utility Class

Een OutSystems-ontwikkelaar kan verschillende CSS-hulpprogrammaklassen gebruiken ‘out of the box’ in de gebruikersinterface van het OutSystems-platform. OutSystems CSSIn deze sessie wordt getoond hoe ontwikkelaars front-end ontwikkelaars kunnen helpen tijd te besparen op een project door een scherm naar een hoger niveau te tillen. Door deze kennis te gebruiken, vermijden ontwikkelaars ook het gebruik van CSS inline, waardoor waarschuwingen in het Architectuurdashboard worden weergegeven. Ook kunnen ze applicaties helpen visuele consistentie te behouden in verschillende elementen, stijlen, ruimte of kleuren.

Using OutSystems to Develop Spotify

Een Spotify clone gebouwd met OutSystems. De app bevat de belangrijkste functies van de originele app, waaronder het afspelen van nummers, het maken van bibliotheken, favorieten en lijstgeschiedenis. In deze sessie wordt getoond hoe dit is geïmplementeerd.

The Art of Monitoring Reactive and Mobile Applications

Tijdens deze sessie worden de verschillende manieren om een reactieve/mobiele applicatie te monitoren besproken en de beschikbare opties (zowel ingebouwd als door derden) bekeken. Op het eind wordt een use case doorlopen die de kunst van nauwkeurige monitoring demonstreert.

A Case Study: Handling Multiple Time Zones in Reactive Applications on the OutSystems Platform

Reactieve toepassingen brachten enkele updates voor de manier waarop het OutSystems-platform “datetime”-velden opslaat en weergeeft. Wanneer een gebruiker een “datetime” -veld opslaat, converteert het platform die waarde automatisch naar UTC. Wanneer het attribuut wordt opgehaald, doet het platform het tegenovergestelde, namelijk automatisch converteren van UTC naar de tijdzone van de gebruiker. Dit wordt gedaan om ervoor te zorgen dat alle “datetime” -waarden in dezelfde tijdzone worden opgeslagen en dat deze attributen veilig vergeleken kunnen worden.

Waarom UTC?

Omdat het de Coordinated Universal Time is en geen zomertijd heeft, waardoor het gemakkelijker te onderhouden is. Dit bespaart ontwikkelaars veel kopzorgen. Maar wat als de gebruiker een “datetime” kiest voor een gebeurtenis die in een andere tijdzone zal plaatsvinden? Als we proberen een “datetime” -veld in een andere tijdzone op te slaan, zal het platform de waarden converteren op basis van de tijdzone van de gebruiker en de database zal verkeerde waarden bevatten.

Wat kan er worden gedaan om dit te verhelpen?

Deze sessie zoekt een antwoord op deze vraag. Een praktisch voorbeeld van dit scenario wordt gegeven en daarna volgen enkele voorgestelde oplossingen. Alle oplossingen zijn gebaseerd zijn op het wijzigen van het datatype “datetime”-velden in tekst om de automatische conversie door het platform te stoppen en de waarden handmatig te converteren met behulp van een bepaalde tijdzone.
Dit wordt op drie verschillende manieren gedaan:

  1. met behulp van een Forge-component;
  2. met behulp van SQL om tijdzones te converteren;
  3. met behulp van JavaScript om de conversie uit te voeren (er wordt een Forge-component gepublished die dit moet uitvoeren.

De drie oplossingen worden geanalyseerd en de beste wordt gekozen en geïmplementeerd volgens het eerder beschreven scenario. Ten slotte worden enkele tips gegeven voor elke ontwikkelaar die geïnteresseerd is in of te maken heeft met applicaties met meerdere tijdzones.

Create Customizable Client-Side Drag-and-Drop Grids and a Picture Puzzle App With OutSystems

In deze sessie wordt getoond hoe een aanpasbare drag-and-drop-raster aan de client-side kan worden gebouwd in een reactive applicatie met behulp van het Muuri JS-framework en het OutSystems-platform. OutSystems NextStepMet behulp van de Muuri JS-component wordt een eenvoudige puzzelspel-app gebouwd en ideeën gegeven voor het ontwikkelen van game-apps voor mobiele en reactieve apps.

Bekijk alle sessies on-demand op https://www.OutSystems.com/nextstep/. Sommige zijn zeker de moeite waard!