OpenOffice Bibliography Fix

AOP Portlets

Android Import Contacts


Sqlite3 JSP Custom Tags

AOP Portlets

AOP Portlets is a continuing academic research project aimed at appliance of AOP concepts in Portlets (JSR-168, JSR-268) development.


It is a common fact now that AOP is about cross-cutting concerns. One can find cross-cutting concerns in any field, and portlets are no exception. In lots of cases portlets share behavioral properties, making AOP appliance potentially fruitful.

Two general behavioral concepts of portlets are Portlet Modes and Portlet States. Both should be considered a portlet concern, with a good chance of being cross-cutting. Portlets behaviour (concerns) is configured in one centralized location - portlet.xml.

Saying that portlets behaviour should be considered as a number of concerns implies that it should be possible to describe portlets behavior using AOP domain. AOP domain generally consists of aspects, advices and pointcuts, which definitions and relations are configured in one centralized AOP configuration (for most AOP implementations.) For example, JBoss AOP implementation holds its configuration in jboss-aop.xml.

So, having two XML files at hand it should not be too difficult to implement a transformation mechanism which would produce jboss-aop.xml from portlet.xml

All above resulted in XSLT development. Resulting XSLT is capable of transforming a portlet.xml file into jboss-aop.xml with all behavioral elements represented as aspects, and relations between portlets and their concerns -- as pointcuts.

XSLT is available for download.


Development process is prone to defects introduction. To ease the development of AOP-driven portlets and to avoid defect during the configuration and development stages two Eclipse plugins were created.

The first one is AopXmlConfig which generates a JBoss-AOP configuration file from portlet.xml.

Another plugin is GenerateClasses which generates all class skeletons. The skeletons will represent a working appication infrastructure. Once implemented they are ready to be run in a portal container given that it is configured for AOP.

Both plugins are available for download as binary and sources:

AopXmlConfig_1.0.0.jar AopXmlConfig-src.tar.gz
GenerateClasses_1.0.0.jar GenerateClasses-src.tar.gz

Compilation is done with help of ant4eclipse project (tested with version 0.5.0 beta). To compile plugins:

  1. Have ant4eclipse-0.5.0.beta.jar and org.eclipse.osgi_3.2.0.v20060601.jar in Ant's classpath, for example on Unix copy both files to {your_home_folder}/.ant/lib
  2. Unpack sources tar
  3. Edit build.xml and set the path to Eclipse installation (in <targetPlatform>)
  4. Run ant, the resulting plugin binary should appear in plugins folder
  5. Copy the resulting plugin jars to Eclipse plugins directory

Both plugins are accessible from the context menu of the portlet.xml file:Eclipse screenshot

Please direct all enquiries to mihel(a_t)