APEX 4.0, Vroege vogels aan de slag
Februari 2010 – Het zingt al enige tijd rond: versie 4 van Oracle Application Express komt eraan. Om ontwikkelaars de kans te geven om alvast kennis te maken met de nieuwe mogelijkheden van APEX 4.0, heeft Oracle een Early Adopters Release openbaar gemaakt. Deze omgeving is beschikbaar gemaakt in de Cloud van Amazon EC2 en bereikbaar via http://www.tryapexnow.com.

In dit Whitebook worden de belangrijkste wijzigingen in APEX 4.0 besproken en de voordelen die deze veranderingen bieden voor ontwikkelaars en organisaties.
De onderwerpen die behandeld worden zijn:
- Workspace Home
- Administration
- Team Development
- Tree View
- Plug-ins
- Dynamic Actions
Workspace Home
Bij het inloggen op de nieuwe APEX-omgeving valt al meteen op dat deze compleet is veranderd.

Figuur 1 Workspace Home
Van alles wat er in de vorige versie van APEX op het hoofdscherm te vinden was, zijn alleen Application Builder en SQL Workshop op dezelfde plek te vinden. Waar vroeger een aantal tabbladen de ingang waren voor de verschillende subschermen, is dit nu een knoppenbalk geworden. De gebruiker hoeft nu niet altijd meer verschillende schermen langs om bij het doel te komen, maar kan gebruik maken van de links die verschijnen door op het pijltje naast de naam te klikken, om zo direct op het gewenste scherm uit te komen.

Figuur 2 Knoppenbalk
Onderin het scherm is een andere nieuwe feature van APEX 4 te zien. Onder de naam 'Dashboards' zijn op veel schermen blokken met informatie te zien die relevant zijn voor de context van het geopende scherm. Vaak gaat het dan om lijsten met recente activiteit op een bepaald onderdeel of een lijst met een relevante top 5.
Administration
De knop 'Administration' in het Home-overzicht leidt de gebruiker naar een scherm waarin diverse zaken binnen de workspace kunnen worden beheerd en gemonitored. Denk hierbij aan het beheren van gebruikers of het opvragen van rapportages omtrent het gebruik van de applicaties in de workspace. Deze schermen kunnen in de eerdere versies van APEX worden bereikt via de tasks aan de rechterkant van het Home scherm.

Figuur 3 Oude tasks lijst voor Administration

Figuur 4 Nieuwe Administration Dashboard
Het onderdeel Administration heeft in APEX 4 niet voor niets een veel prominentere plek gekregen. Er is namelijk ontzettend veel informatie te vinden over het gedrag van de applicatie en z'n gebruikers. Onder Monitor Activity zijn bijvoorbeeld veel rapporten te vinden die iets vertellen over het gebruik van gepubliceerde applicaties. Het gaat dan om zaken als page views, sessies, loginpogingen, gegevens over de omgeving waarmee een bezoeker de applicatie heeft gebruikt (browser, besturingssysteem, enz.), maar ook (en dat is helemaal nieuw) een overzicht van fouten die in de applicatie zijn opgetreden.

Figuur 5 Overzicht van fouten
Ook kan een overzicht worden verkregen van de activiteiten van alle ontwikkelaars in de workspace.
Team Development
Compleet nieuw is het onderdeel 'Team Development'. Hierin zijn alle onderdelen verzameld die te maken hebben met communicatie en administratie binnen een ontwikkelteam.

Figuur 6 Team Development scherm
Het ontwikkelteam kan in Team Development features, milestones, todo's, bugs en feedback beheren. Op deze manier kan elk lid van het team zien wat er speelt binnen z'n project. Omdat alle onderdelen binnen Team Development zijn toe te wijzen aan personen, kan iedereen goed zien waar de taken en verantwoordelijkheden binnen het project liggen. Door deze tools slim in te zetten, wordt het veel makkelijker om als team te werken aan een APEX applicatie. Dit sluit goed aan op de Agile denkwijze (transparantie, communicatie) en zorgt ervoor dat APEX nu nog makkelijker gebruikt kan worden binnen een Scrum-project.
Ook in dit deel van APEX 4 zijn veel dashboards en rapporten te vinden. Eén van de meest handige rapporten is de release summary. Deze is te vinden onder het pull-down menu van de Team Development knop.

