OGh Visie Winter 2009: ODTUG Kaleidoscope 2008

In New Orleans het ODTUG Kaleidoscope congres plaats. Onder de ca 100 sprekers bevonden zich 9 uit Nederland. 3 van hen, Wilfred van der Deijl, Michiel Jonkers en René van Wijk brengen verslag uit...

Congres voor Oracle ontwikkelaars met grote Nederlandse inbreng

ODTUG Kaleidoscope 2008

Eerder dit jaar vond in New Orleans het jaarlijkse ODTUG Kaleidoscope congres plaats. Onder de circa honderd sprekers bevonden zich negen sprekers uit Nederland. Drie van hen, Wilfred van der Deijl (Eurotransplant), Michiel Jonkers (AMIS Services BV) en René van Wijk (Transfer Solutions) brengen verslag uit van de conferentie en de trends die ze signaleren.

De ODTUG Kaleidoscope is een congres voor Oracle ontwikkelaars. Met ongeveer 600 bezoekers is het geen grote conferentie, maar ieder jaar zijn er prominente sprekers en veel Oracle product managers aanwezig. Er is lang niet zo veel marketing geweld als op Oracle Open World en soms wordt er ook eerlijk aangehaald dat sommige Oracle producten nu niet bepaald een succes zijn.

Netwerken

De sessies zelf zijn meestal leerzaam en nuttig, zeker de vragen en discussies aan het einde van een sessie. Wel moet je er op blijven letten niet naar sessies te gaan van onderwerpen waar je eigenlijk al (meer dan) genoeg van af weet. In dat soort sessies leer je zelf niet bijzonder veel, al kan je soms wel een nuttige bijdrage leveren aan de discussie. Het wordt pas echt interessant als je dit soort congressen gebruikt om eens kennis op te doen van nieuwe of andere producten en oplossingen.

ODTUG congress Ook de tijd buiten de sessies is erg belangrijk. Doordat het ODTUG congres niet al te groot is, blijft het allemaal vrij overzichtelijk. Iedereen zit in hetzelfde hotel als waar het congres overdag gehouden wordt. Dit maakt het erg makkelijk om tussendoor en ’s avonds te netwerken. Sprekers en bezoekers zijn ineens heel toegankelijk en het is zo maar mogelijk dat je hier een uur aan het brainstormen bent met bekende namen uit de Oracle wereld, zoals Tom Kyte, Cary Milsap, Mark Rittman, Grant Ronald, Duncan Mills en vele anderen.
Ook ’s avonds worden nog de nodige zaken georganiseerd, zoals het Oracle ACE diner. Wilfred van der Deijl hoorde net voordat hij vertrok naar New Orleans dat hij door Oracle benoemd was tot Oracle ACE en mocht gelijk aanschuiven in New Orleans. Dit keer had Oracle bovendien de ODTUG uitgekozen voor het houden van de halfjaarlijkse Oracle ACE Director bijeenkomst. Maar ook voor de niet-ACE’s is er volop gelegenheid om met andere ontwikkelaars ervaringen uit te wisselen die vaak verrassend bekend voorkomen maar soms ook verrassende nieuwe oplossingen kennen.

Bestaat Oracle Forms nog?

Wilfred van der Deijl heeft voor de OGh de ontwikkelingen op het gebied van Oracle Forms en de andere ‘klassieke tools’ gevolgd. Het lijkt soms alsof in alle officiële presentaties en kanalen (Oracle OpenWorld en Oracle OTN) vergeten wordt dat er nog een heel grote groep gebruikers is die ontwikkelt met de ‘traditionele ontwikkeltools’. Bij ODTUG wordt dat erg duidelijk. Een flink deel van de bezoekers maakt nog gebruik van Forms en Reports en heeft geen of weinig ervaring met JDeveloper/ADF. Toch zie je ook op ODTUG dat er weinig presentaties zijn die zich nog richten op de traditionele tools (Forms, Designer en Reports).
Wel zijn er veel presentaties te vinden over SQL en PL/SQL gerelateerde onderwerpen. Welke ontwikkeltool je nu eenmaal gebruikt, er zal vrijwel altijd SQL en PL/SQL aan te pas komen en een goede beheersing van de mogelijkheden en nieuwe features is dan erg handig. Verder was het opvallend hoeveel presentaties er waren over Application Express (kort gezegd Apex). Deze sessies werden ook bijzonder goed bezocht en dat geeft aan dat Apex toch erg goed ontvangen wordt door de traditionele Forms/SQL/PL-SQL ontwikkelaars. Maar daarover later meer.

