Attribute Oriented Programming, a new programming paradigm?

admin 6

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.

6 thoughts on “Attribute Oriented Programming, a new programming paradigm?

  1. I updated this post 02-08-2004 and incorporated the contents of this comment.

Comments are closed.

Next Post

Pro's + con's of EJBs

Facebook0TwitterLinkedinFor a good “non-religious” argumentation on the advantages, drawbacks and points for improvement of EJBs, see this post by Nick Minutello. Related posts: Profiling in Eclipse ADF Faces – The Next Really Big thing from Oracle Development (ODTUG Wrap Up – Part II) JUnit testing with EasyMock Battle of the […]