APEX World 2025

’n impressie (auteur: inSystems)

inSystems APEX World 2025

Dit jaar vond APEX World plaats in de Reehost in Ede, een uitstekende locatie voor een jubileum-editie. Het was namelijk de 15e keer dat dit event werd georganiseerd door de nlOUG. En inSystems was daar uiteraard bij aanwezig, als sponsor, met een stand en meerdere APEX developers die tezamen een behoorlijk aantal van de interessante parallelsessies hebben bijgewoond.

In deze blog geven George, Gerben en Rien een samenvatting van enkele van de bezochte sessies … interessante topics die de revue gepasseerd zijn, onderwerpen die we wellicht als input kunnen gebruiken voor de interne kennisgroep APEX.

Bouw APEX applicatie met AI

AI was prominent aanwezig dit jaar, hoe kan het anders. Matt Mulvaney (Pretius Software UK) liet zien hoe op eenvoudige wijze Oracle APEX applicatie gebouwd kan worden met behulp van AI tools. Eerst werd een Datamodel gecreëerd door gebruik te maken van Quick SQL (dit biedt een snelle manier om SQL te genereren die nodig is om een relationeel datamodel te maken vanuit een tekstdocument).
Vervolgens werd binnen APEX Workspace Utilities (via de Generative AI optie) een AI service geconfigureerd met bijbehorende Web Credentials.

Voor het opzetten van de APEX Applicatie werd verder o.a. gebruik gemaakt van Oracle APEX assistant (voor SQL statements), en binnen SQL Developer van GitHub CoPilot voor o.a. creëren van PLSQL packages.

Matt gebruikte Perplexity AI, een gratis AI-zoekmachine.

Simple Data Definitions with PL/SQL in Oracle Database 23ai

In zijn presentatie ging Chris Saxon, die zoals gebruikelijk weer sneller sprak dan zijn schaduw 😉, niet in op APEX maar op enkele features van de 23ai-database: betere loops, uitgebreidere case-expressies, better JSON-integration en de automatische SQL-transpiler.
De automatische SQL-transpiler is een mooie feature waarmee een functie die je aanroept in een SQL-statement runtime omgezet wordt naar een SQL-statement. Daarmee voorkom je de contextswitch tussen SQL en PL/SQL en heb je het voordeel van het gebruik ven herbruikbare PL/SQL-code met de performance van pure SQL.
De transpiler is een sessie-parameter (sql_transpiler). Chris raadt aan deze altijd aan te zetten. Wel moet je oppassen met functie die iets doen met de systeemdatum waarbij de timestamp functioneel van belang is. Als de transpiler aanstaat wordt die systeemdatum namelijk maar één keer bepaald en heeft dus altijd precies dezelfde datum en tijd.

APEX UX: treat your users as you like to be treated

Een sessie door Philipp Hartenfeller over de complexiteit van een goede UX voor je APEX-applicatie. Niet alleen interessant voor de APEX-ontwikkelaar, maar ook voor de neutrale toeschouwer.
Er komt veel kijken bij een goede UX. In de eerste plaats moet je je publiek kennen op het gebied van leeftijd, culturele achtergrond en opleidingsniveau. Daarnaast moet je weten op welke platformen en devices de applicatie gaat draaien. En – afhankelijk van het doel – welke stijl je wilt hanteren, bijvoorbeeld sober of juist kleurrijk. Er bestaat hiervoor geen gouden standaard. Wel is het zo dat simpel en saai vaak het beste werkt.

Belangrijk is om voor ogen te houden hoe een gebruiker zo makkelijk en snel mogelijk in de applicatie zijn doel kan bereiken. Biedt de gebruiker daarom een duidelijke structuur. Denk in APEX aan een gestructureerde en logische menustructuur, het gebruik van breadcumbs en de mogelijkheid om te zoeken. De gebruiker moet niet overweldigd en daardoor gefrustreerd raken door het grote aanbod. Deel de applicatie dus op in logische delen.
Zorg ook voor uniforme naamgeving en gebruik taal die iedereen begrijpt. Biedt sneltoetsen en helpteksten, en indien mogelijk kunnen verwachte invulwaarden aangeboden worden. Wees voorzichtig met het gebruik van kleuren, met name voor buttons. Het beste is om de button die in de context het meest gekozen wordt in kleur aan te geven.

Veel dingen liggen voor de hand en herken je direct vanuit je eigen ervaringen als gebruiker. Maar van veel andere dingen denk je er niet gauw over na dat daar zo over nagedacht is.

Continuous APEX

In deze presentatie door Stephan Visser deelde hij met het publiek zijn ervaringen omtrent tooling om veel voorkomende werkzaamheden rondom oplevering van software en het bijbehorende versiebeheer te stroomlijnen. Oftewel waarom en hoe bewerkstellig je CI/CD principes en werkwijzen binnen een ontwikkelteam.

Stephan liet zien dat hij gebruik maakt van zowel standaard software als zelf geschreven scripts. Hierbij benadrukte hij dat het bij introductie van zulke tooling belangrijk is dat gebruikers stap voor stap hiermee bekend worden. Oftewel introduceer niet een complete oplossing ineens, maar ga steeds een stapje verder zodat gebruikers aan de processen en handelingen kunnen wennen en goed weten wat ze bij iedere stap doen. Hiervoor is het volgens hem bijna noodzakelijk dat er voor het introduceren van deze al dan niet samen met het team bepaalde werkwijzen en oplossingen een persoon verantwoordelijk wordt gemaakt. Hierdoor kunnen vragen, aanpassingen in werkwijze maar ook noodzakelijke training en begeleiding goed geborgd worden.

