|
|
Eigene Aspekte in EJB
Das primaere Ziel serverseitiger Komponentenarchitekturen wie EJB ist die
Herausfaktorisierung technischer Belange aus Anwendungscode. Der Container
kuemmert sich um die technischen Belange, der Entwickler schreibt Komponenten in deren
Implementierung er sich nicht um die technischen Aspekte kuemmern muss. Er muss den
Container lediglich steuern (mittels des Deployment Descriptors). Wenn man
Komponenteninfrastrukturen unter diesem Licht betrachtet sind sie eine Form der
Aspektorientierung. AOP hat zum Ziel querliegende Belange (crosscutting concerns) aus
einem System herauszuziehen und in einem Aspekt zu lokalisieren. Dies erlaubt ein
leichteres Verstaendnis des Programms und erlaubt des weiteren, bestimmte Aspekte „einoder
auszuschalten“. Außerdem foerdert diese Art von Vorgehen die
Wiederverwendbarkeit: Kernlogik und Aspekte koennen (bei gutem Design) separat
wiederverwendet werden. Der offensichtliche Nachteil von EJB wenn man es als AOP
Framework betrachtet ist, daß die Anzahl und Art der Concerns auf die von der EJB
Spezifikation beschriebenen (Persistenz, Transaktionen, Security, ...) beschraenkt ist.
Der vorliegende Artikel erlaeutert, wie man sich ein einfaches Framework bauen kann,
welches es erlaubt, bei Beans beliebige Aspekte an bestimmten Stellen (Joinpoints)
einzunklinken.
|