From monolith to modules - breaking apart a one size fits all product into modules
Adobe Experience Manager as the biggest enterprise application built on the Apache Sling stack over the years was built with a monolithic product perspective. Taming the growth over time and tackling upcoming challenges led to a situation were a transition towards a modular product, where large features can be gracefully removed at runtime, becomes unavoidable.
With this talk we want to provide insights on how Adobe uses the available technologies in the stack, extends the stack and transforms the own practices to cut the product in loosely coupled modules with minimal impact on existing consumers. We will be identifying patterns on OSGi, content and scripting side to eliminate and prevent hard wiring and highlight pending challenges and our thoughts on how to resolve that. Last but not least we will share our experience on how such a transition impacts our engineering flow and quality assurance practices.