Veel open deuren, maar wel nuttig om deze in deze specifieke vorm weer eens onder de aandacht gebracht zien worden.

APEX: Debug Like a Pro – APEX Debug Edition

Een sessie door Gilliam Breem over, je raad het al, debuggen. En dan specifiek toegespitst op het debuggen van je APEX applicatie. Enerzijds is debuggen een onmisbaar instrument om fouten snel op te sporen tijden je ontwikkelwerkzaamheden, maar in het geval van APEX kan je debuggen ook inzetten om realtime met je gebruikers mee te kijken in de applicatie. Hiervoor moeten de in gebruik zijnde pagina’s wel opgeleverd worden volgens een aantal voorwaarden, maar daar krijg je een enorm krachtig instrument voor terug. Zonder dat je zelf allerlei debug-code in je software aanbrengt kan je door het aanpassen van het debug-level van de sessie waarin de fout zich voordoet op afstand meekijken waar en wat er fout gaat.

Speciale aandacht in deze sessie ging uit naar de beschikbare debug-levels en wanneer je welke in zou kunnen zetten. Ook werden de effecten van de verschillende debug-levels op de performance van de applicatie besproken. Al met al een erg nuttige sessie over debug mogelijkheden waar ik geen weet van had, maar die ik zeker zal gaan inzetten

Creating a CI/CD pipeline using SQLcl project

Nog een sessie over CI/CD? Jazeker. Deze sessie gepresenteerd door Roel Hartman stond ook in het teken van CI/CD, maar dan concreet over wat de nieuwe (sinds oktober 2024 in SQLcl beschikbare) Database CI/CD extensie “project” is en hoe je deze gebruikt. Oracle SQLcl project is kort samengevat de integratie van Liquibase in SQLcl waarmee je eenvoudig nieuwe software en database aanpassingen kunt vastleggen (gebruikmakend van GIT) en vanuit daar, door de ingebouwde Liquibase functionaliteit aan te spreken, een oplevering kan laten genereren die je over de OTAP straat kan laten uitrollen.

Ik vond dit een erg duidelijke sessie met stapsgewijze instructie hoe je deze tool kan inzetten voor je eigen CI/CD behoefte. Ook werd bij iedere stap de nodige informatie gegeven over wat dat betekent voor de diverse te onderscheiden onderdelen en gegenereerde bestanden. De integratie van Liquibase in deze Oracle tooling maakt de drempel om het te gebruiken veel lager waar vooral je databasewijzigingen veel stabieler zullen kunnen gaan worden. Want in plaats van zelf scripts te schrijven om je database aanpassingen door te voeren, worden deze scripts nu door Liquibase gegenereerd.

Containerize Oracle Database, ORDS and APEX from Oracle Container Registry with Docker Compose

Deze presentatie door Wojciech Sowa legde in eerste instantie uit waarom het in veel gevallen handig is (soms zelfs bijna noodzakelijk) om een nieuwe database instance inclusief ORDS/APEX tot je beschikking te hebben en op welke manieren je deze instance zou kunnen bemachtigen. Een van de mogelijkheden hierin is dat je lokaal, dus op je eigen PC, een nieuwe database laat draaien.

Een van de mogelijkheden die je vandaag de dag tot je beschikking hebt is de tool Docker die een zgn. gecontaineriseerde versie van applicaties, in dit geval een Oracle Database en Oracle ORDS, kan laten draaien. Je hoeft dus geen VirtualBox o.i.d te gebruiken om daar vervolgens een OS op te installeren en daarop dan nog eens zelf een Oracle Database en ORDS instantie te instaleren, in te richten, te beheren en er dan ook nog voor zorgen dat de Database en ORDS software vanaf de eigen PC te benaderen zijn.

In de resterende tijd (lees bijna heel de sessie) werd zeer gedetailleerd getoond welke commando’s te gebruiken en hoe je bestandsstructuur in te richten voor een soepele ingebruikname van je eigen lokale, gevirtualiseerde database.

Feestavond

De eerste dag eindigde (inhoudelijk dan) rond 5 uur, waarna in de New York zaal de goedbezochte netwerkborrel startte. Rond 6 uur kon er van het uitstekende buffet gebruik gemaakt worden, waarna de feestavond begon. Een gezellige en geslaagde afsluiting van deze dag.

De Reehost is een uitstekende locatie gebleken voor weer een succesvolle editie van APEX World. Op naar de volgende!

APEX World 2025 impressie

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.

24 maart 2025

APEX World 2025 – ’n impressie

15 jaar APEX World en inSystems was daar uiteraard bij aanwezig, als sponsor, met een stand en meerdere APEX developers die tezamen een behoorlijk aantal van de interessante parallelsessies hebben bijgewoond.

12 maart 2025

Bijna 30 jaar ervaring met Oracle

inSystems, fka Quobell, en de software development tools van Oracle hebben een lange historie samen. Voordat Quobell in 1996 het levenslicht zag, realiseerden de oprichters al applicaties met de producten van Oracle.

Opdrachten uitgevoerd voor

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