Oracle Designer

Over Oracle Designer, tot een paar jaar terug één van de belangrijkste stromingen op de ODTUG, stond slechts één sessie op het programma. Aan bod kwam de Oracle Designer Extension Builder, een extensie voor Oracle Designer waarmee het mogelijk is om allerlei tekstdocumenten te genereren op basis van de inhoud van de Designer repository. Hiermee kan je dus PHP, Java, Perl, of .Net code genereren, maar ook andere documenten zoals rapporten, specificatiedocumenten, testplannen en andere projectdocumentatie in PDF, RTF of XML formaat. Een nobel initiatief, maar de vraag is of er nog veel organisaties zijn die nog steeds hun Oracle Designer repository willen en kunnen inzetten als centrale component. Als er organisaties zijn die nog wel vanuit de Oracle Designer repository werken, dan kan het wellicht een initiatief zijn om het maximale uit deze repository te halen.

Oracle Reports

Ook over Oracle Reports was bijzonder weinig te vinden op ODTUG. Zowel voor Oracle Reports als Oracle Designer geldt ook dat er bijzonder weinig nieuws te melden is. Er zijn geen belangrijke ontwikkelingen in de producten die interessant zijn voor de bestaande gebruikers en veel nieuwe gebruikers zullen er niet zijn voor deze tools. De paar presentaties die iets over Oracle Reports te melden hadden gingen over een vergelijking met Oracle BI Publisher of zelfs over migratie naar andere technologieën.

Oracle Forms

De bekendste tool van de groep traditionele ontwikkeltools is zonder twijfel Oracle Forms. Ook bij ODTUG was te merken dat er nog een grote groep Forms ontwikkelaars is. Tijdens voorgaande edities was het duidelijk dat een aanzienlijk deel van de congresgangers nog client-server Forms gebruikte. Inmiddels is deze groep toch echt ver in de minderheid. Het overgrote deel van de ontwikkelaars lijkt op webforms te zitten. Wellicht heeft het effect gehad dat Oracle de ondersteuning van versie 6i, en daarmee feitelijk de Client/Server Forms, heeft stopgezet.
Ook al zijn er nog veel Forms ontwikkelaars, echt veel sessies over Forms waren er niet (meer) te vinden op ODTUG. Er waren wel een stuk of tien sessies waar Oracle Forms voorkwam in de beschrijving, maar die sessies gingen bijna allemaal over conversie, migratie of overgang in het algemeen van Forms naar ADF, SOA, en andere nieuwe concepten.

Forms migratie naar JSF/ADF

Op ODTUG waren enkele bedrijven aanwezig die zich onder andere richten op Forms gebruikers en hen willen helpen met upgraden naar nieuwe versies of zelfs migratie naar Java of meer specifiek Oracle ADF. Deze bedrijven lijken toch de nodige aandacht te krijgen, maar het is maar de vraag of ze allemaal een even goede oplossing bieden. Met name migratie van Forms naar ADF lijkt een hot topic. Er zijn nu eenmaal veel Forms klanten die vrijwillig of enigszins gedwongen kijken naar een overstap naar ADF. Een (grotendeels) automatische migratie, zoals een aantal leveranciers belooft, is dan zeer aanlokkelijk. Het is echter maar de vraag of deze oplossingen echt helpen, of dat het meer neerkomt op van de regen in de drup.
Oracle Forms en Oracle ADF zijn twee wezenlijk verschillende concepten en architecturen. Deze, soms grote verschillen maken het moeilijk om bestaande Forms één-op-één over te zetten naar JSF of ADF pagina’s. Toch zijn er leveranciers die (een bijna) 100% automatische migratie van Oracle Forms naar ADF beloven. Als je echter goed kijkt naar het uiteindelijke resultaat dan eindigt de klant vaak met een Java applicatie waarin nog duidelijk de Forms architectuur te herkennen is. Zo zijn er oplossingen waarbij je een Java methode krijgt voor iedere Forms trigger, zoals een whenNewFormInstance() methode. Alle Forms built-ins, zoals get_item_property en go_block zijn dan nagebouwd in Java methodes zoals getItemProperty en goBlock. Waarschijnlijk blijkt het erg moeilijk om een dergelijke Java applicatie te onderhouden. In feite heeft de ontwikkelaar nu kennis van zowel Java als de voormalige Forms architectuur nodig. Forms en Java ontwikkelaars zijn al moeilijk te vinden, maar ontwikkelaars die beide technieken goed beheersen zijn helemaal schaars. Daarbij komt nog dat je in feite nog steeds Forms hebt, maar dan in een Java jasje. Als een bedrijf daar tevreden mee is, dan kun je je afvragen waarom ze niet gewoon Oracle Forms blijven gebruiken. Oracle belooft immers ondersteuning voor Forms tot na 2013.

