Mini-Proceedings of the Master Seminar
Advanced Software Engineering Topics:
Aspect Oriented Programming
Summer Semester 2006
Editors
Dr. Patrik Fuhrer and Prof. Jacques Pasquier
Organized by the
Software Engineering Group
Department of Informatics
University of Fribourg (Switzerland)
Foreword
Every summer semester, the Software Engineering Group of the University of Fribourg proposes a
seminar to his master level students on a chosen “advanced software engineering” topic. The 2006
edition of the seminar is devoted to Aspect Oriented Programming (AOP).
In object-oriented programming (OOP), one usually captures the main concerns of a problem
(e.g. for a banking application, money withdrawal at an ATM, funds transfer,...) and then encapsulates
them into classes. The problem is that some “accessory”, non-business operations are needed (i.e.
logging, authentication, caching, transactions,...). These operations are shared by several classes of a
system, and each of them has to code their firing.
The main idea behind AOP is to consider these operations as crosscutting aspects and to group
them into separate modules, which are automatically called by the system. This new approach
helps building clean software architectures and completes the toolbox of software engineers, already
containing design patterns, frameworks, refactoring, unit testing,... AOP is particularly well suited
for implementing middleware frameworks which are typically responsible for these crosscutting
concerns. Indeed, the additional functionnalities can be transparently injected (or weaved) at com-
pile, load or run time into the core business code which (at the source level) remains clean and unchanged.
The goal of this seminar is to familiarize its participants to this new AOP paradigm, to its ad-
vantages through examples and to its possible implementations. To achieve this goal, the book AspectJ
in Action - Practical Aspect-Oriented Programming by Ramnivas Laddad is a very good starting point.
Thus the main part of the seminar focuses on AspectJ, but the last presentation introduces two other
main AOP frameworks, Spring AOP and JBoss AOP, and compares them with AspectJ.
The participants did a great job learning this new exciting technology. They also spent a fair
amount of time programming and debugging their own AOP example applications, which they formally
presented and explained to their colleagues. We are thankful for their efforts and hope they will consider
using AOP in their future software development projects.
Patrik Fuhrer and Jacques Pasquier
iii
iv
Table of Contents
Foreword ................................................ iii
Implementing Thread Safety
byLawrenceMichel ........................................ 1
Authentication and Authorization
byPascalBruegger......................................... 21
Transaction Management
byLorenzoClementi ........................................ 37
Implementing Business Rules Using Aspect Oriented Programming
byDominiqueGuinard ....................................... 53
AOP Tools Comparison
by Fabrice Bodmer and Timoth´ee Maret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Program.................................................107
Participants...............................................109
v
1 / 116 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !