This is the only concrete class in the exposed API (besides exceptions), every implementation can be configured at runtime. Default implementations live in the {@link org.nimbustools.api.defaults} package.
The implementations in the {@link org.nimbustools.api.defaults.services}package do nothing besides logging. The workspace project supplies implementations of these separately. When distributed together in an installable form, the word "default" might take on a different meaning. Defaults here mean the defaults for this when it is in standalone mode.
The 'real' implementations are probably also internally modularized via an inversion of control container (can piggyback through this one), but this API system proper stands alone as a bridge between the messaging layers and implementations of VM manager and other services -- allowing everything to be decoupled and independently implemented.
In any messaging implementation (hosted by an application container), you will be able to find a call to {@link BreathOfLife#breathe(String xmlCtxPath)}and all further coupling is via ModuleLocator and the representative object interfaces (the {@link org.nimbustools.api.repr} package).
In any services implementation, you will NOT be able to find a dependency on anything beyond ("above") this API.
The point of this is to bridge between remote messaging syntax (and even semantics) and a consistent service implementation (which can also be replaced/altered at will).
See developer documentation.
@see ModuleLocator @see org.nimbustools.api.services.rm.Manager @see org.nimbustools.api.services.ctx.ContextBroker @see org.nimbustools.api.repr.ReprFactory
|
|