OutSystems NextStep 2022

een impressie (auteur: Gerard de Wit)

inSystems LowCode

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.

inSystems OutSystems NextStep

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. De 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. Maar wat als acties aan de clientzijde met een bepaald tijdsinterval moeten worden uitgevoerd?inSystems OutSystems NextStep 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. inSystems OutSystems NextStepBij 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. inSystems OutSystems NextStepOutSystems 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. Met 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!

Share this

Contact

Heb je vragen of opmerkingen? Aarzel niet om contact op te nemen. Dat kan via de algemene contactgegevens, rechtstreeks met de genoemde contactpersoon op een van de detailpagina’s, of via onderstaande knop.

25 maart 2024

APEX World 2024 – ’n impressie

APEX World, iets wat je als Oracle APEX developer wilt meemaken. Dit is voor Ab Rahou de 2e keer dat hij APEX World bezocht, de eerste keer in het KNVB sportcentrum en nu in de Eenhoorn Amersfoort. In deze blog post geeft Ab een impressie van zijn bezoek.

13 januari 2025

Start Vincent van Rossum

Bij inSystems geloven we in low-code, OutSystems en Oracle APEX zijn de producten waarmee wij dat doen. We zijn dan ook blij dat we weer een nieuwe collega mogen begroeten … Vincent van Rossum.

Opdrachten uitgevoerd voor

Ahold
Politie
ASR Nederland
Gemeente Gouda
Telegraaf Media Groep
Fokker
Rendo
Cannock
Ministerie van Economische Zaken, Landbouw & Innovatie
Stedin
Rechtspraak
Bank Mendes Gans
WVDB Adviseurs Accountants
Oracle University
RAVU
CBR
TU Eindhoven
PC Uitvaart
Arval BNP Paribas
Ziggo
Rabobank
SVB
Gemeente Den Haag
Leaseplan
TenneT
Multi Tank Card
RIGD LOXIA
CB Logistics
inSystems KLM
Universiteit Tilburg
Provincie Utrecht
ING Bank
Greenchoice
VION Food Group
Allianz
MN Services
Altran
BMW
Darling
JUVA
DICTU
VTTI
Gemeente Apeldoorn
VAA ICT Consultancy
Nederlandse Spoorwegen
UBR Uitvoeringsorganisatie Bedrijfsvoering Rijk
Eneco
IBM
Thales
GVB
Alphabet
Syntrus Achmea Real Estate & Finance
Van Iperen Groeispecialisten