Report: "Aspect-oriented programming in distributed systems for java developers and QA"
Under the cut - a brief description of the report about aspect-oriented programming and the use of AspectJ-scripting, as well as links to materials on the topic and video recording of the speech.
We will discuss the problems that arise in a distributed application during its modification and testing. Consider existing open source projects that allow you to perform practical tasks using AOP.
')
In the report, students will learn about using AspectJ Scripting to modify an existing java application without recompiling and rebuilding it. Main advantages:
writing aspects only by configuring an agent in java in a similar MVEL language;
use of any classes and resources from maven repositories in scripts with their dynamic loading at runtime;
the ability to load the agent configuration at jvm start both from the file system and from the web server;
The combination of the AspectJ jvm agent and the usual pointcut expressions syntax makes it easy to learn: there are detailed AspectJ official documentation and publications on the Internet;
The scope of the jvm agent is microservices and applications for jvm (including distributed ones). AspectJ Scripting allows you to collect application and jvm metrics, trace a distributed application, dump requests / responses, change the behavior of an existing application. Part of the report is devoted to the example of the practical use of technology.
You will hear information that will be useful for QA for integration and acceptance testing in auto tests: logging JDBC parameters of requests in the application, slowing down the execution of database queries, emulating errors and timeouts in the database driver.
I'll tell you about the limitations of the existing implementation and roadmap project
I recommend the cartoon Elephants Dream , which is also directly related to open source and helped with the frames for the presentation. The atmosphere of Elephants Dream and the relationship between the characters resemble a large IT project ;-)
Many thanks to all who came to listen and discuss , thanks to Anastasia Ulanova for organizing the event, Konstantin Volkov for editing / video filming and Deutsche Bank Technology Center for the opportunity to get together in the conference hall. Deutsche Bank and its technology center are not responsible for the content of copyright materials.
It will be interesting to hear comments on the topic and stories about the use of similar technologies in your projects, as well as what tasks you would like to solve with the help of aspect-oriented programming.