Deutsch (DE-CH-AT)English (EN)Francais (Fr)

Lesenswert: Artikelserie "AOP@Work" bei IBM gestartet

ibm-logo developworks

Auf IBMs „developerWorks“ Website hat eine neue Artikelserie zum Thema AOP begonnen. Sie richtet sich an Entwickler mit AOP-Hintergrund, die ihr Wissen vertiefen wollen. Den Anfang machen zwei aufeinander aufbauende Artikel des AOP-Gurus Mik Kersten.

In der Rubrik „Java Technology“ der bekannten „developerWorks“ Website von IBM ist gerade die neue Artikelserie „AOP@Work“gestartet worden. Ihr Schwerpunkt liegt auf dem praktischen Einsatz derzeit verfügbarer AOP-Techniken. Zwei Artikel von Mik Kersten sind bereits erschienen. Mik hat sich in der AOP-Szene als Entwickler einer IDE-Unterstützung für AspectJ einen Namen gemacht. In beiden Artikeln widmet er sich einem umfassenden Vergleich der vier derzeit ausgereiftesten AOP-Werkzeuge: AspectJ, AspectWerkz, JBoss AOP und Spring AOP.

"While there are major syntactic differences among the tools' aspect declaration style, the core AOP semantics are similar. Each tool has the exact same notion of a join point model, treating join points as principled points in a Java program, pointcuts as a mechanism for matching join points, and advice as a mechanism for specifying what to execute when a pointcut is matched."
(M. Kersten, im Artikel „AOP tools comparison, Part 1“)

Die Auswahl der vier Werkzeuge gründet sich auf eine Statistik der Zugriffe auf User-Listen und -Foren der verschiedenen Werkzeuge. Eine konstant hohe Zahl wird als Indikator für eine gewisse Produktreife gewertet. Mik, der selbst an der Entwicklung von AspectJ beteiligt ist, bemüht sich um Objektivität. Dies fällt um so leichter, da eine Fusion der Projekte AspectJ und AspectWerkz geplant ist. Nichtsdestotrotz – die Analyse ist absolut lesenswert. Ein Hauptergebnis ist eine zunehmende Konvergenz der besprochenen Werkzeuge auf konzeptioneller Ebene. Es bildet sich ein Kanon an Konzepten heraus, die in der Fachwelt allgemein mit AOP in Verbindung gebracht werden.

"All of the tools are maturing at a fast pace, and many of the trade-offs discussed here are being addressed by current implementation efforts. What is even more interesting is that the strengths of some approaches are percolating out to others. For example, the crosscutting views that were once particular to AspectJ are now offered by JBoss AOP and could soon be offered by the other tools, as well."
(M. Kersten, im Artikel „AOP tools comparison, Part 2")

Während der erste Artikel die Sprachmechanismen der vier Technologien gegenüberstellt, behandelt der zweite ihre Integration bzw. Integrierbarkeit in Entwicklungsumgebungen. Dies sei vor 10 Jahren kein Thema gewesen, heute aber entscheidungsrelevant.

Interessant ist, nebenbei, Miks Einschätzung der Bedeutung der Performance für künftige Programmiertechniken. Herb Sutter (s. erste Newsletter-Meldung) sieht diesen Punkt sicher anders:

"In the long term, performance should become a nonissue. Just as developers do not worry about the overhead of a virtual method dispatch, they will not worry about the invocation overhead of advice. This is true to a large extent now, and will get even better as weavers improve and become more tightly integrated with JITs and VMs."
(M. Kersten, im Artikel „AOP tools comparison, Part 2")

Auch der zweite Artikel kommt bzgl. der Konvergenz der Werkzeuge zu derselben Schlussfolgerung: Selbst bei der Integration in IDEs gibt es eine wachsende Menge an Gemeinsamkeiten der Werkzeuge. Diese Erkenntnis, bezogen auf Konzepte sowie die Frage der IDE-Integration, zeugt von einer wachsenden Reife des gesamten Bereichs „Aspect-Oriented Programming“. Die einst exotische Technik ist auf dem besten Weg, Mainstream zu werden.

Die beiden Artikel von Mik Kersten finden Sie unter:
http://www.ibm.com/developerworks/java/library/j-aopwork1
http://www.ibm.com/developerworks/java/library/j-aopwork2

 
Weitere Infos
Newsletter
Quotes
„Mit SCORE Adaptive Bridges lassen sich 'Brücken bauen' zwischen alter und neuer Welt – ohne technische Detailkenntnisse über die Middleware und die Portalumgebung."
Gerd Dietrich, Leiter Anwendungsentwicklung, Schorch

SCHORCH Fallstudie

Bookmark and Share