Saturday, November 29, 2008

Aophelper

With the release of JBoss AOP 2.0.0 we also included a few new tools. One of them is an application we called Aophelper. The idea behind it was to create a tool for people to use aop without the hassle of setting up aop jars, commandline options, creating an antscript etc. We tried to make an application to ease the use of aop or atleast make it easier for people to start using aop.

Aophelper is a small swing application that provide all the dependencies needed to run JBoss AOP and has features to add options to JBoss AOP. Aophelper has two modes; compile mode and run mode (use the File menu to change between the modes). They are nearly identical (visually), but the do different things. Here is a view of the compile mode:



- a larger picture can be found here.

The compile mode will try to aop compile classes specified by a path. If additional jars are needed, they can be added to the classpath. Then finally we need to specify a jboss aop xml file. After this is we can press compile and all the classfiles that where specified by the working directory option will be aop compiled.

The run mode will try to run either a aop precompiled program, or it will run the program with loadtime weaving (aop is weaved into the class when the program starts, no changes are done to the .class files). Here is an example of the run view:

- a larger picture can be found here.

The only difference between run and compile mode is the input field were you add the main execution class and the checkoption to choose if you want to enable runtime weaving. Aophelper can also save your settings so its very easy to get back on track with an application you've used before.

Even though Aophelper support most of the basic aop functionality, Aophelper is currently in a beta stage where much will change and additional features will be added. Some points we have on the todo list:

  • Export settings to a simple ant build file
  • Rewrite ui to make easier to use and support size changes
  • Better errorhandling

Aophandler is bundled in the JBoss AOP distro. Go into the aophelper directory and run it by executing either aophelper.sh on linux/mac/etc or aophelper.bat on windows.

You can always use the latest version from svn. Download JBoss AOP and run: mvn install -Prun-aophelper inside the aophelper directory and you can check out the latest changes.

2 comments:

Sacha Labourey said...

Hello,

This looks very cool. Still, excuse my French, but why hasn't this been implemented on top of Eclipse, or even better, as part of JBoss Tools?

Sacha

Ståle W. Pedersen said...

hi, the reason is basically because we wanted something that was easy to use and that we could make within a limited timeframe.
i dont believe that such a tool should be part of eclipse since this is more of a "after-development/test-out-aop" tool.
an eclipse plugin for jboss aop is something we really want since the one we had havent been working for ages.