Milen is a Developer Advocate at Liferay and focuses on Java and OSGi Platform. He is passionate about designing and building software as well as helping others design and build good software! After more than 15 years developing, designing and consulting on various Java EE solutions for leading European companies, he currently spends most of his time teaching, speaking at conferences all over the world and researching his favorite topics around Java modularity, systems architecture and software craftsmanship.
Decomposing Java Applications
Most Java developers happily use libraries in their applications. Many developers split their own code into what they call modules. The benefits of that approach are obvious. But why is it that some libraries/modules are easier to use then others? Why most of us end up having a big ball of mud sooner or later? Why simply cutting things down into smaller pieces and calling them libraries, modules, microservices, … does not always help? In this talk we’ll go one abstraction level above and look at the process of composing a Java application from components. But what is more important, we’ll see how to decompose an application into reusable components.