Netherlands to the rescue

Wellicht wat onbescheiden om te zeggen dat de enige twee innovatieve initiatieven om organisaties van Oracle Forms naar ADF te helpen uit Nederland bleken te komen. Wilfred heeft een presentatie gegeven waarin hij de door zijn bedrijf ontwikkelde OraFormsFaces technologie heeft laten zien. Dit is een set JSF componenten en een aantal ondersteunende Forms uitbreidingen en PL/SQL libraries. Hiermee wordt het mogelijk om bestaande Forms op te nemen als JSF component in een JSF of ADF Faces applicatie. Het is daarbij mogelijk om de Forms en JSF/ADF gegevens en events uit te laten wisselen. Op deze manier kunnen bestaande Forms worden hergebruikt in een JSF/ADF applicatie. Dit maakt een gefaseerde overgang van Forms naar ADF mogelijk. Op termijn kunnen individuele Forms worden vervangen door pagina’s gebouwd in JSF/ADF.

JHeadstart Forms2ADF Generator

De andere Nederlandse innovatie werd duidelijk in de presentatie van Steven Davelaar van het JHeadstart team binnen Oracle Consulting. JHeadstart is al jaren beschikbaar als productivity booster voor het ontwikkelen van ADF applicaties. Steven liet nu echter een nieuw onderdeel van de volgende JHeadstart versie zien: de JHeadstart Forms2ADF Generator. Dit is een uitbreiding op JHeadstart. De generator leest FMB bestanden in en maakt vervolgens ADF Business Components aan die overeenkomen met de queries zoals die gebruikt werden in de blokken, list-of-values en record-groups in Forms. Verder wordt een JHeadstart Application Definition file aangemaakt. Dit is een XML metadata bestand waarin wordt vastgelegd hoe een applicatie gebruik maakt van data collecties, welke lay-out stijlen er gebruikt moeten worden, hoe een gebruiker zoekvragen kan uitvoeren, en vele andere zaken die een applicatie definiëren. Vervolgens kan JHeadstart op basis van deze metadata een volledig functionerende ADF applicatie genereren die naar wens kan worden aangepast.
Ook de Forms2ADF Generator richt zich op de groep Forms gebruikers die de overstap wil maken naar ADF. Alleen kiest het JHeadstart team voor een fundamenteel andere aanpak dan andere leveranciers. Zij streven bewust niet naar een 100% migratie, maar willen er voor zorgen dat het eindproduct een ADF applicatie is volgens de ADF architectuur. Dit betekent dat de PL/SQL code in Forms niet wordt geconverteerd of overgenomen naar ADF. Uiteindelijk moet een ontwikkelaar beslissen wat de intentie is van een stuk PL/SQL en hoe ditzelfde bereikt kan worden in ADF. Soms blijkt een bepaalde PL/SQL constructie overbodig in ADF omdat dit standaard functionaliteit is, andere keren kan het probleem worden opgelost met het instellen van enkele properties op de goede componenten binnen ADF en een enkele keer zal er Java code nodig zijn maar dan blijft de vraag in welke Java class binnen ADF deze code thuishoort.
Steven liet in zijn presentatie ook zien dat de volgende versie van JHeadstart ingebouwde ondersteuning heeft voor de door Wilfred ontwikkelde OraFormsFaces technologie. Het is straks mogelijk om in de Application Definition File aan te geven dat een bestaand Form moet worden ingevoegd in de ADF pagina met behulp van OraFormsFaces.

Migreren naar ADF dus of… overstappen op de Application Express?

