Follow Us on Twitter

De nieuwe mogelijkheden van Oracle Application Express 3.0

Gepubliceerd in

Juli 2007 - In maart van dit jaar introduceerde Oracle de nieuwste versie van Oracle Application Express (kortweg APEX). APEX is een webgebaseerde applicatie ontwikkeltool waarmee eenvoudig webapplicaties te ontwikkelen zijn. Versie 3.0 is de opvolger van de vorig jaar verschenen versie 2.2. De introductie van APEX 3.0 ging met flink wat meer tamtam dan eerdere versies. De belangrijkste speerpunten in deze nieuwe release zijn PDF printing, Microsoft Access Migration en verbeterde web service ondersteuning. Hoogste tijd om in dit Whitebook te bekijken wat er achter deze termen schuil gaat en welke mogelijkheden APEX 3.0 nog meer biedt.

PDF kan ook

De meest gevraagde feature voor APEX was de mogelijkheid om PDF documenten te creëren vanuit rapporten. Oracle heeft hiernaar geluisterd en in deze versie het PDF printen mogelijk gemaakt. Hierbij moet wel de kanttekening worden gemaakt, dat het niet volledig in APEX is geïntegreerd, maar werkt via een externe report server.

Het maken van een PDF document is in feite het genereren van een XML export van het rapport. De export wordt samen met een template naar een externe report server gestuurd. Deze report server transformeert deze export en het template naar een PDF document. De report server kan Oracle BI Publisher of een standaard XSL-FO server (bijvoorbeeld Apache FOP) zijn. Beide server varianten moeten nog wel geïnstalleerd en geconfigureerd worden. Een uitgebreide beschrijving hiervan is te vinden op de Oracle site: PDF Printing. In Application Express wordt ingesteld of standard support (XSL-FO) of advanced support (BI Publisher) voor report printing geldt. Oracle BI Publisher vereist een licentie, maar dit geeft o.a. uitgebreidere mogelijkheden voor de lay-out van rapportages.

PDF printen van een rapport is te activeren bij het bewerken van een report region via het nieuwe tabblad Print Atrributes. Hier is ook te zien dat niet alleen PDF documenten als output mogelijk zijn, maar ook Word (RTF), Excel en HTML documenten. Voor de gebruiker is het printen zichtbaar door een link bij het rapport, via deze link kan de gebruiker het rapport als document openen.

De lay-out van het rapport kan (beperkt) worden beïnvloed. Zaken als achtergrondkleur, lettertype instellingen en kolombreedte zijn aanpasbaar. Om meer controle te hebben over de lay-out is het noodzakelijk om zelf een template (via XSL-FO of BI Publisher) te maken.

Flitsende grafieken

Bij het aanmaken van een grafiek valt direct de nieuwe optie "Flash charts" op. Flash charts is gebaseerd op Macromedia Flash en biedt 18 soorten grafieken. Hiermee introduceert Oracle een alternatief voor de SVG charts. SVG (Scalable Vector Graphics) is een op XML gebaseerde internetstandaard voor vectorafbeeldingen. De SVG charts zijn nog steeds aanwezig, maar Application Express biedt wel de mogelijkheid om deze te migreren naar de flash charts. Deze migratie kan per grafiek worden uitgevoerd of voor alle grafieken in een applicatie.

Een voordeel van de flash charts t.o.v. de SVG grafieken is de browser ondersteuning. Niet alle browsers ondersteunen SVG en de meeste browsers hebben een SVG plugin nodig om de grafieken weer te kunnen geven. Uiteraard heeft flash ook een plugin nodig (Flash Player 8 of hoger), maar wordt wel door alle browsers ondersteund en is veel gangbaarder dan SVG.

Het aanmaken van een flash chart gaat op vrijwel dezelfde wijze als het aanmaken van een SVG chart. Het opgeven van de titel, plaats op de pagina en de query zijn niet veranderd. Wel een duidelijke verandering bij het aanmaken van een flash chart is de preview.

Preview van de flash chart
Figuur 1: Preview van de flash chart

De preview toont een voorbeeld van de gekozen grafiek. Aanpassingen in de instellingen van de grafiek - zoals titel, legenda en kleurenschema - kunnen worden doorgevoerd en direct in de preview getoond worden. Helaas is deze preview bij het achteraf aanpassen van de grafiek niet meer aanwezig.

Migreren

