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
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.- 01ResolveEcosystem, bundles, metadata, class spaces, requirements, and wiringCh 00–04
- 02BindServices, Declarative Services, configuration, events, and HTTP whiteboardsCh 05–09
- 03Buildbnd, tests, Apache Felix, Eclipse Equinox, PDE, and p2Ch 10–13
- 04OperateKaraf features, Aries, remote services, security, health, and updatesCh 14–17
- 05ProveDesign ChargeGrid and defend when OSGi—or a simpler model—fitsCh 18–19
- 01Bundle resolvespackage wires are consistent
- 02SCR reads descriptorscomponent requirements appear
- 03Configuration arrivestyped invariants validate
- 04References binddynamic service objects connect
- 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.