Zoals al eerder gememoreerd, op de ODTUG, die bekend staat om het behoudende karakter van de bezoekers, was dit jaar veel ruimte gereserveerd voor Oracle Application Express (Apex). Met 18 parallelle sessies, een symposium van een hele dag en een productvergelijking tussen ADF en Apex van een halve dag, was Apex een belangrijke technologiestroming tijdens het congres. Afgaande op het aantal bezoekers dat presentaties over Apex bezocht, was dat een verstandige keuze van het organiserend comit‚.
Michiel Jonkers verzorgde in New Orleans een presentatie over het gebruik van de Apex repository – ‘Explore and benefit the Apex repository’ - en heeft geprobeerd een verklaring te vinden voor het feit dat veel Oracle ontwikkelaars ge‹nteresseerd zijn in Apex.
Apex is een op SQL en PL/SQL gebaseerde ontwikkelomgeving, met name geschikt voor de ontwikkeling van datageoriënteerde webapplicaties. Apex maakt onderdeel uit van de Oracle database. Aanvankelijk door Oracle gepositioneerd als een ontwikkeltool voor Rapid Application Development en een alternatief voor Access, wordt Apex door een groeiende groep Oracle ontwikkelaars beschouwd als een alternatief voor de ‘klassieke tools’. En omdat het in de database zit en je heel ver kunt komen met uitsluitend kennis van SQL en PL/SQL, lijken veel ontwikkelaars het te zien als een vertrouwder en veiliger alternatief dan het ‘complexe’ Oracle ADF.

Apex in de praktijk

Tijdens het Apex symposium op de openingsdag van de conferentie vertelden zes klanten waarom en hoe ze Apex hebben ingezet voor iets meer dan kleine tijdelijke oplossingen in hun eigen organisatie. In de meeste cases werd gestart met het toepassen van Apex op kleine schaal en raakte de organisatie gaandeweg overtuigd door de behaalde resultaten.
In de gepresenteerde cases was veelal sprake van Apex applicaties die werden gerealiseerd voor oplossingen die op de werkvloer waren ontstaan en na verloop van tijd niet meer voldeden. De belangrijkste functie van het merendeel van de applicaties was om informatie op een snelle en betrouwbare manier in een bedrijfsproces op te kunnen vragen. Voornamelijk rapportages en eenvoudige invoer van gegevens.
Je kunt je afvragen of het feit dat een informatieanalist zich bemoeide met de realisatie van de Apex oplossing niet een belangrijker bijdrage aan het succes van de oplossing was dan het feit dat de oplossing met Apex werd gerealiseerd. Toch werd door de sprekers vaak op basis van hun ervaringen geconcludeerd dat Apex de bron van het succes was en dat Apex dus geschikt is voor grote applicaties met een permanent karakter.

De toekomst van Apex

Mike Hichwa, vice president Oracle Development Tools, uitte zich wat realistischer. Hij ziet Apex niet als h‚t development framework voor bedrijven. Hij signaleert dat bedrijven tegenwoordig naast een ‘enterprise development framework’ – in zijn optiek natuurlijk Oracle ADF – behoefte hebben aan een ‘rapid development framework’ waarmee een IT afdeling snel oplossingen kan aanbieden voor veranderingen in de bedrijfsvoering, nieuwe wetgeving of nieuwe producten. En vanuit Oracle is Apex het product dat dit ‘rapid development framework’ aanbiedt.
Behalve deze interessante positionering van Apex ten opzichte van ADF, had Mike ook nog wat nieuwtjes voor het publiek in petto. Het meest nieuwe was een demonstratie van Oracle Websheets, een component in Apex waarmee eindgebruikers hun spreadsheets met slechts enkele handelingen onder kunnen brengen in Apex en vervolgens Apex functionaliteiten zoals interactive reporting (onderdeel van Apex sinds versie 3.1), beveiliging en het delen van informatie toe kunnen passen op het zojuist geïmporteerde spreadsheet. Het zal zeker een oplossing zijn voor het circus van de vele verschillende versies van één spreadsheet die vaak rondzweven in organisaties.
Op basis van de korte demonstratie leken er enige overeenkomsten met Google Docs, maar voor een beter oordeel is het nog een tijdje wachten. Tijdens de ODTUG werkte Oracle Websheets slechts op één laptop, dus wanneer het wordt gelanceerd is nog niet zeker.
Behalve Oracle Websheets staan ook zaken als declaratief gebruik van AJAX, betere ondersteuning van formulieren en het toevoegen van persoonlijke itemtypen voor komende versies op het programma. Helaas was er geen nieuws over een meer gestructureerde API om de metadata in de Apex repository te manipuleren.
David Peake, Oracle product manager van Apex, toonde in zijn presentatie een sneak preview van een module om Oracle Forms te migreren naar Apex schermen. Hij toonde hoe een migratie in zijn werk zal gaan. De bron van de migratie is een XML-bestand van een Oracle Form dat wordt ingelezen in Apex, wordt geanalyseerd en leidt tot een pagina in een Apex applicatie. Een impressie van het eindresultaat van een migratie, de lay-out van een gemigreerde Form in Apex, gemigreerde functionaliteit, kregen we helaas niet te zien. Hij beloofde op de ODTUG om rond 1 juli met een white paper over de migratie van Forms naar Apex te komen, maar die datum heeft hij niet gehaald. Misschien dat David op Oracle Open World iets meer zal laten zien.
Ook nu weer moet je je afvragen wat de meerwaarde is van een migratie van Oracle Forms naar Apex. Waarom migreer je een user interface uit een van oorsprong client/server technologie naar Apex, een tool waarvan een sterk punt nu juist is het snel realiseren van schermen?

