|| Home || Lectures || Seminars || Coaching || Contact || Links ||

aspect-oriented software development

After a decade of object-oriented programming, many software projects have encountered the limitations of object-orientation as the sole methodology.

The problem:

It is becoming obvious that it is not possible to map all requirements and concerns for a given problem domain onto a single class hierarchy. There are always concerns (aspects) that can only be described as a cut through a primary decomposition (class hierarchy). These crosscutting concerns cannot be directly implemented with programming languages such as Java™.

The solution:

As opposed to objects that encapsulate their properties entirely, the properties and behavior of aspects are scattered across many classes in classical Java™ code. Aspect-oriented programming offers the possibility of encapsulating these crosscutting concerns parallel to a class hierarchy and to modularize them as aspects.

The way:

Learn more about the possibilities of aspect-oriented development in presentations, trainings or project support.

"Through the Looking Glass", by Grady Booch (from the July 2001 issue of Software Development)

The first time I really grasped the wonderful power of object-oriented abstractions, I thought I'd seen the ultimate model on which all kinds of complex systems could be grown. . . However, I was wrong: There's something deeper, something that's truly beyond objects. Admittedly, this isn't a concept that's easy to explain, because I'm still so steeped in an object-oriented view of the world. However, just as a sailor can sense a changing sea, I note subtle signs that point to a marked transformation, a disruptive technology, on the horizon.

Top of page


Why choose aspect-oriented programming?

Have a look at the next level of Java™ development and learn today what will be state-of-the-art by tomorrow. This presentation is designed not only for Java™ developers, but also particularly for software architects and project managers who are familiar with the design and implementation problems of classical Java/OO programming and who want to learn how AOP can help them to see these problems (and their solutions) in a new light.

Presentation language: German or English

Introductory presentation at your premises:

Do you want to learn what aspect-oriented programming is and how AOP can help you improve your software design and how it eases the implementation of crosscutting concerns?

In this presentation, you will learn more about the basics of aspect-oriented development and why AOP will become the ideal supplementary for classical OOP.

Then you can decide if the use of AOP makes sense in your (Java) projects and if you want to book a training course in AspectJ.

Top of page


Introduction to the basics of AOP with AspectJ™

In this seminar, software architects and Java developers will learn the basics of aspect-oriented programming with AspectJ™. The emphasis is placed on enabling participants to use the newly learned concepts immediately in their current Java projects. (Development aspects are only used at the development stage of a software project and have no impact on the released productive version)

Seminar language: German or English

Basic seminar for aspect-oriented programming

This three-day seminar shows how the concepts of the aspect-oriented development in Java projects can be put to practice using AspectJ™. AspectJ has been developed as OpenSource at the XEROX Palo Alto Research Center and is the most common AOP language extension for Java™.

Please contact us for your seminar date, so that you can benefit from the advantages offered by AOP as soon as possible.

Top of page


Early Adopter Counseling

If you want to take advantage of aspect-oriented programming not only during the development stage, but also in the design of a new or existing application, project support throughout all stages (analysis, design and implementation) can help you to recognize problems at an early stage and to take the right (design) decisions. Since every Java™ program is also a valid AspectJ™ program, it is also possible to rework existing projects with the methodology of AOP.

Project language: German or English

Project support for you AOP familiarization project

Our project support can help you at all stages of your software development to get the most out of the possibilities offered by AOP:

Top of page



Gesellschaft für aspekt-orientierte

Software-Entwicklung m.b.H.

c/o confidas Treuhand AG

Gubelstrasse 5

CH-6301 ZUG


Phone: +41 76 547 7115


Your message:

Top of page


Interesting links about "aspect-oriented programming"

General: Information, discussions, conferences and many more useful AOP links

AOSE-SIG: Interest group for aspect-oriented software development

AOP-related concepts:

HyperJ: Method developed by IBM to synthesize Java™ classes from individual concerns / requirements in which they are involved.

ComposeJ: Java™-based Composition filter

Compiler and tools:

AspectJ™: the AOP compiler for Java™ as a stand-alone tool or with outstanding IDE integration (Eclipse, JBuilder, NetBeans). It was invented by the XEROX Palo Alto Research Center (just like the Ethernet, the GUI and the mouse).

Aspect Browser: A tool for analyzing existing Java™ source code and to identify aspects.

ThemeUML: Emerging UML support for AOP projects

AspectWorkz: AOP tool for Java™ without language extension. "Weaving" of aspects and classes through bytecode modifications at runtime.

Top of page