AOP - Aspektorientierte Programmierung in der Praxis. Konzepte und ihre Realisierung in Java

AOP - Aspektorientierte Programmierung in der Praxis. Konzepte und ihre Realisierung in Java

von: Lars Wunderlich

entwickler.press, 2006

ISBN: 9783935042741

Sprache: Deutsch

289 Seiten, Download: 16110 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

AOP - Aspektorientierte Programmierung in der Praxis. Konzepte und ihre Realisierung in Java



2 AOP-Frameworks in Java (S. 87-88)

Das nachfolgende Kapitel stellt einige bekannte Java-Produkte vor, die bei der Umsetzung aspektorientierter Softwareentwicklung behilflich sind. Zwei sehr bekannte Kandidaten werden wir in zahlreichen Beispielen im nächsten Kapitel beleuchten: JBoss AOP und AspectJ. Neben diesen beiden und ihrer Unterstützung in IBMs Eclipse IDE beschreibt das Kapitel kurz einige weitere Kandidaten. Der Schwerpunkt liegt jedoch auf einer vertieften Betrachtung der ersten beiden Produkte, da für sie eine recht gute IDE-Unterstützung und damit eine einfachere Einarbeitung gewährleistet scheint. Ohne Garantie auf Vollständigkeit versucht das Kapitel dabei, erste Anhaltspunkte für die Usability dieser Produkte und ihre Einbindung in moderne Entwicklungssysteme aufzuzeigen.

Ihre Berühmtheit erlangten AspectJ und JBoss AOP durch recht unterschiedliche Voraussetzungen. Auf der einen Seite steht die AspectJ-Crew, die den Begriff der aspektorientierten Programmierung formte und gleichzeitig inzwischen über Jahre hinweg – zuletzt in Kooperation mit IBMs IDE-Flagschiff – für die Java-Sprache wegweisende und innovative AOPLösungen entwickelte.

Auf der anderen Seite findet sich das JBoss-Unternehmen, das mit seinem Open Source Application Server und einer inzwischen immer größer werdenden, darum herumrankenden Produktpalette großen Einfluss im Enterprise- Segment von Java gewann. JBoss AOP ist derzeit noch eine der neuesten Entwicklungslinien bei JBoss, hat allerdings aufgrund seiner innovativen Nutzbarkeit und der guten Einbindung in den Application Server schnell an Bedeutung gewonnen.

Ein weiterer sehr wichtiger Produktname, den man im Kontext mit Java AOP nicht unerwähnt lassen darf, ist AspectWerkz. Die Entwicklermannschaften von AspectJ und AspectWerkz beschlossen vor einiger Zeit, ihre gemeinsamen Aktivitäten und Lösungsansätze zu koppeln und miteinander in Einklang zu bringen. So ist gut vorstellbar, dass sich in Zukunft die Menge der angebotenen AOP-Lösungen zugunsten eines, bezogen auf den Funktionsumfang, noch mächtigeren Tools verkleinern wird.

In der Reihe „AOP@work" findet sich im Internet1 ein interessanter Vergleich der verschiedenen Technologien und Produkte sowie ihrer daraus resultierenden Vor- und Nachteile. Ein Blick ist hier sicherlich undokumentiert empfehlenswert.

2.1 AspectJ

Bei AspectJ handelt es sich um eine Java-Spracherweiterung für AOP, die als Unterprojekt auf der Eclipse-Webseite2 zu finden ist. Das inzwischen gut zehn Jahre in Entwicklung befindliche Projekt startete in den Forschungslabors von Xerox Palo Alto und sein Sourcecode steht seit Version 1.1 unter Common Public License. Das Produkt ist somit kostenfrei herunterladbar. Neben dem Support für die Java-Sprache gibt es die Unterstützung für C (als AspectC), eine Erweiterung für .NET-Sprachen wie Visual Basic oder C# sind derzeit nicht Ziel des Projekts, aber denkbar.

Neben der inzwischen rund 10 MB umfassenden AspectJ-Version gibt es eine Reihe von Plugins für bekannte Entwicklungsumgebungen, darunter Erweiterungen für Eclipse (derzeit noch in Version 3.1), aber auch Suns Net- Beans3 oder Borlands Jbuilder4-Versionen. Weitere IDEs wie IDEA/IntelliJ oder Oracles JDeveloper werden teilweise durch zusätzliche, separate Produkte ebenfalls bereits mit AspectJ kombinierbar gemacht.

Des Weiteren kann das Einweben von Aspekten in bestehenden und fremden Sourcecode über entsprechende Ant-Tasks in den Buildprozess integriert werden.

Die AspectJ-Technologien bestehen aus zwei Hauptteilen, zum einen der aspektorientierten Sprachspezifikation, zum anderen aus einer Reihe von Tools, einem Compiler (ajc), einem Debugger (ajdb), einem Programmstrukturbrowser (ajbrowser) und einem Dokumentationsgenerator (ajdoc).

Kategorien

Service

Info/Kontakt