02.02.2014 Aufrufe

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Zugriffskontrollverfahren und AOP<br />

Implementierung durchzuhalten, Redundanz und Inkonsistenzen zu verhindern sowie<br />

die Verständlichkeit zu erhöhen.<br />

Der Aspekt <strong>Zugriffskontrolle</strong> wird somit integraler Bestandteil aller Anwendungsklassen.<br />

Dass dabei die Objektgrenzen aufgehoben werden, damit Aspekte unabhängig<br />

von der öffentlichen Schnittstelle auf Objekte zugreifen können, stellt keine Verletzung<br />

der Schnittstellen dar, da der Aspekt nun zu einem festen Bestandteil des Objektes<br />

geworden ist (vgl. [Dom01]).<br />

Aspekte können eingesetzt werden, wenn man mehrere Klassen hat, zu der eine<br />

gemeinsame Funktionalität hinzugefügt werden soll. Des Weiteren ermöglichen<br />

Aspekte das Hinzufügen und Entfernen von Features <strong>einer</strong> Klasse zur Übersetzungszeit.<br />

Auf diese Weise können Benutzer wählen, welche Features sie wollen.<br />

3.3.3 Dynamische und Statische Querverbindungen<br />

Der Programmierer kann in Aspekten dynamische Querverbindungen (engl. dynamic<br />

cross cutting) zu bestimmten Punkten im Ablauf eines Anwendungsprogramms<br />

festlegen. An einem solchen Punkt (engl. join point) kann er dann den gewünschten<br />

zusätzlichen Programmcode einfügen. Ein Join Point kann z.B. ein Punkt in einem<br />

Objekt sein, an dem eine Methode aufgerufen oder ein Feld des Objektes referenziert<br />

wird.<br />

Zusätzlich ermöglicht aspektorientierte Programmierung auch die Definition von<br />

statischen Querverbindungen. So lässt sich eine Klasse um zusätzliche Methoden und<br />

Felder erweitern. Beispielsweise kann man hiermit ein Feld für die Identifikation des<br />

Objektes einfügen, das von den dynamischen Querverbindungen genutzt werden kann.<br />

Außerdem können auch Vererbungsbeziehungen zwischen Klassen verändert werden.<br />

3.3.4 Die Software AspectJ TM<br />

Für die Erstellung von AOP Software gibt es diverse Werkzeuge, wie AspectJ TM (vgl.<br />

[Asp02]). AspectJ TM erweitert Java um einige neue Schlüsselwörter und um einen<br />

Übersetzer „ajc“, der anhand der neuen Schlüsselwörter die Aspekte in die<br />

Objektklassen einfügt. Hiermit lassen sich Aspekte in Form von Java-Klassen<br />

realisieren (vgl. [Asp02] Anhang A).<br />

Die wichtigsten Bestandteile von AspectJ TM (vgl. [KHH01] und [Asp02]) sind:<br />

30

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!