Instrumentierungstechnologien in Java
Referierende:
Dr. David Georg Reichelt (Assistenzprofessor, Lancaster University Leipzig) / Homepage
Termin: Sonntag, 15:00 - Raum V3 - Dauer 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.
Erwünschte Vorkenntnisse: Grundkenntnisse in Java
Material zum Beitrag: Folien (4128 KiB), Material (1734 KiB)
https://media.ccc.de/v/clt25-348-instrumentierungstechnologien-in-java