Доклад: «Аспектно-ориентированное программирование в распределенных системах для java разработчиков и QA»

3d47358d8cf0406b8b0e033fe78486a5.jpg
Под катом — краткое описание доклада про аспектно-ориентированное программирование и применение 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 и отношения между героями напоминают крупный ИТ проект ;-)

Большое спасибо всем кто пришел послушать и подискутировать, спасибо Анастасии Улановой за организацию мероприятия, Константину Волкову за монтаж/видеосьемку и Технологическому Центру Дойче Банка за возможность собраться вместе в конференц зале. Дойче Банк и его технологический центр не несёт ответственности за содержание авторских материалов.

Интересно будет услышать комментарии по теме и рассказы про использование подобных технологий в ваших проектах, а также какие задачи вы хотели бы решить с помощью с помощью аспектно-ориентированного программирования.

© Habrahabr.ru