OSGi R8 · Karaf 4.4.11 · Felix · Equinox 4.40 · bnd 7.3

Every module
knows its boundary.

Learn how Java bundles resolve, services bind and disappear, components reconfigure, and modular runtimes survive production change.

BUNDLE → REQUIREMENT → CAPABILITY → WIRE → SERVICE → COMPONENT → FEATURE → RUNTIME

Live OSGi module graph Bundles resolve around a service registry while dynamic service pulses bind providers to consumers. SERVICEREGISTRY BUNDLE 14CONNECTOR BUNDLE 21TARIFF BUNDLE 07HTTP BUNDLE 33LEDGER BUNDLE 18CONFIG BUNDLE 29METRICS FRAMEWORK ACTIVE42 BUNDLES RESOLVED6 SERVICES BOUND
Complete runtime path
20 detailed chapters
120 concepts
36 failure drills
60 scored decisions

From manifest to operations

Follow every wire through the runtime.

Learn the standard first, then see how Felix, Equinox, Karaf, Aries, and bnd occupy different layers.
  1. 01ResolveEcosystem, bundles, metadata, class spaces, requirements, and wiringCh 00–04
  2. 02BindServices, Declarative Services, configuration, events, and HTTP whiteboardsCh 05–09
  3. 03Buildbnd, tests, Apache Felix, Eclipse Equinox, PDE, and p2Ch 10–13
  4. 04OperateKaraf features, Aries, remote services, security, health, and updatesCh 14–17
  5. 05ProveDesign ChargeGrid and defend when OSGi—or a simpler model—fitsCh 18–19

One service, fully understood

A provider arrives.
The graph becomes whole.

Trace the DS lifecycle →
  1. 01Bundle resolvespackage wires are consistent
  2. 02SCR reads descriptorscomponent requirements appear
  3. 03Configuration arrivestyped invariants validate
  4. 04References binddynamic service objects connect
  5. 05Service publishesconsumers see a ready capability

Applied runtime architecture

ChargeGrid

Keep 70,000 EV chargers operating while vendor connectors change beneath them.

Design API bundles, DS components, per-site factory configuration, idempotent commands, bounded offline work, Karaf features, canary service selection, observability, and rollback.

Open the complete scenario
HTTPSESSION CORESERVICE REGISTRYOCPP CONNECTORresolve · configure · bind · execute · observe · replace

Inspect, diagnose, decide

Build judgment—not command trivia.

Modularity is not a folder structure.

Know what resolves, what binds, and what disappears.

Enter the runtime