Доклад: «Аспектно-ориентированное программирование в распределенных системах для java разработчиков и QA»
Под катом — краткое описание доклада про аспектно-ориентированное программирование и применение AspectJ-scripting, а также ссылки на материалы по теме и видеозапись выступления.
Обсудим проблемы, которые возникают в распределенном приложении при его модификации и тестировании. Рассмотрим существующие open source проекты, позволяющие выполнять практические задачи с помощью АОП.
Примеры на хабре по теме доклада:
В докладе слушатели узнают про использование AspectJ Scripting для модификации существующего java приложения без его перекомпиляции и пересборки.
Основные преимущества:
- написание аспектов только за счет конфигурации агента на java подобном языке MVEL;
- использовании в скриптах любых классов и ресурсов из maven репозитариев с их динамической загрузкой во время выполнения;
- возможность загрузки конфигурации агента при старте jvm как с файловой системы, так и с веб сервера;
- сочетание jvm агента AspectJ и привычного синтаксиса pointcut выражений упрощают изучение: существует подробная официальная документация AspectJ и публикации в интернет;
- open source — наличие исходного кода на github и сборки агента на central.maven.org;
Область применения jvm агента — микросервисы и приложения для jvm(в том числе и распределенные). AspectJ Scripting позволяет собирать метрики приложения и jvm, выполнять трассировку распределенного приложения, делать дампы запросов/ответов, изменять поведение существующего приложения.
Часть доклада посвещена примеру практического использования технологии.
Прозвучит информация, которая будет полезна QA для интеграционного и приемочного тестирования в автотестах: логирование параметров JDBC запросов в приложении, замедление выполнения запросов базы данных, эмуляция ошибок и таймаутов в драйвере базы данных.
Расскажу про ограничения существующей реализации и roadmap проекта
Слайды доклада можете на slideshare
Рекомендую мультфильм Elephants Dream, который также имеет непосредственное отношение к open source и помог с кадрами для презентации. Атмосфера Elephants Dream и отношения между героями напоминают крупный ИТ проект ;-)
Большое спасибо всем кто пришел послушать и подискутировать, спасибо Анастасии Улановой за организацию мероприятия, Константину Волкову за монтаж/видеосьемку и Технологическому Центру Дойче Банка за возможность собраться вместе в конференц зале. Дойче Банк и его технологический центр не несёт ответственности за содержание авторских материалов.
Интересно будет услышать комментарии по теме и рассказы про использование подобных технологий в ваших проектах, а также какие задачи вы хотели бы решить с помощью с помощью аспектно-ориентированного программирования.