JHeadstart at JavaPolis Rad Race 2006
By Steven Davelaar on Dec 19, 2006
Last week Jaco Verheul and myself stepped in last minute for Duncan Mills and Steve Muench to represent Oracle at the JavaPolis' annual Rad Race. Duncan and Steve won the 2005 edition, so the expectations were pretty high.
a dynamic web site where an administrator can define forms, pages within the form and items for each page
with various display types and allowable values, and then the users of the web
site can select such a form and fill it in with a wizard style layout, based on
the number of pages and items defined by the admin.
data, which was only 1 table this time
creating PDF when user finishes a form wich includes the answers filled in by the user.
filled in / abandoned forms, with date range search
accessing admin screens and accessing forms
Unlike last year, the size and complexity of the assignment was reasonable. No Web Services, no complex business logic, no complex screens, except for the dynamic metadata-driven form of course.
How did we do? I think we did reasonably well. We had prepared a start application which included ready-to-go role-based security and XML Publisher integration for the reporting. We used JHeadstart to generate the simple admin screens, and with the help of custom templates we also generated the dynamic form with wizard-style layout.
Was it enough to win the Rad Race? No, our congratulations go to two joint winners, LogicaCMG and Getronics PinkRoccade. Great job guys! LogicaCMG also used JDeveloper and ADF with a home-made toolkit, Oracle2Go on top. Getronics PinkRoccade used a custom framework called Briqs.
Why didn't we win? Good question! The Oracle tools remain the best, as proved by LogicaCMG. During the day you make a
number of decision on how to implement things, some decisions worked out well,
some we would have done differently (read faster) if we could do it again. May be we lack a bit the "quick and dirty" mentality that is absolutely required for a race like this. Being focussed all our professional life on building things in a reusable, structured, maintainable way, it is hard to switch to a true "hackers" mentality for one day :-).
But hey, the good news is that the dynamic forms stuff we built for the race, is so generic that we plan to ship it with the next JHeadstart release, as part of the JHeadstart Demo application. It can be used both for "stand-alone" dynamic forms as in the Rad Race, but also to provide user extensibility / flex fields linked to structured application data.
So, hopefully, the wider ADF-JHeadstart community can benefit from our efforts!