Insights from Spring I/O 2025
Why I chose this session
CERN has always fascinated me, not just for its groundbreaking physics, but also for the scale and complexity of its operations. When I saw a session about how they manage over 400,000 visitors a year, I knew it would be a unique blend of logistics, software, and smart engineering.
The challenge: scheduling at scale
CERN welcomes massive groups of visitors annually, from local school classes to international science enthusiasts. Each group has different interests and needs, and they often want to visit specific labs. This creates a dynamic scheduling puzzle with constantly evolving business rules.
Previously, this was handled manually by staff, but the complexity made it increasingly difficult to manage. The solution? A rule-based scheduling engine powered by Drools, integrated into a Spring-based application.
My top 3 takeaways
- Business rules can conflict, which leads to problems
Even with a rules engine, it’s easy to create conflicting rules. The team at CERN emphasized the importance of testing and validating rules to avoid contradictions and infinite loops. - Drools on the JVM: fast enough, flexible enough
While Drools isn’t the fastest engine out there, it runs efficiently on the JVM and integrates well with Spring. Compared to logic programming platforms like Prolog, it offers a good balance between performance and flexibility. - Rules can trigger code, and vice versa
One of the most powerful (and risky) features is that Drools rules can modify data, which can then trigger other rules. This cascading behavior is powerful for dynamic systems but requires careful design to avoid unintended consequences.
From inspiration to application
This session made me seriously consider using a business rules engine like Drools, especially if we can ensure low latency through preloading data and horizontal scaling.
The key insight? Drools allows you to evolve your business logic without rewriting your application. That’s a game-changer for systems where rules change frequently.
Final thoughts
This session was a great reminder that even in the age of AI, rule-based systems still have a vital role to play, especially when the rules are complex, dynamic, and business-critical.
Drools shows how powerful a business rules engine can be when integrated thoughtfully. Its ability to modify data during rule evaluation opens up new possibilities, but also demands careful design and testing. With the right guardrails, it becomes a flexible and scalable solution for real-world planning challenges.