Introduction
Some weeks ago a client approached us because he wanted some assistance with his IT infrastructure. The client has many systems that interact with each other and are quite tightly coupled. Due to some upcoming changes in their business, the time had come to start thinking about how to improve their architecture. One of the goals of the project was that they wanted the ability to decouple the systems so that they could change systems independently of each other. Our solution ended up being a really powerful combination of Apache Camel and Scala.

If you are hired as an architect on a project that is not running quite as smooth as it should, there are two things you can do.
Often we have design discussions that end up in ‘what if’ debates. We must design it in a way that… because ‘what if…’.