Apex wetenswaardigheden

Patrick Wolf gaf een bijzonder interessante presentatie over het toepassen van Open Source Tools om de productiviteit van Apex (nog verder) te verhogen, met name in het laatste deel van het ontwikkelproces waarin een goede performance tuning, de beveiliging, het debuggen en het reviewen steeds belangrijker worden. Na het zien van zijn presentatie kan je niet anders dan concluderen dat je in theorie niets anders nodig hebt dan een webbrowser om in Apex te ontwikkelen, maar dat je in praktijk toch zeker een aantal Firefox plug-ins en open source tools wilt gebruiken. Meer informatie is te vinden op de weblog van Patrick.
Anton Nielsen gebruikte één van de plug-ins, te weten webdeveloper, om een zaal vol Apex ontwikkelaars te wijzen op veel gebruikte ontwikkeltechnieken die de veiligheid van Apex applicaties ernstig schade aan doen. Met eenvoudige SQL-injectie in een zoekveld achterhaalde hij de tabelstructuur van het applicatieschema in de database in slechts een paar minuten tijd. Meer dan eens benadrukte hij dat de tool Apex steeds veiliger wordt, maar dat steeds vaker de ontwikkelaar de zwakke schakels introduceert.
Opvallend aan veel Apex presentaties was de tendens in de presentaties om toch steeds maar weer onder de aandacht te brengen dat Apex meer is dan een RAD speeltje of zelfs maar een proefballon van Oracle. Na een aantal sessies zou het kunnen aanvoelen als een kleuter (Apex) die maar blijft roepen dat hij echt wel net zo groot is als zijn broertje (ADF).
Apex is inderdaad voor Oracle ontwikkelaars een aantrekkelijk product om in een omgeving met Oracle databases snel CRUD-applicaties te bouwen tegen een lage prijs met een redelijke functionaliteit. En de interactieve rapporten zijn echt cool. Maar voor complexere user interfaces en procesgeoriënteerde applicaties is Apex geen eerste keus. En het valt te verwachten dat ADF, dat door duizenden Oracle medewerkers dagelijks wordt gebruikt om Fusion Applications mee te ontwikkelen, in release 11g al flinke stappen zal maken in het op een snelle manier ontwikkelen van geavanceerde schermen en rapportages (inclusief grafieken).
ODTUG congress Bovenstaande was tevens de belangrijkste conclusie die op de slotdag van de ODTUG te trekken was na afloop van een goed bezochte sessie van een halve dag waarin de twee Oracle ontwikkelplatformen voor de toekomst met elkaar werden vergeleken. Dimitri Gielis (Apex Evangelists) en Lucas Jellema (AMIS Services) demonstreerden op de slotdag het ontwikkelproces in beide omgevingen en lieten het resultaat zien van zes uur ontwikkelen aan een applicatie in beide technologieën die gebaseerd waren op hetzelfde gegevensmodel.

Meer nieuws over de database

Zoveel aandacht als Apex kreeg geen enkel ander new feature uit de 11g versie van de Oracle database, maar er waren op de ODTUG veel sessies gewijd aan de 11g versie van de Oracle database. Zowel de new features voor de DBA’s als de new features voor de Ontwikkelaar werden in diverse presentaties live getoond.
Ontwikkelaars konden kiezen uit diverse sessies om ge‹nformeerd te worden over virtual columns, de function result cache of toepassingen van dynamisch SQL, autonome transacties of conditional compilation. Ook was er een aantal sessies, dat inging op de uitgebreide voorzieningen in de database die het mogelijk maken om bijna alles te meten wat je maar zou willen weten.

