Om maar meteen met de deur in huis te vallen; Ja, Forms kan (maar hoeft niet) de deur uit...
OGh Visie verwelkomt Wilfred van der Deijl als columnist. Wilfred werkt als Systeem Architect bij Eurotransplant, is een actief lid van de Oracle community en werd afgelopen zomer benoemd tot Oracle ACE.

Kan Oracle Forms de deur uit?

Om maar meteen met de deur in huis te vallen; Ja, Forms kan (maar hoeft niet) de deur uit. Er zijn de laatste tijd de nodige ontwikkelingen geweest die het in ieder geval mogelijk maken om op een verantwoorde manier van Forms af te stappen.

Wilfred van der Deijl Oracle Forms is jarenlang de belangrijkste ontwikkelomgeving geweest voor veel Oracle gebruikers. Nog steeds zijn er veel bedrijven met (soms heel grote) Oracle Forms applicaties. In al die jaren is Oracle Forms een bijzonder productieve ontwikkelomgeving gebleken die ook iedere keer met zijn tijd mee kon gaan. Zo heeft Forms de overstap van de terminal naar client-server gemaakt en later van client-server naar een web-client. Oracle Forms gaat al ruim 20 jaar mee, en Oracle heeft aangegeven het nog zeker 9 jaar, maar waarschijnlijk langer, te ondersteunen. Er is vanuit die hoek dus geen noodzaak om Oracle Forms te verlaten. Maar toch knaagt er iets bij de meeste Forms gebruikers.
De laatste jaren zet Oracle strategisch in op het op standaarden gebaseerde Application Development Framework (ADF) en de daarbij horende ontwikkeltool JDeveloper. Sinds kort is de lang verwachte versie 11g van JDeveloper/ADF in productie, waarbij vooral de nieuwe ADF Rich Client componenten tot de verbeelding spreken. Deze ongelofelijk rijke JSF componenten bieden zaken die tot voor kort onmogelijk waren in een webbrowser. Zo is het nu mogelijk om zaken als drag-and-drop, interactieve tabellen, pop-up menu’s, interactieve grafieken, draaitabellen en nog veel meer te bouwen.
Iedere organisatie die de overstap van Oracle Forms naar ADF overweegt zal daar zijn eigen redenen voor hebben. Ook het moment waarop de overstap overwogen wordt zal sterk verschillen. Zo zijn er organisaties die de overstap al hebben gemaakt, en er zullen ongetwijfeld organisaties zijn die nog 10 of 20 jaar Forms zullen blijven gebruiken.

Knelpunten

Als serieus wordt overwogen om de overstap van Forms naar ADF te maken, dan ziet men al snel een aantal belangrijke knelpunten. Allereerst moeten Forms ontwikkelaars JDeveloper, Java, XML en ADF leren kennen. Voor sommige ontwikkelaars kan het aantal keuzes en mogelijkheden in deze nieuwe omgeving overweldigend zijn. Dit kan een bedreiging voor de productiviteit zijn.
Naast de mogelijke problemen met de leercurve en de productiviteit, is er ook nog de applicatie zelf. Het is niet ongewoon dat een Forms applicatie uit honderden of soms zelfs duizenden Forms bestaat. Hoe kan je met zo’n applicatie de overstap naar ADF maken. Herbouwen van de hele applicatie is zelden een serieuze optie. Eigenlijk wil je een geleidelijke overgang van Forms naar ADF. Je kunt natuurlijk steeds delen van een systeem herbouwen in ADF, maar dan moet de gebruiker wel jaren lang tussen verschillende applicaties wisselen, waarbij een deel van de taken in de oude Forms worden uitgevoerd en een deel in de nieuwe ADF schermen.
Deze problemen hebben er voor gezorgd dat veel organisaties de overstap nog niet hebben gemaakt en nog steeds grootschalig gebruik maken van Oracle Forms. Gelukkig is er het afgelopen jaar een aantal oplossingen verschenen. Allereerst is er JHeadstart, een toolkit van Oracle Consulting die al jaren bestaat en die het probleem van de leercurve en productiviteit een stuk verlicht. In JHeadstart zitten alle best-practices van Oracle Consulting verwerkt en de toolkit maakt het mogelijk om op basis van (aan te passen) templates een ADF applicatie te genereren.
Sinds deze zomer zit er een innovatief nieuw onderdeel in de JHeadstart toolkit: de Forms2ADF Generator. Deze tool analyseert bestaande Forms modules en genereert op basis van die informatie de benodigde ADF Business Components en de JHeadstart metadata waarmee de originele JHeadstart tool een ADF applicatie kan genereren. Deze manier van herbouwen is vele malen productiever dan volledig handmatige herbouw, maar vraagt nog steeds de nodige inspanning per Form.
Naast JHeadstart is er sinds begin dit jaar OraFormsFaces, een door mij ontwikkelde technologie die het mogelijk maakt om een bestaande Form zonder noemenswaardige aanpassingen in slechts enkele minuten te hergebruiken in een JSF, ADF (of andere web-) applicatie. Hierbij kunnen de twee technologieën gegevens en acties uitwisselen en kan, indien gewenst, het Form zelfs visueel volledig geïntegreerd worden waarbij niet langer zichtbaar is dat gebruik wordt gemaakt van Oracle Forms. De technologie is bijzonder goed ontvangen en is waarschijnlijk een belangrijke reden geweest voor mijn benoeming tot Oracle ACE.
Wanneer OraFormsFaces en JHeadstart gecombineerd worden dan ontstaat een bijzondere combinatie. OraFormsFaces maakt het mogelijk om op korte termijn alle Forms op te nemen in een ADF applicatie. De gebruiker kan dus gebruik blijven maken van één geïntegreerde omgeving, terwijl met JHeadstart op een productieve manier nieuwe functionaliteit kan worden bijgebouwd in ADF. Op langere termijn kunnen individuele Forms worden omgezet naar ADF met de JHeadstart Forms2ADF Generator. Dit biedt een geleidelijke, en daarmee veel minder riskante, overgangsstrategie van Oracle Forms naar ADF.
Om terug te komen op de oorspronkelijke vraag: uiteindelijk moet iedere organisatie voor zichzelf bepalen wanneer ze de overstap wil of moet maken. Het is alleen belangrijk om te weten dat er nu oplossingen zijn voor de grootste obstakels, dus laat dat je er niet van weerhouden.

Wilfred van der Deijl