Training Modular Software Development using OSGi


Java is an awesome platform and probably the best choice for any kind of enterprise (web) application today. But how do you design a system that can evolve for many years in production? And how do we run such systems in the cloud?

This course teaches you how to benefit from a modular programming model meanwhile dealing with these complex issues. It wil present a practical and proven solution for building modular Java Enterprise applications that can be deployed into a (public / private) cloud. We will not only focus on technical features, but also on architectural aspects like non-functional requirement, dependency management, design considerations and testability.


  • Course introduction modular software development: Why modularity is important, Runtime modularity  introduction
  • OSGi Basics: Creating Bundles, Imports / exports, Activators, Bundle Lifecycle, Services (by hand), Services with Felix Dependency Manager, Running a Framework, The Gogo Shell, Service Dynamics, Bundle Projects vs Sub-Bundles, Dynamic Classloading and Dynamic Imports
  • Advanced OSGi Usage and Patterns: Managed Services, Managed Service Factory, IntegrationTesting, Whiteboard Pattern, Aspect Pattern, Extender Pattern, Event Admin
  • Web Application Architecture: Reference architectuur, HTTP Service, RESTful Web Services, RESTful API Design Considerations, HTML/JS Clients
  • Polyglot Persistence Strategies: JDBC, JPA, MongoDB
  • Deployment and Provisioning: Dependency Management and Semantic Versioning, Releasing Bundles, Apache ACE, Web Console

Each participant receives a copy of the book Building Modular Cloud Apps with OSGi. Written by Bert  Ertman and Paul Bakker. Published by O’Reilly Media.

Target group

Software developers and architects and anyone who wants to know more about Modular Java Development using OSGi.


  • Participants are expected to have a firm understanding of the Java programming language
  • Participants have to bring a laptop with at least Eclipse development environment with you. If you don’t have a laptop, no problem, we’ll take care of this. Just let us know.
  • Before the start of the training, the payment due to be paid.