Here are some of the built-in plugin interfaces; all are in org.jtrix.project.beatrix.plugins.hooks
and all are used by the Manager and Worker netlets.
Those marked (*) are also provided by the Manager netlet,
while those marked (**) are provided by the Worker netlet.
So unless otherwise stated, we should not implement our own plugins
of these types. Figure
also
shows this.
- IBeatrixSASSupport
- Allows Beatrix to use a service advertisement
service (SAS). Only needs to be provided by an implementation of the
SAS.
- IDeploymentControl (*)
- Manages the process of deploying the right
netlets on nodes with the right resources. Most applications will
not access this directly.
- IInternalFacetProvider (*)(**)
- Provides internal facets for
intra-application communication--see Section
.
Although the Manager and Worker implement these
it is likely we will also want to implement our own application-specific
IInternalFacetProvider plugins.
- ILeaderSupport (*)
- Functionality to help the current leader (Section
).
- IManagementState (*)
- Helps access the management state available
to all managers (Section
).
- IManagerLifeCycle
- Deals with managers starting (cold starts, warm
starts and joins) and leadership changes. Every application needs
to implement one of these otherwise the application cannot start.
See Section
.
- IManagerSupport (*)
- The core work of managers, including the ability
to generate warrants for consumers (Section
).
- IPeerSupport (*)(**)
- To help managed netlets be part of their
application peer group. Find other netlets, announce service eligilibility
and set status. See Section
.
- IServiceManager
- Collection point for services. Services register
with this and can then be retrieved easily as needed--it is a plugin
which is also a plugin manager. Every netlet which wants to provide
services needs a service manager and, since this is not necessarily
all netlets, Beatrix does not add an IServiceManager by default.
See Section
.
- ITransportProvider
- Allows us to change Beatrix's internal network
communication mechanism.
- IWorkerLifeCycle
- Allows a manager to respond to workers stopping
and starting (Section
).
- IWorkerResourceProvider (**)
- Allows a worker plugin to access
the resources allocated to that worker. See Section
.
Nik Silver
2002-03-09