SPA2005 session: AspectJ Tutorial

One-line description:Overview of AspectJ using Eclipse (AJDT plug-in) and Spring Framework.
 
Session format: Working group [read about the different session types]
 
Abstract:NOTE: if you are planning to attend this tutorial, please be sure to bring a laptop. The tutorial is intended to be practical and based around a set of lab exercises. All software required will be provided on CD.

Aspect oriented programming (AOP) is moving into the mainstream, and so are the development tools to support it. However, while they may have read about it, many people haven't had the chance to explore the technology practically.

This is an introductory session to allow participants to explore the capabilities of aspect oriented programming using AspectJ, via the AJDT plug-in to the Eclipse platform, both in isolation and in the context of a development framwork.

The session will give examples of the sorts of problems that AOP is good for, and show how they are solved using AspectJ syntax. Attendees will then have the opportunity to use Eclipse & AspectJ hands-on to solve some simple programming tasks.

Moving up from toy programs, the session will show how AspectJ interacts with the Spring framework to apply IoC (dependency injection) techniques in an AOP context.

Finally, attendees will be asked to identify further aspects that may not have been mentioned in the session to date.
 
Audience background:Java experience, basic familiarity with Eclipse IDE.
This is an introductory session: experienced AOP'ers may not find too much new content.
 
Benefits of participating:* Understand the sort of problems that AOP solves well
* See how AOP is realized using AspectJ syntax
* Gain experience in coding AspectJ using Eclipse
* Understand interaction between AOP and IoC.

Attendees should bring a laptop with Eclipse 3.x already installed.
 
Materials provided:Brief presentation materials
Code examples
Coding exercises
CDs containing software required
 
Process:00:00 - 00:10 - Introductions
00:10 - 00:40 - Overview of AOP and demonstration of simple AOP use case
00:40 - 01:10 - Installation of software and 1st basic exercise
01:10 - 01:20 -
01:20 - 01:40 - Presentation of second use case
01:40 - 02:20 - Exercise to implement second use case
02:20 - 02:30 -
02:30 - 02:50 - Presentation of third use case
02:50 - 03:30 - Exercise to implement third use case
03:30 - 03:40 -
03:40 - 04:00 - Presentation of fourth use case
04:00 - 04:40 - Exercise to implement fourth use case
04:40 - 04:50 -
04:50 - 05:10 - Discussion & Group Exercise: how to identify new aspects and identification of possible reusable aspects.
05:10 - 05:30 - Discussion on Viability: viability of technology, likely adoption problems impact on development process etc.

[Official end of workshop]
PostWorkshop - Spring demonstration/exercise for those interested (30/45 minutes)
 
Outputs:* Initial impressions of viability of technology from attendees.
* Thoughts on how the development process could be affected by adoption (if at all).
* Identification of likely suitable applications.
* Initial thoughts on likely adoption problems (and possible solutions).
* Suggestions for useful looking aspects: written up for SPA conference wiki.
 
History:None - this is a new session.
 
Presenters
1. Dan Haywood
Haywood Associates Ltd.
2. Eoin Woods
Zuhlke Engineering Ltd
3.