Internal LogicaCMG RADRace: Oracle ADF wins
Monday 23 January 2006 @ 12:43 pm

Last friday and saturday LogicaCMG organised an internal RADRace. The man who made the assignment was nobody other than Ivan Verborgh, the man who makes the assignments for the international RADRace.

The assignment was to make a webbased application with which people could apply for a license plate. It had to contain at least:

  • Multi-lingual screens
  • A webservice for checking credit card codes
  • Role based authorisation, different functions for different roles
  • Wizard like registration process
  • And of course lots of business rules

Last year we (Reza Ahmadi and I) entered using Oracle Designer and Oracle Forms (after realising we didn’t have enough knowledge of Oracle ADF) and had the pleasure to win.

This year we (Gideon Liem and I) entered using Oracle JDeveloper 10.1.2 and the Oracle ADF framework. We had prepared a kick-start application that contained a new look-and-feel (Using custom renderers in UIX) and some authentication method.

From there we built almost the complete application. In the end the following stack of technologies were used:

  • Oracle Database 10g (as the big Datastore, we can use another database?)
  • Oracle OC4J stand-alone (as the application server)
  • A small SMTP server, called JES
  • Oracle ADF Business Components (as the persistence layer)
  • Oracle’s implementation of JSR-227 (as the binding layer, between the persistence and the view layer)
  • Oracle ADF UIX (as the view layer layer)
  • Apache Axis (as the webservice engine)
  • Apache jUDDI (as the webservice registry)
  • UDDI4j from Sourceforge (communication with the registry)
  • Apache WSIF (communication with the webservice)
  • Apache POI (generating Excel reports)

One of the things that were most difficult for us was the refactoring of the data. Ivan had prepared the challenge in a way that we got the data as two big denormalised tables. Part of the challenge was to normalise the data so you could use it for your application. It took us the morning of the first day and the first hour of the afternoon to get the database right.

After that the framework kicked in: generation of the persistence layer is really a breeze. When you just had the rule of thumb to code your screens on your tables (don’t think in Objects if you got tables… it makes sence to see the whole picture and combine the two). UIX pages are the view layer we used in projects the last year and we have become quite proficient with them. The binding layer makes it possible to get your model and just drag them tables into the screen and have them work. Most of the time we could do what building an application is about: building the business logic that matters… All else should be simple, easy and quickly done.

Rest us to say we had the pleasure to finish first in the contest. Unfortunatly our competitors that used JHeadstart had to drop out for the second day (for personal reasons), we would have really liked to compare their result with ours.

Runners up were: in second place a microsoft team using Microsoft .NET 2.0 (they also had a good working application) and in third place a Java based team that used LogicaCMG’s own open-source framework: ePlatform.

All contenders
All the teams and the jury
We, Gideon (right; in white, red & blue) & Robert (left; in grey)
Design is essential
Evaluation by the jury

Oracle Technology site, you can find the database, application server and JDeveloper here.
Apache, great products here
Sourceforge, also here, another blog sponsered by LogicaCMG that contains a post from the microsoft competitors
ePlatform (on sourceforge), the ePlatform site

— By Robert Willems of Brilman     PermaLink

8 Responses to “Internal LogicaCMG RADRace: Oracle ADF wins”

  1. Ron Mooij Says:

    Well done guys!!! Oracle Rulez

  2. Ruben Sprangemeijer Says:

    Hi Robert,

    First of all, congratulations to you and Gideon. I think you did a great job! You proved you are a real pro by winning for the 2nd time.

    We managed to get to nearly 50% of the development case… you 98% or so :-)
    Franck de Bruijn and I are very pleased to have won the “craftsmanship award”. This means we are on the right track (from an architectural point of view). I think our main problem is the (lack of) productivity. (And the fact we use an alpha release of Adobe’s Flex2)
    We are already looking at how we are going to generate a lot of the (boilerplate) code next year, because that much we’ve learned.

  3. Kevin Li Says:

    It looks like you guys are not getting enough of RadRaces ;-) You’ve just won the recent RadRace challenge at the JavaPolis event in Dec 2005, and now you won again.
    Fantastic news, congratulations to Gideon & Robert and WELL DONE!!

  4. Waldo Smeets Says:

    Hi Ruben,

    are you saying that due to Flex you could not be productive? Or was it just the lack of knowledge, since it’s been out for only just a few weeks?

    Would love to discuss this with you on Februari 15 when I’m presenting for you guys in Eindhoven. And then let’s especially have a look at the Enterprise Services. They weren’t available for you during the RadRace, but they will be pretty soon and you’ll all really gonna love it ;-)

    ps: Don’t forget to check after this weekend, there might be a little extra Flex surprise over there ;-)

  5. Franck de Bruijn Says:

    Hi Waldo/Ruben,

    It clearly showed that we lacked productivity. That’s something we need to get working on. I believe that Flex will be able to help in productivity in the future, but a few things would be nice to have in Flex:
    * default MVC-aware components (Views are standard linked with Controllers and ‘code behind a button’ is automatically placed in the controller object: boilerplate code is generated by FlexBuilder)
    * ‘Application’ widgets, like
    - role-based menus,
    - standard layout for an adminstration app (menu on the left,
    split pane, status bar, etcetera)
    - wizard templates
    * Error messages could be worked on. Sometimes we get a ‘null has no properties’ exception, which is I think comaparable with the Java NullPointerException, although in Java I get a meaningful stacktrace, but in Flex it’s a vague what exactly is causing the error. (during the RadRace this caused us some loss in time).
    * Auto population of fields in a form based on a mode, including wizards for adding validation and stuff.

    I think the reason why we won the ‘craftsmanship’ award was mainly due to the usage of Flex in combination with a solid architecture based on web services. It’s an interesting track to follow.


  6. Waldo Smeets Says:

    Hi Franck, would love to hear your toughts on the 15th. I’d especially like to go into the code behind request and see what usecase you have. I actually wouldn’t say that the components are not MVC aware. Actually, I think they are fully MVC and can handle multiple type of objects to be rendered (collections, arrays, etc) without worrying about them.

    Looking forward to that discussion!

  7. Ruben Sprangemeijer Says:

    Hi Waldo,

    I don’t think is was Flex… or our lack of knowledge on Flex.
    It is definitely the Java part that was not productive enough. Too much handwritten code.
    We will be looking into how to generate code for our service / dao layer, based on our domain model.

    I’m (also) looking forward to the meeting/discussion on the 15th in Eindhoven.

  8. Muhammad Naveed Noor Says:

    First of all, congratulations to you all,
    I am also using the same toll from the last many years and feling very well and easy in my life. I would like to add one thing here that Oracle is having a lot of good tools but there is a problem in helping material and user guieds of advance level. last year we also arranges a RAD development contest here in pakistan islamabad with our friends and technology consultants. and of course i got the second prize in using jdeveloper ADF and Swing technologies. The problem which i feel is that if i have a proper guideline material in using these technologies than the results will b more better.

    Muhammad Naveed Noor
    Software Engineer
    Laser Line Communication
    Islamabad, Pakistan

Leave a Reply


Sha256 mining

Blog Categories

Browse by Date
January 2006

Upcoming Events

Monthly Archives

Recent Comments


XML Feeds Option

Get Firefox  Powered by WordPress

code validations
Valid RSS 2.0  Valid Atom 0.3
Valid W3C XHTML 1.0  Valid W3C CSS