Aspektorientierte Programmierung (AOP) ist ein Ansatz, Funktionalitäten zu kapseln, die an vielen Stellen einer Anwendung auftreten. Für die Programmierung dieser sogenannten Crosscutting Concerns sind mehrere Implementierungen auf den Markt gekommen, welche sehr unterschiedliche Ansätze verfolgen. Bis jetzt wird AOP jedoch in realen Projekten noch nicht sehr häug eingesetzt. Diese Masterarbeit verfolgt das Ziel, ein Framework zu entwickeln, um AOP für die Messpunktsetzung in bereits laufenden Anwendungen zu verwenden. Um eine Aussage treffen zu können, ob AOP dafür eingesetzt werden kann, sind folgende Punkte zu klären:
1. Ist AOP ein guter Ansatz, mit dem existierende Anwendungen mit geringem Aufwand instrumentiert werden können?
2. Welche der existierenden AOP-Ansätze ist am besten für diesen Zweck geeignet?
Unter dem Namen PerfLoad ist ein Lasttest-Framework entworfen und implementiert worden, welches man einfach, flexibel und zentral konfigurieren kann. Es bietet eine Managementkonsole, mit der die Lasttests gestartet, verwaltet und die Ergebnisse ausgewertet werden können. Für die Messpunktsetzung verwendet PerfLoad AOP. Es wurde damit untersucht, welcher der AOP-Ansätze am Besten geeignet ist, um Anwendungen gezielt instrumentieren zu können.
Inhaltsverzeichnis
- Einleitung
- Der Lebenszyklus einer Anwendung
- Ziel dieser Arbeit
- Übersicht
- Profiling-Methoden
- Aspektorientierte Programmierung
- Framework PerfLoad
- PerfLoad und AOP
- Profiling-Methoden
- Übersicht existierender Systeme
- JMX ..
- JVM Interfaces
- Bytecode Modifikation
- Aspektorientierte Programmierung
- AspectJ
- Aspect Werkz
- JBoss AOP
- Weitere Ansätze
- Zusammenfassung
- Das Lasttest-Framework PerfLoad
- Vorhandene Lasttest-Frameworks
- Grundstruktur von PerfLoad
- Komponenten von PerfLoad
- Testerstellung
- Auswertung der Testergebnisse
- AOP für Profiling
- Zusammenarbeit der Aspekte mit PerfLoad
- Kollektor-Prozess
- Managementkonsole
- EJB-Aspekt
- Web-Aspekt
- Performancevergleich
- Manuelle Codierung vs. AspectJ
- AspectJ vs. Aspect Werkz
- Zusammenfassung
- Konfiguration
- AspectJ
- Aspect Werkz Offline
- Aspect Werkz Online
- Zusammenfassung
- Fazit
Zielsetzung und Themenschwerpunkte
Diese Masterarbeit befasst sich mit dem Entwurf und der Implementierung eines Frameworks zur Profilerstellung und Performancemessung von Anwendungen unter Einsatz aspektorientierter Programmierung. Das Framework soll es ermöglichen, die Performance von Anwendungen effizient und systematisch zu analysieren, ohne den Quellcode der Anwendung selbst zu verändern.
- Entwicklung eines Frameworks für Profiling- und Performancemessungen
- Einsatz aspektorientierter Programmierung (AOP)
- Integration von AOP-Technologien in bestehende Frameworks
- Vergleich verschiedener AOP-Ansätze und ihrer Performance
- Entwicklung einer benutzerfreundlichen Managementkonsole für die Steuerung und Analyse von Performance-Daten
Zusammenfassung der Kapitel
- Kapitel 1: Einleitung: Die Einleitung präsentiert den Kontext und die Motivation der Arbeit. Sie beleuchtet den Lebenszyklus einer Anwendung und definiert das Ziel dieser Arbeit.
- Kapitel 2: Übersicht: Dieses Kapitel bietet einen Überblick über die relevanten Themengebiete, darunter Profiling-Methoden, aspektorientierte Programmierung und das entwickelte Framework PerfLoad. Es werden die wichtigsten Konzepte und deren Zusammenhänge vorgestellt.
- Kapitel 3: Profiling-Methoden: Dieses Kapitel untersucht verschiedene Profiling-Methoden und analysiert ihre Vor- und Nachteile. Es beleuchtet existierende Systeme wie JMX, JVM-Interfaces und Bytecode-Modifikation.
- Kapitel 4: Aspektorientierte Programmierung: Dieses Kapitel stellt verschiedene AOP-Ansätze vor, darunter AspectJ, Aspect Werkz, JBoss AOP und andere. Es analysiert die Funktionsweise und die Möglichkeiten dieser Technologien.
- Kapitel 5: Das Lasttest-Framework PerfLoad: Dieses Kapitel beschreibt das entwickelte Framework PerfLoad, das auf aspektorientierter Programmierung basiert. Es stellt die Grundstruktur, Komponenten und Funktionsweise des Frameworks vor.
- Kapitel 6: AOP für Profiling: Dieses Kapitel zeigt, wie AOP im Rahmen des PerfLoad-Frameworks zur Profilerstellung eingesetzt wird. Es beschreibt die Zusammenarbeit der Aspekte mit PerfLoad, den Kollektor-Prozess, die Managementkonsole und die Implementierung spezifischer Aspekte für EJBs und Web-Anwendungen.
- Kapitel 7: Performancevergleich: Dieses Kapitel vergleicht die Performance des Frameworks bei verschiedenen AOP-Ansätzen. Es analysiert die Unterschiede zwischen manueller Codierung und AspectJ sowie zwischen AspectJ und Aspect Werkz.
- Kapitel 8: Konfiguration: Dieses Kapitel beschreibt die Konfiguration des PerfLoad-Frameworks. Es erläutert den Konfigurationsablauf für AspectJ, Aspect Werkz Offline und Aspect Werkz Online.
Schlüsselwörter
Aspektorientierte Programmierung, Profiling, Performancemessung, Framework, Lasttest, AOP, AspectJ, Aspect Werkz, JMX, JVMPI, Bytecode-Modifikation, PerfLoad, Managementkonsole, Kollektor-Prozess, EJB-Aspekt, Web-Aspekt
- Citar trabajo
- Michael Dempfle (Autor), 2004, Entwurf und Implementierung eines Frameworks für Profiling- und Performancemessungen mit Hilfe von aspektorientierter Programmierung (AOP), Múnich, GRIN Verlag, https://www.grin.com/document/31579