Instrumentierungstechnologien in Java

David Georg Reichelt

Playlists: 'clt25' videos starting here / audio

Neben den Domänenanforderungen muss entwickelter Code oft bestimmte Anforderungen wie Logging, Sicherheit oder Applikationsmonitoring erfüllen. Diese Querschnittsaspekte sind mit herkömmlichen Implementierungsansätzen nicht sinnvoll zu bewältigen, da sie repetitive Implementierungen erfordern würden. Aus diesem Grund wurden Instrumentierungstechnologien in verschiedenen Sprachen – meist unter quelloffener Lizenz – entwickelt.
In diesem praxisorientierten Vortrag werden die Instrumentierungstechnologien AspectJ, ByteBuddy, DiSL und Javassist vorgestellt und mit händischer Instrumentierung des Quelltextes verglichen. Dabei wird erläutert, wie ein Projekt automatisiert um Logging erweitert werden kann. Hierbei wird sowohl die Implementierung für Buildzeitinstrumentierung als auch Kompilierzeitinstrumentierung vorgestellt. Abschließend wird ein Performancevergleich der Technologien präsentiert, um Einblicke in ihre Stärken und Schwächen zu geben.

Licensed to the public under http://creativecommons.org/licenses/by/4.0

Download

Embed

Share:

Tags