SQL Developer

En dan was er nog aandacht voor het alternatief voor SQL*Plus, de meest opvallende verdwenen feature in de Oracle 11g database: SQL Developer. De gratis te downloaden IDE voor database developers bevat steeds meer functionaliteit en DE aankondiging op ODTUG met betrekking tot SQL Developer was de integratie van CDW4ALL. Op termijn wordt het mogelijk zowel op logisch niveau (ER-diagrammen) als technisch niveau Physical Schema Designs) gegevens te modelleren en uiteindelijk de DLL-scripts te genereren.

En wat was de rol van Java EE op de ODTUG?

René van Wijk, Java EE ontwikkelaar en trainer, gaf tijdens de ODTUG een presentatie binnen de stroming Java EE: ‘Data binding: From JSP to JSF’. Hij bezocht veel sessies over Java EE en Oracle ADF en signaleert binnen Java EE enkele ontwikkelingen die er uitspringen.
Kijkend naar hoe een applicatie meestal wordt opgebouwd in Java EE omgeving is dat weinig onderhevig aan verandering. Het model, view en controller model is een veel gebruikt concept, al zie je wel dat in bepaalde literatuur andere namen voor de verschillende lagen worden gebruikt.
Wat er binnen Java EE wel aan verandering onderhevig is, is de implementatie van de verschillende lagen. Zo zien we in de model laag dat er frameworks opkomen die de object/relationele mapping afhandelen. Met JavaServer Faces is de controller laag op een elegante manier geïntegreerd, de custom ondersteunde Java klassen worden centraal gemanaged en bovendien worden navigatieregels op een centrale plaats vastgelegd. Al deze informatie wordt op een dynamische manier gebruikt door de lifecycle van JavaServer Faces die de gehele request response keten afhandelt. In de view laag is vooral verandering te zien in hoe data wordt getoond. Een trend nu is dat alles AJAX based moet zijn. De beschikbare JavaServer Faces componenten bibliotheken, zeker de ADF Faces Rich Client bibliotheek, voorzien in deze functionaliteit.
Kijkend hoe dingen vooruitgang boeken, bijvoorbeeld dat de data modellering steeds geavanceerder wordt (JDBC naar EJB 3.0), of het bouwen van user interfaces met behulp van data gebonden componenten (standaard HTML naar bijvoorbeeld Trinidad componenten en binnenkort ADF Faces Rich componenten) maakt het Java EE platform zeer dynamisch maar daarentegen niet minder interessant.

ODTUG: Java EE

Eén daarvan is de ontwikkeling die gaande is binnen webapplicaties. Dat wil zeggen een evolutie van Java Servlets naar JavaServer Faces (zie bovenstaande figuur links). Oftewel van het regel voor regel opbouwen naar component-gebaseerd bouwen. Het bouwen van webapplicaties wordt steeds abstracter.
Een andere is de manier waarop er gecommuniceerd wordt met de database (databinding, zie bovenstaande figuur rechts). Het tabellarisch presenteren van data in een relationeel systeem is nog steeds fundamenteel anders dan de objecten netwerken die gebruikt worden in object georiënteerde Java applicaties. Nog steeds wordt deze fundamentele misaanpassing onderschat. Aan de andere kant zijn er nu een aantal frameworks en oplossingen om met dit probleem om te gaan.

Databinding

Meestal zijn de applicaties die we bouwen informatiesystemen. Data moet getoond, gemodificeerd of verwijderd kunnen worden. Een informatiesysteem is niet praktisch als de data niet opgeslagen is zodra de stroom er wordt afgehaald. Wanneer we data opslaan gebeurt dat in de meeste gevallen in een relationele database. Het probleem wat zich voordoet is dat er een misaanpassing ontstaat als deze data verwerking vanuit een object georiënteerde omgeving gebeurt.
Is het dan gerechtvaardigd om een relationele database te gebruiken ondanks een misaanpassing met een object georiënteerde omgeving? Relationele databases zijn ingeworteld omdat ze zo erg flexibel en robuust zijn met betrekking tot data management. Ten gevolgen van het complete en consistente theoretisch fundament van het relationele datamodel, kunnen relationele databases op een effectieve manier garanderen dat de integriteit van de data wordt beschermd. Kortom dit denk je niet zomaar weg uit een informatiesysteem waar data integriteit in het algemeen hoog in het vaandel staat.
Met de introductie van EJB 3.0 en de nieuwe Java Persistence standaard is er een enorme stap voorwaarts gemaakt om een object georiënteerde omgeving te koppelen aan een relationele database. Het definieert een simpel programmeermodel en een krachtige object/relationele persistentie. Veel concepten in EJB 3.0 zijn overgenomen uit Hibernate en andere object/relationele mapping tools.
Binnen ADF kan EJB 3.0/JPA als persistentie laag worden gebruikt. Dit gebeurt echter zelden en was op ODTUG dan ook vrijwel geen onderwerp van gesprek (in tegenstelling tot bijvoorbeeld JavaOne). ADF Business Components is de veel meer SQL georiënteerde aanpak voor persistentie die binnen ADF applicaties meestal wordt toegepast.

