OSGi Framework I. (OSGI1)

Programming, Java, Spring

This course introduces Java developers to the OSGi framework, covering its core concepts and runtime behavior. You will learn the principles of modularity, how bundles interact and how services enable dynamic composition of applications.

The course assumes advanced knowledge of Java and basic multithreading, and offers hands-on practice with lifecycle, configuration and service patterns. Web topics include HTTP whiteboard and integration with Servlet APIs for real apps.

THIS TRAINING COURSE WILL HELP YOU:

  • Implement modular OSGi applications using bundles and services.
  • Manage bundle lifecycle and service dynamics at runtime.
  • Apply semantic versioning and modular classloading concepts.
  • Use Declarative Services, Blueprint and tracker patterns.
  • Integrate web support with HTTP whiteboard and Servlet APIs.

WHO SHOULD ATTEND?

  • Java developers building modular server applications.
  • Engineers familiar with Java multithreading.
  • Architects evaluating modular Java frameworks.

COURSE LOCATION AND AVAILABLE DATES



Public courses are usually delivered in Czech, but this course is also available in English. We can arrange private training for your team online, at your premises or in our classrooms, and tailor the content to your needs.

For groups of around 4 or more participants, private training can already be comparable in price to booking individual places on a public course. Send us your requirements and we’ll recommend the best format and provide an exact quote.

Request training in English

Course content:

Hide details
  • Characteristics of the OSGi framework
    1. Issues in modularity and service-oriented design
    2. Semantic versioning
    3. History, philosophy and roots of OSGi
    4. Comparison with other frameworks (JEE/Spring, Jigsaw)
  • OSGi framework architecture
    1. Key terms and definitions
    2. Overview of layers and their interactions
  • Modular layer
    1. Bundle and its structure
    2. Wiring: importing/exporting packages and versioning
    3. Class loading in general and OSGi class loading architecture
    4. Fragment bundles
  • Lifecycle and its management
    1. Starting a framework instance, embedding
    2. Bundle lifecycle
    3. Bundle and BundleContext interfaces
    4. System events
  • Service support
    1. Service concept and registration
    2. Service lifecycle
    3. Service support APIs
  • Tracker API
  • Service configuration support
  • High-level service support
    1. Declarative Services
    2. Blueprint Container
  • Common patterns
    1. Extender pattern
    2. Whiteboard pattern
  • Web support
    1. Web Applications
    2. HTTP Whiteboard
    3. HTTP Service
  • Miscellaneous / Other topics
    1. OSGi framework implementations
    2. Tools and techniques for development
    3. Practical exercises
    4. Additional topics and possibilities
Prerequisites:
Advanced Java knowledge, including basic multithreading, is required.
Recommended previous course:
Java: Concurrent Programming (JAV4)
Schedule:
3 days (9:00-17:00)
Price per person:
752.00 € ( 909.92 € incl. 21% VAT)

Training and learning environment