Ook nieuw in deze versie is de mogelijkheid om Microsoft Access applicaties te migreren naar Application Express. Dat Oracle veel waarde hecht aan deze nieuwe feature wordt wel duidelijk op de Oracle site: APEX Migration Workshop. Hier wordt uitvoerig ingegaan op de verschillen tussen APEX en Microsoft Access.

Dit onderdeel is te uitgebreid om volledig op in te gaan, daarom bekijken we hier alleen de belangrijkste stappen in het migratie proces.
Schematische weergave van de Access migratie stappen
Figuur 2: Schematische weergave van de Access migratie stappen

  1. Het exporteren van de Access database. Hier is een export tool voor beschikbaar. Dit zal resulteren in twee bestanden, een xml bestand met database informatie en een sql bestand met de applicatie informatie.
  2. Om de database objecten aan te maken wordt Oracle Migration Workbench gebruikt. Dit is een onderdeel van Oracle SQL Developer. In deze stap worden de Access objecten vertaald naar Oracle objecten.
  3. Aanmaken van een migratie project in APEX. Bij het aanmaken wordt de applicatie export uit stap 1 gebruikt om een migratie project te creëren en de objecten in te laden.
  4. Analyseren van de resultaten van de migratie. In deze stap worden de gemigreerde objecten getoond en aangegeven of deze valide zijn. Niet valide objecten kunnen overigens niet worden gebruikt bij het genereren van de APEX applicatie.
  5. Het genereren van de APEX applicatie. Hier kunnen de forms en reports vanuit Access worden vertaald naar APEX forms en reports. Verder is het mogelijk om onderhoudschermen te genereren op de tabellen en views.

Het doorlopen van bovenstaande stappen kost tijd. Voor zowel de database objecten als de schermen geldt dat het resultaat van de generatie goed moeten worden gecontroleerd. Het is zeker niet uitgesloten dat hierop aanpassingen nodig zijn. De Access migratie is geen garantie om 1 op 1 een applicatie over te zetten naar APEX. Zo is er geen zekerheid dat de lay-out overeenkomt en Visual Basic code wordt alleen mee gekopieerd als referentie. Het biedt wel de mogelijkheid om in grote lijnen de Access applicatie over te nemen en hiermee de basis voor een APEX applicatie te leggen.

Betere service

Het aanroepen van web services was al aanwezig in APEX, maar Oracle heeft de ondersteuning hiervan uitgebreid. Het aanmaken van een web service referentie is nog steeds eenvoudig, via een wizard is een paar stappen de referentie gereed. Nieuw is de ondersteuning voor loosely coupled web services, voorheen konden alleen RPC web services worden aangeroepen.

Een andere verbetering is de mogelijkheid om een web service via een beveiligde verbinding (het https-protocol) te benaderen. Dit gebeurt simpelweg doordat de opgegeven url naar de web service start met "https" i.p.v. "http". Daarnaast wordt nu ook standaard authenticatie ondersteund. Bij het aanmaken van de web service referentie kan een gebruikersnaam en wachtwoord worden opgegeven.

In vorige versies was het nodig om een WSDL (Web Service Description Language) document beschikbaar te hebben. Een WSDL document beschrijft de interface van de web service. Bij het aanmaken van een web service referentie in APEX dient dan de url naar dit WSDL document opgegeven te worden. Nu is het echter ook mogelijk om handmatig de web service te definiëren. Hierbij is geen WSDL document vereist en kan handmatig de web service aanroep worden vastgelegd.

Nieuwe types

In release 3.0 zijn een aantal nieuwe item types beschikbaar, waaronder deze:

  • Shuttle is een item type dat bestaat uit een dubbele multiple select list.
    Voorbeeld van een shuttle
    Figuur 3: Voorbeeld van een shuttle

    De lijst aan de linkerzijde wordt gevuld aan de hand van een statische of dynamische lijst. Via de iconen kunnen de items tussen de twee lijsten worden gewisseld. De items aan de rechterzijde zijn te sorteren en bepalen de waarde van het item. Het verder verwerken van de waarde van de shuttle gaat op dezelfde wijze als een standaard multiple select list.

  • HTML Editor is een nieuw soort tekstveld dat formattering van tekst in de browser mogelijk maakt. Deze HTML editor is in feite een implementatie van FCKeditor, een Open Source HTML text editor. Voorheen was het al mogelijk om handmatig deze editor te implementeren, maar Oracle heeft in APEX 3.0 deze editor als item type beschikbaar gemaakt. De HTML editor is beschikbaar in twee varianten, minimal en standard. Bij de eerste variant is tekst te formatteren met bold, italic, underline en opsomming tekens. De uitgebreidere variant heeft hiernaast nog veel meer opties, zoals knippen en plakken, uitlijning, opmaak en tekst- en achtergrondkleur.

    Werkbalk van de HTML editor standard
    Figuur 4: Werkbalk van de HTML editor standard

