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 ![[*]](crossref.png) also
shows this.
 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 ![[*]](crossref.png) .
Although the Manager and Worker implement these
it is likely we will also want to implement our own application-specific
IInternalFacetProvider plugins. .
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 ![[*]](crossref.png) ). ).
- IManagementState (*)
- Helps access the management state available
to all managers (Section ![[*]](crossref.png) ). ).
- 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 ![[*]](crossref.png) . .
- IManagerSupport (*)
- The core work of managers, including the ability
to generate warrants for consumers (Section ![[*]](crossref.png) ). ).
- IPeerSupport (*)(**)
- To help managed netlets be part of their
application peer group. Find other netlets, announce service eligilibility
and set status. See Section ![[*]](crossref.png) . .
- 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 ![[*]](crossref.png) . .
- ITransportProvider
- Allows us to change Beatrix's internal network
communication mechanism.
- IWorkerLifeCycle
- Allows a manager to respond to workers stopping
and starting (Section ![[*]](crossref.png) ). ).
- IWorkerResourceProvider (**)
- Allows a worker plugin to access
the resources allocated to that worker. See Section ![[*]](crossref.png) . .
Nik Silver
2002-03-09