Attribute Oriented Programming, a new programming paradigm? tools 15649 6401

Attribute Oriented Programming, a new programming paradigm?

In this post I want to give some pointers to/an overview of technologies for developing server side software in general, as well as one in particular: Attribute Oriented Programming, also known as AOP (is not the same as aspect oriented programming, by the way!).

AOP refers to a framework, that is an extension of the standard Java Doclet API . It enables conversion of custom Javadoc-like tags into source code, thereby allowing the programmer to focus on, let’s say the implementation of his EJB bean only, and let a tool such as Xdoclet generate the necessary interface classes and deployment descriptors. When working with EJBs it is almost impossible to do without such a tool, since alleviates the labour involved when dealing with all the interface classes and makes managing your Container Managed Relations (CMR) in the deployment descriptors viable. As an additional bonus, all files+deployment descriptors will be in sync with your implementation continuously.

The two most important tools are

It must be remarked that the Lomboz plug-in for Eclipse makes extensively use of Xdoclet too.

As is discussed in e.g. AOP with Java 1.5, Java 1.5 now includes facilities to for AOP standard, albeit in a slightly different manner.

Moreover, the new specification of EJB3.0 also indicates a big shift in this direction, see for example this link on the EJB 3.0 POJO Entity Beans page.

Summarizing, I think AOP/Xdoclet is key in developing J2EE software. I used it for EJB development under JBoss, but it supports code and deployment descriptor generation for numerous (proprietary) applications servers and technologies (servlets, struts, JDO, Hibernate, JMX).

Finally, even the generation of the tags can be automated itself with Middlegen! This is escpecially useful for e.g. graphically setting up the CMR between your entity beans. More to follow on this research in subsequent posts! I’ll include some code examples as well.


  1. Pingback: Import Car Parts Locator April 28, 2007
  2. Pingback: Bad Credit Credit Cards April 24, 2007
  3. Pingback: Bathroom Shop And Supply April 24, 2007
  4. Pingback: Bad Credit Auto Loan Now April 22, 2007
  5. Mahmoud Fayed August 8, 2006
  6. Zeger Hendrikse July 30, 2004