Methodologies & Tools
Friday, 20. May 2016., 09:55
In this presentation we will explore the case of developing an Api Management service and the approaches taken to construct it as an extensible plug-in system supporting the entire development cycle. We will start by considering the use case of exposing a public API from multiple internal services managed by different teams and the challenges that arise. The path to our solution will take us through the integration of various development tools, such as git and maven, inside a run-time environment. We will check out why and how to entwine a JVM language such as groovy inside a Java service to get the required dynamic behavior. From there we will continue to inspecting Java's class loaders and the ways in which multiple class loaders can be composed to make for a clean separation of the plugged-in components. The result of employing all these approaches together will be a service capable of loading and reloading user defined pluggable components at runtime. Components, whose development will be supported by the same development tools mentioned before, but this time serving their primary purpose. Namely, providing a seamless development experience and supporting best practices such as TDD and CI.