Saturday, March 21, 2009

Extension for ADF Development Quality Testing in JDeveloper 11g

In my Oracle Fusion Middleware project we are using ADF BC, ADF Task Flows and ADF Faces Rich Client. Its a cool set of technologies that allows to speed up development process. Additionally, what is also very important, it allows to control quality of developed code in more easier ways comparing to plain J2EE development. Oracle ADF framework is based on XML definitions, this means we can validate generated/developed XML against agreed development standards.

We have found interesting way to control and keep project quality on high level - by implementing JDeveloper 11g extension for automatic development quality testing. Based on our development practice, we have selected most common quality violations comparing to defined project rules, and have implemented testing tool that can be plugged-in into JDeveloper 11g. What is important to mention, our tool is not static, we always can add new rules for quality tests when its needed.

In order to run quality test, its enough to select any project in JDeveloper 11g workspace and invoke developed extension:


Wizard will open and will ask what rule we want to check:


Let's select first one - 'Entity attribute label missing', where we can scan all Entities and check if localized labels are assigned for attributes. As result, report is generated where we can see attribute names per Entities without assigned labels:


PhoneNumber attribute is not included into report, and its correct, because this attribute have assigned label:


Another check we can do for ADF BC, is to verify Primary Keys on LOV View Objects. If for example, DepartmentsView LOV will not have Primary Key defined:


And we will run quality test for related rule:


Information about rule violation will be included into report:


We are doing automatic checks not only for ADF BC part, but for ADF Faces Rich Client and ADF Task Flows as well. For example, we can check if developer didn't forgot to put af:table into af:panelCollection. And if there will be violation:


We can invoke automatic test for this rule:


And get report for any violations:


Spanish Summary:

El control de calidad de las aplicaciones desarrolladas con ADF BC son faciles de realizar gracias al uso de archivos descriptores (XML) que el framework utiliza. En este post Andrejus muestra un plugged-in que ha desarrollado para validar el cumplimiento de algunas carateristicas que aseguren la calidad de los desarrollos con ADF BC.

5 comments:

  1. We coludn't find this extention in extention page of Jdev.

    do you plan to open this extention to public.

    Thanks.

    Ali Nizam

    ReplyDelete
  2. Hi Ali,

    Currently we are using it only internally.

    There are no plans at the moment, but yes - may be we will make it open in the future, when more rules will be added.

    Regards,
    Andrejus

    ReplyDelete
  3. Thanks.

    We need this kind of features to control ADF project's quality.

    it will be very good for us to have this extension.

    Regards.

    ReplyDelete
  4. Currently we are adding new rules and improving reporting quality.

    In May, I will present/demonstrate it on UKOUG session - Our Experience in Developing Using JDeveloper 11g.

    ReplyDelete
  5. Those who are potentially interested in such kind of extension, can drop me an email.

    Regards,
    Andrejus

    ReplyDelete