En dit kan ook

Naast de meest in het oog springende wijzigingen, zijn er in deze versie nog een aantal kleinere wijzigingen.

  • Page and Region caching biedt de mogelijkheid om een hele pagina of regions op te halen uit de cache i.p.v. deze dynamisch te bepalen. Pagina's worden hierdoor sneller opgebouwd. Per pagina of region kun je voor deze cache instellen of dit voor alle gebruikers gebeurt of alleen voor de huidige gebruiker. Ook is het mogelijk om een time-out in te stellen voor deze cache. Gegevens die voor cachen in aanmerking komen, zijn statische HTML, maar ook lijsten gebaseerd op query's zonder restricties, of query's op gegevens die periodiek worden bijgewerkt (zoals snapshots).
  • De kalender heeft voor de gebruiker nu standaard de mogelijkheid om per maand, per week of per dag weergegeven te worden. Het komt erop neer dat er nu extra knoppen beschikbaar zijn om de weergave van de kalender te wijzigen. Dit geldt alleen voor de kalender die als region of pagina wordt gemaakt, dus niet de kalender popup bij datum velden.
  • Pagina's in Application Express die public zijn en geen authenticatie nodig hebben, kunnen worden gerefereerd door nul als sessie ID mee te geven. Hiermee is het mogelijk consistente links en favorieten naar Application Express pagina's te maken. Indien de sessie ID nul is, zal onder water een nieuw sessie ID aangemaakt worden die via een cookie naar de browser wordt gestuurd. De zichtbare sessie ID zal nul zijn, maar de sessie ID die is opgeslagen in de cookie wordt gebruikt om de staat van de sessie te regelen. Deze nieuwe optie biedt de mogelijkheid om de sessie ID te verbergen. Op deze wijze kunnen er links gemaakt worden naar pagina's zonder de sessie ID op te moeten geven, en kunnen zoekmachines publieke APEX pagina's indexeren.

Conclusie

Het is ondertussen drie jaar geleden dat Oracle Application Express (toen nog HTML-DB geheten) werd geïntroduceerd als onderdeel van de 10g database. Het is duidelijk dat Oracle steeds meer aandacht besteed aan Application Express en in deze nieuwe versie is dat duidelijk terug te zien aan de hoeveelheid nieuwe mogelijkheden. APEX kent ook een grote community die actief bijdraagt aan de ontwikkeling van APEX en Oracle lijkt ook zeker te luisteren naar de verzoeken die hiervandaan komen. PDF printing is hier een duidelijk voorbeeld van en biedt ook veel toegevoegde waarde voor rapportages t.o.v. eerdere versies. Qua rapportage zijn ook de grafieken er op vooruit gegaan met de introductie van de flash charts.

De nieuwe features besproken in dit Whitebook zijn zeker niet alle features die in release 3.0 geïntroduceerd zijn. Naast de nieuwe mogelijkheden die zichtbaar zijn voor de eindgebruiker, zijn er ook kleine verbeteringen in de ontwikkelomgeving, die het de ontwikkelaar iets makkelijker moeten maken. Een complete lijst is te vinden op de Oracle site (zie referenties). Deze lijst maakt duidelijk dat de ontwikkeling van Application Express niet stil staat, al is het aan een ieder om te beoordelen hoe waardevol en toepasbaar deze nieuwe mogelijkheden zijn. Oracle heeft met versie 3.0 in ieder geval een stap voorwaarts gemaakt.

NB. Sinds eind juni is de eerste patch voor APEX 3.0 beschikbaar (3.0.1). Deze patch bevat enkele bug fixes, maar nog veel belangrijker is dat deze versie in tegenstelling tot versie 3.0 nu ook te installeren is in een Oracle XE database.

Referenties

Over de auteur
Peter van der Neut is Oracle consultant bij Whitehorses en heeft ruim 7 jaar ervaring in de IT. Hij houdt zich voornamelijk bezig met applicatieontwikkeling met Oracle technologie en heeft veel ervaring met PL/SQL, Forms en Designer. Daarnaast houdt hij zich bezig met nieuwe ontwikkelingen als Application Express.

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.