You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by gianny DAMOUR <gi...@hotmail.com> on 2003/08/15 00:32:53 UTC
[JSR77] kernel and model glue strategy
Hello,
I wrote "[JSR77] Workplan proposal":
>2. Define the global strategy to plug this implementation.
>
>It seems that the current strategy is to expose this implementation via
>inheritance. Indeed, the AbstractComponent extends AbstractStateManageable.
[...]
>However, what do you think of trying to plug the components via a Strategy
>pattern?
>
>Consider the following example:
>
>public class interface J2EEManagement { public void
>setStateManagement(StateManageable); public void
>setStatisticsProvider(StatisticsProvider); public void
>setEventProvider(EventProvider); }
>
>public class EJBComponent extends <whatever> implements J2EEManagement{
>
> EventProvider m_eventProvider;
>
>// partial J2EEManagement implementation. public void
>setEventProvider(EventProvider anEventProvider) { m_eventProvider =
>anEventProvider; m_eventProvider.setSource(this); // for callbacks. }
>
>doStart() { m_eventProvider. doNotification(<a starting notification
>here>); // perform the state update m_eventProvider.
>doNotification(<a started notification here>); }
}
The intend is to implement a model (JSR Managed Objects), which is decoupled
of the kernel (Component in charge of the deployment for instance). The
kernel provides the pieces of information required by the JSR models via a
"glue". This "glue" is divided into three interfaces:
- StateManageable: state instrumentation/collection;
- StatisticsProvider: statistics instrumentation/collection; and
- EventProvider: event collection.
The flow should be:
kernel <-> glue <-> JSR77 model
The glue is passed to the kernel via the J2EEManagement interface (see above
for more details). The kernel uses the provided glue in order to register
its activity.
I think that this "architecture" is superior because it allows us to
implement a re-usable component which could be used by other containers.
Indeed, the glue + the JSR77 model can be packaged independantely.
I will not be able to consult the mailing list on saturday. However, I plan
to work on this design and submit a patch on sunday (may-be, or monday for
sure) implementing the foundation of this mechanism.
So, here is the deal: could you please validate/discard this design during
the day?
Thanks for feedback,
Gianny
_________________________________________________________________
MSN Search, le moteur de recherche qui pense comme vous !
http://search.msn.fr/