Figuur 7 Release Summary
Op het rapport dat vervolgens wordt getoond is in één oogopslag te zien welke onderdelen zijn afgerond, welke onderdelen nog moeten worden opgepakt en wie daarvoor verantwoordelijk is. Dit geeft een projectverantwoordelijke het gereedschap om overzicht te houden op het project en waar nodig op de juiste momenten bij te sturen.
Tree View
Het ontwikkelen van schermen heeft in APEX 4 een behoorlijke wijziging gekregen. In plaats van de gebruikelijke schermen met een overzicht van alle gebruikte objecten, is er nu een tree view te zien.

Figuur 8 Tree view op een page
Items, regions en andere onderdelen van de pagina kunnen worden aangemaakt of bewerkt via een contextmenu dat verschijnt bij een rechtermuisklik. Hierdoor wordt het veel intuïtiever om pagina's te bewerken. De eigenschappen van objecten worden namelijk beheerd op de plek waar ze nodig zijn en door de boom van de tree view te volgen is precies te zien hoe die onderdelen hiërarchisch gezien op elkaar ingrijpen.

Figuur 9 Contextmenu op een report region
Mocht de ontwikkelaar toch liever werken met de oude Component View, dan kan dat nog steeds. Door onder de knop utilities voor de optie 'Switch to Component View' te kiezen, verandert het scherm weer terug naar het overzicht dat bekend is uit de eerdere versies van APEX.

Figuur 10 Page utilities
Dit menu toont overigens nog wat meer handigheden. Een aantal voorbeelden hiervan zijn:
- 'Check page' voert een onderzoek uit naar veelgemaakte fouten in de huidige pagina. Daarmee kan een ontwikkelaar al eerder mogelijke problemen in z'n werk identificeren en waar nodig aanpassen.
- 'Clean up' verandert de sequences op de pagina naar tientallen, zodat er weer ruimte ontstaat om nieuwe objecten tussen te voegen. Handig als tijdens het ontwikkelen blijkt dat er toch meer items op een pagina moeten komen dan eerst was gedacht.
- 'Additional utilities' is ook aardig om apart te vermelden. Hieronder zijn een aantal toepassingen verzameld waarmee in één keer een groep objecten kan worden bekeken en gewijzigd.
Plug-ins
Een Plug-in is een door de ontwikkelaar gedefinieerde variant van een item, region, report column of dynamic action. Dit biedt de mogelijkheid om zelf objecten te maken die niet standaard in APEX aangeboden worden. Zo kunnen bijvoorbeeld eigen item types gemaakt worden. Whitehorses collega Maarten van Luijtelaar heeft een beschrijving gemaakt over het creëren van een item van het type slider. Een link naar dit artikel is te vinden onder Bronnen aan het eind van dit Whitebook.

Figuur 11 Een voorbeeld van een plug-in definitie voor een slider
![]()
Figuur 12 En het resultaat van de slider plug-in
Met behulp van plug-ins kan eigenlijk elke gewenste functionaliteit worden toegevoegd aan de al bestaande functionaliteit van APEX. De ontwikkelaar is niet meer beperkt tot de tools die APEX zelf biedt, maar hoogstens nog tot z'n eigen fantasie.
Dynamic Actions
Dynamic Actions zijn te omschrijven als on-event-triggers, vergelijkbaar met de triggers die we kennen uit Oracle Forms. Maar daarmee wordt dit nieuwe begrip tekort gedaan, want het is veel meer dan dat alleen. Het is door velen al omschreven als de krachtigste nieuwe feature van APEX.
De Standard variant van Dynamic Actions geeft een ontwikkelaar de mogelijkheid om snel simpele acties uit te voeren na een actie in het scherm. Dit kan gedaan worden met behulp van één van de standaard beschikbare typen acties, of met een zelfgeschreven stuk javascript. De ontwikkelaar is dan beperkt tot simpele bewerkingen, zoals het aan/uitzetten of het tonen/verbergen van een item.

Figuur 13 Dynamic Action condities

Figuur 14 Dynamic Action event types
Ook is er de mogelijkheid om Advanced Dynamic Actions te maken. Een ontwikkelaar krijgt dan veel meer vrijheid in het definiëren van de actie die uitgevoerd moet worden bij een bepaald event.