Webapplicaties

Webapplicaties vallen ruwweg in twee categorieën:
  • Presentatie-georiënteerd - een presentatie-georiënteerde webapplicatie genereert interactieve web pagina's die verschillende typen mark-up talen en dynamische content als response voor een request bevatten.
  • Servicegeoriënteerd - een servicegeoriënteerde webapplicatie implementeert het eindpunt van een web service. Presentatie georiënteerde webapplicaties zijn over het algemeen de clients van service georiënteerde webapplicaties.
We beperken ons tot presentatie georiënteerde webapplicaties.
Interactie tussen een webclient en een webapplicatie kan in het kort beschreven worden als:
  • Webcomponenten op een server ontvangen een request van een client en genereren een response aan de hand van het request.

Webcomponenten zoals Servlets en JavaServer Pages voorzien in de dynamische mogelijkheden. Sinds de introductie van Servlets en JavaServer Pages technologie, zijn er additionele technologieën ontwikkeld. Zeker met de komst van JavaServer Faces wordt het bouwen van webapplicaties, door het gebruik van webcomponenten die attributen en events hebben, sterk vereenvoudigd. In plaats van losse tags en scripts, zoals bij Servlets en JavaServer Pages, worden bij JavaServer Faces web pagina's gebouwd met kant en klare bibliotheken die componenten bevatten.
Een goed voorbeeld van zo’n bibliotheek is ADF Faces, dat door Oracle is gedoneerd aan de Apache MyFaces open source community onder de naam Trinidad. Deze bibliotheek bevat meer dan honderd verschillende componenten die uiteenlopen van een eenvoudige input tekst tot een tabel met paginering, sorteermogelijkheden en rij selectie.
JavaServer Faces bevat bovendien een techniek om declaratief objecten te benaderen. We kunnen bijvoorbeeld een simpele expressietaal gebruiken om de te presenteren informatie te benaderen.

Java EE en ADF nieuws op de ODTUG

Wat op de ODTUG vooral aan vernieuwing werd gepresenteerd is de ADF Faces Rich Client bibliotheek. Dit is een uitbreiding op het Apache Trinidad componenten framework en voorziet in een rijke set van AJAX enabled JavaServer Faces componenten. Het biedt bovendien data visualisatie componenten, zoals dynamische kaarten en grafieken, waarmee onderliggende data kan worden bekeken. Voor elke component kan de look-and-feel veranderd worden, het zogenaamde skinning. De ADF Faces Rich Client bibliotheek is ten tijde van schrijven alleen nog beschikbaar als een technology preview, maar het is zeker aan te raden deze preview van JDeveloper 11, waarvan de ADF Faces Rich Client bibliotheek een onderdeel is, te downloaden. Eenmaal er mee in aanmerking gekomen is het onmogelijk om hiervan niet onder de indruk te zijn.

SOA, BPEL en BEA

