Standardizing solutions within a company is hard. Companies usually end-up creating internal libraries and frameworks to deal with it. That’s when new problems arise: rigid designs, solutions that offer a subset of the features technologies they are wrapping provide, lack of documentation, etc.
In this session, we’ll talk about the reasons why we developed our own internal framework at Travix, on top of Spring Boot. We’ll share the problems that came along with the original design and why we rewrote it from scratch, so it became non-intrusive and transparent for developers. We will show how we can achieve production-readiness (custom logging, serialization, metrics, error-handling…) using several Spring mechanisms without compromising services code. BeanPostprocessor, AutoConfiguration, Filters and Interceptors are just some of the concepts that we’ll cover, explaining how they behave and in which cases we are using them.
Not only that, but we will also demonstrate how we allow different applications to customize default behaviours, given their specific requirements. The final result is a dependency that we can add to our projects, transforming them out-of-the-box into production-ready services.