Figuur 15 Advanced Dynamic Action
Zoals te zien is in bovenstaand screenshot, zijn er bijzonder veel mogelijke acties die uitgevoerd kunnen worden op een event. Naast de getoonde actions kunnen ook plug-in actions worden gebruikt.
Maar wacht! Er is meer...
Behalve de bovengenoemde punten is er nog veel meer toegevoegd en gewijzigd in APEX 4. Het gaat te ver om ze allemaal gedetailleerd te beschrijven in dit Whitebook, maar de belangrijksten moeten toch zeker genoemd worden:
- Maps
Naast de standaard grafieken is het in APEX 4 mogelijk om grafieken te baseren op landkaarten die worden weergegeven met AnyChart. - REST services
In eerdere versies van APEX is de mogelijkheid gegeven om webservices aan te roepen door handmatig een SOAP call uit te voeren, of dit door middel van een WSDL te regelen. In APEX 4 komt hier de mogelijkheid bij om REST (REpresentational State Transfer) te gebruiken.

Figuur 16 Kaart van Nederland in AnyChart Map
Verwachtingen
Naast alle bovengenoemde onderdelen zijn er ook een aantal punten die nog niet gereed zijn in de huidige versie van de Early Adopters release, maar wel verwacht worden voor de uiteindelijke versie.
- Websheets
De invulling van websheets is nog niet helemaal zeker. Zoals het nu getoond wordt in preview presentaties, komt het neer op een mix tussen tabular forms en interactive reports. Dus de kracht van het filteren en sorteren van interactive reports wordt gecombineerd met de flexibiliteit van het Multi-record editen van tabular forms. Maar dan wel op een hele gebruikersvriendelijke en interactieve manier. Het is de bedoeling van Oracle dat Websheets ervoor gaan zorgen, dat ook non-programmeurs met APEX aan de slag kunnen. - Standaard plug-ins
In één van de volgende versies van de Early Adopters release (of wellicht pas bij de productieversie) zullen een aantal plug-ins standaard meegeleverd worden. Voorbeelden hiervan zijn een plug-in voor het standaard aanroepen van webservices en een plug-in voor het afhandelen van e-mailverkeer. Welke vorm dit allemaal precies gaat krijgen is nog even afwachten.
En dan de belangrijkste verwachting; wanneer komt APEX 4 officieel beschikbaar? Daar is nog geen eenduidig antwoord op te geven. De signalen vanuit Oracle zijn op dit moment dat er in maart een tweede Early Adopters release uitkomt, waarna de productieversie klaarstaat voor een release tegen de zomer. Maar hieraan kunnen nog geen conclusies worden verbonden, want het blijven geruchten.
Conclusie
APEX 4 is in de huidige Early Adopters release al een grote sprong voorwaarts. De kracht van de huidige versie van Application Express is gebundeld met een veelvoud aan nieuwe features. Het verhoogde gebruikersgemak en de nieuwe mogelijkheden voor het ontwikkelen van schermen en plug-ins, de toevoeging van Team Development en daarnaast de nieuwe en verbeterde rapportages zorgen ervoor dat Application Express nog beter inzetbaar is, ook in projecten met een groter ontwikkelteam.
Over de vernieuwingen in APEX 4 valt nog veel meer te vertellen, daarvoor is in dit Whitebook simpelweg te weinig ruimte. Daarom zullen de medewerkers van Whitehorses in de komende tijd nog diverse artikelen op het Whitehorses-blog publiceren. Deze blogs gaan dieper in op de (technische) details van APEX 4. Onder Bronnen vindt u aan het eind van dit artikel een lijst met een aantal van de al eerder gepubliceerde blogs.
Bronnen
- http://www.tryapexnow.com
- http://blog.whitehorses.nl
- http://www.inside-oracle-apex.com/
- http://dpeake.blogspot.com/
Verschillende collega's van Whitehorses hebben al blogs geschreven over een aantal van de nieuwe opties die APEX 4.0 biedt. Deze Engelstalige artikelen zijn te vinden op http://blog.whitehorses.nl. Een aantal voorbeelden zijn:

Reacties
Nieuwe reactie inzenden