Instrumentierungstechnologien in Java
Speakers:
Dr. David Georg Reichelt (Assistenzprofessor, Lancaster University Leipzig) / Homepage
Scheduled time: Sunday, 15:00 - Room V3 - Duration 60 Min.
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.
Desired previous knowledge: Grundkenntnisse in Java
Supplemental material: Slides (4128 KiB), Material (1734 KiB)
https://media.ccc.de/v/clt25-348-instrumentierungstechnologien-in-java