Uiteraard werd er ook over Service Oriented Architecture gesproken tijdens ODTUG 2008 - maar niet heel uitvoerig. De toekomstige integratie van Forms met de SOA Suite, de bouw van de Human Workflow schermen met ADF en de betekenis van BPEL en Enterprise Service Bus voor Database ontwikkelaars waren tussen de onderwerpen die aan bod kwamen. Daarnaast hield de overname door Oracle van BEA de Oracle sprekers enigszins in gijzeling, aangezien de plannen tijdens de conferentie nog niet bekend mochten worden gemaakt. Inmiddels is duidelijk geworden dat BEA WebLogic de JEE container van Oracle gaat worden - en daarmee OC4J gaat vervangen - en dat de Oracle Enterprise Service Bus op BEA’s Aqualogic Service Bus wordt gebaseerd. Oracle WebCenter wordt het primaire Portal product - naast Oracle Portal, Plumtree en WebLogic Portal. JDeveloper de centrale IDE voor alle producten en Enterprise Manager de centrale management en beheer console. Het goede nieuws is dat de Oracle producten verder verbeterd worden en de marktpositie sterker wordt. Het minder goede nieuws is dat we nog een stuk langer op OAS 11g en SOA Suite 11g moeten wachten - ergens in Fiscal Year 2009 (dat eindigt op 31 mei 2009) is het bericht.

Conclusie

De jaarlijkse ODTUG conferentie kent meerdere gezichten. Het is een warm bad voor de vaste bezoekers, een feest der herkenning. Maar het is ook een bron van inspiratie en kennis voor zowel beginnende als heel ervaren ontwikkelaars. De relatief kleine schaal van de conferentie maakt dat je na een paar dagen zo niet alle namen dan toch al wel bijna alle gezichten kent en daarmee makkelijk contacten legt en kennis en ervaringen uitwisselt. De grote inbreng van het Nederlandse contingent hierbij - meer dan 10% van de presentaties - is opmerkelijk en stemt ook een beetje trots.

De verdere versterking van SQL Developer en de aanstaande uitbreiding met modellering en database generatie is opvallend - en ongetwijfeld een doorn in het oog voor de makers van TOAD en PL/SQL Developer. Het definitieve afscheid van Oracle Designer zal hiermee overigens ook dichterbij komen. Oracle Forms wordt nog wel door Oracle doorgezet naar release 11g met een beperkte set nieuwe functionaliteit.
Gretig onderzoek naar de mogelijkheden die de nieuwe Sun Java browser plug-in biedt - JDK 6 Upgrade 10, een van de grote aankondigingen van de JavaOne conferentie in mei 2008 - was er nog niet te beluisteren van de kant van Oracle, terwijl die JVM versie voor Applet gebaseerde applicaties als Forms interessante opties biedt. Met name start-up time en performance maar ook de integratie van HTML/JavaScript en Applet zijn aanzienlijk verbeterd. Daarnaast vervagen de grenzen tussen Applet en Java Web Start applicatie en kunnen applicaties als Forms ook buiten de browser gedraaid worden.
Opvallend was de enorme aandacht voor Apex - door Oracle toch niet als ‘core ontwikkelplatform’ gepositioneerd en zeker niet bedoeld als de opvolger van Oracle Forms wordt het door veel Oracle veteranen als een aansprekender technologie gezien dan het angstaanjagende ADF. Wil je een zaal vol bij je presentatie, zet dan Apex in de titel, was al snel de conclusie onder de sprekers.
Overigens is een andere belangrijke conclusie van de conferentie dat Oracle zelf zeer serieus met ADF aan het ontwikkelen is geslagen: meer dan 3500 ontwikkelaars van ondermeer de Oracle Applications teams zijn getraind en de eerste resultaten beginnen in de nieuwste modules van Fusion Applications en de E Business Suite maar ook producten als Enterprise Manager naar voren te komen. Belangrijker nog voor ons lijkt de invloed van deze enorme ontwikkelmachine op JDeveloper en ADF: op gebied van productiviteit en hergebruik, teamwork en laagdrempeligheid wordt ADF in hoog tempo heel sterk verbeterd. De inmiddels uitgebrachte ADF 11g versie zal voor veel grotere groepen ontwikkelaars toegankelijk en productief zijn en levert en een zeer aantrekkelijke, moderne Web 2.0 user interface opleveren.
In de maanden na het ODTUG congres volgden de nodige interessante ontwikkelingen: de vervlechting van de BEA producten met de Oracle producten, het beschikbaar komen van ADF 11g, het uitrollen van de Fusion Application modules als bewijs van wat ADF 11g vermag, de toekomst van Apex en de release van Oracle 11g Application Server en SOA Suite. En dan ligt de 11gR2 versie van de RDBMS ook alweer in het verschiet. Ook volgend jaar zal de ODTUG conferentie vast de moeite waard zijn.

Dit artikel is geschreven door Michiel Jonkers (AMIS), met bijdragen van René van Wijk (Transfer Solutions) en Wilfred van der Deijl (Eurotransplant).