Looking Back

Past Events

A look at the talks, workshops, and meetups we've hosted with the EuregJUG community.

Event Sourcing and the End of DDD Tactical Patterns?

Ted M. Young

You finally have a Domain Model that represents the business and supports the functionality of the system. Then the hard part: how do you persist that model to a database? Maybe you're a purist (like me), mapping domain objects to separate database entities. or you directly annotate your domain objects, but have to compromise the domain model to fit the way databases store information. Event sourcing avoids this problem while providing flexible transactional (consistency) boundaries. Instead of mapping object state to tables, you store a sequence of events that led up to the current state: "Concert Scheduled", "Tickets Purchased", etc. Each event is added to an append-only log, making writes almost trivial, with "projections" making custom-fit views straightforward. However, event sourcing requires a mind-shift from the well-known CRUD and DDD Tactical Patterns (Aggregates and Repositories), but the benefits are more flexible systems, with a less "leaky" way to externalize the state of your domain model that is easier to apply across the domain. In this talk, you'll learn how event-sourcing works at the code level without event-sourcing libraries getting in the way of deeper understanding. We'll walk through a codebase for a Concert Ticketing system and see how straightforward the implementation can be. We start with "Event Modeling" the system, defining the commands (user actions) that generate them, the aggregates that make business decisions (and how to move to "deciders"), and the projections used to generate the user interface. We'll see how event-sourcing makes testing easier to write and understand. We'll end by touching on the challenges to using event-sourcing, such as performance and schema evolution.

08.09.2026 at 06:30 PM
Inform GmbH, Pascalstr. 51, Aachen

Building production-ready AI Agents with Spring AI, Embabel and Amazon Bedrock AgentCore

Vadym Kazulkin

Amazon Bedrock AgentCore enables us to deploy and operate highly capable AI agents securely, at scale. It offers infrastructure purpose-built for dynamic agent workloads, powerful tools to enhance agents, and essential controls for real-world deployment. In this talk, we'll dive deep into various aspects of how to implement an AI Agent in Java using Spring AI, including using the MCP Streamable HTTP Client to talk to the MCP Server with exposed tools. Then, we'll look at the Embabel framework for authoring agentic flows on the JVM that supports intelligent path finding towards goals and cover its benefits. We'll host our agent on Amazon Bedrock AgentCore Runtime and look at other AgentCore features like Observability (in standardized OpenTelemetry compatible format), Gateway (to securely connect to MCP-compatible tools), short and long-term Memory, and Identity. Finally, we'll look at the spring-ai-agentcore project, which provides various integrations between Spring AI and Bedrock AgentCore.

24.06.2026
TBD

Beyond Senior Java Dev: the next steps for the technical career

Bruno Souza

You worked hard, learned a lot of technologies, and built your experience with challenging projects. You reached an enviable position in your company and team. Congrats, you are an accomplished Senior Java Dev! Now what? What are the next steps? Many companies often pressure developers to take on management roles. It could be a path, if this is what you want. But there are alternatives! This talk will discuss the 5 paths for developers to grow beyond senior levels. Specially for devs like you that want to keep focusing on the tech side. What are your opportunities, and what are the challenges you will face? Come see how it is possible to focus on the technical side! Learn to build a fulfilling career and grow to the highest levels in your career. All while you keep loving your work!

02.06.2026 at 06:30 PM
Pascalstraße 51, Inform GmbH

Maven - The Hidden Gems

Sandra Parsick

Du hast Schwierigkeiten, Edge Cases in deinem Maven-Build zu implementieren, z. B. weil dir der Maven-Lebenszyklus zu streng ist oder du eine Build-Logik benötigen, die von den vorhandenen Maven-Plugins und -Erweiterungen nicht abgedeckt wird. Dieser Vortrag zeigt, welche Möglichkeiten du in Maven außerhalb des Happy Path hast. Er erläutert, wie externe Anwendungen und Skripte ausgeführt werden können und diskutiert, wann es sinnvoll ist, ein eigenes Maven-Plugin zu schreiben, und was dabei zu beachten ist. Außerdem zeigt er, wie du den Maven-Lebenszyklus mit Maven-Extension anpassen kannst.

28.05.2026 at 06:30 PM
SOPTIM AG, Im Süsterfeld 5-7

Escape the Framework Prison: Rediscovering What Your Browser Can Actually Do

Kai Ito

Tired of the massive mountain of complexity that React, Vue, and Angular force you to climb? Join me in rediscovering the powerful innovations browser vendors have been quietly building while we've been busy learning framework after framework. This is a (re)introduction to the standard browser features you've either forgotten about or never knew existed. Capabilities that have been hiding in plain sight while SPA frameworks took over frontend development. I'm here to show you that none of that complexity is necessary to build responsive, user-friendly, and incredible websites. Let's return to the web's roots and build better, faster, simpler sites. Improve both your users' experience, but also your own developer experience.

29.04.2026 at 06:30 PM
Inform GmbH, Pascalstr. 51, Aachen

Predictive Test Execution for Large‑Scale Spring Boot Projects

Leon Zimmermann

Long‑running tests are a common pain point in large codebases, draining developer focus, slowing feedback loops, and hindering rapid learning. While many established strategies exist to cut test times in small projects, they rarely suffice for enterprise‑grade Spring Boot applications. This talk will first revisit the fundamentals of test‑runtime optimization to set a shared baseline, then dive into advanced, predictive test‑execution techniques that scale. We’ll explore three key approaches—git‑diff‑based, dependency‑graph‑based, and machine‑learning‑based execution—to identify only the tests that need running. Participants will learn how to evaluate existing tools, weigh their trade‑offs, and decide which strategy fits their workflow. Practical guidance will cover integration into local development and CI pipelines, enabling teams to dramatically reduce test times and elevate developer productivity and satisfaction.

18.03.2026 at 06:30 PM
Inform GmbH, Pascalstr. 51, Aachen