Richard S. Hall wrote:
Yes, this is an open-ended question and there is likely no single answer.

The mission of iPOJO is to make creating dynamic applications simpler. Precisely how you use it to accomplish this depends on your use case.

The main debate, it seems, is when to use an object and when to use a component. Since iPOJO components handle dynamism (among other things), you may choose to use it for those pieces of your application that require dynamism, for example, but it is difficult to say when to decide between object vs component. Granularity is another metric.

iPOJO is a full-blown, hierarchical component model built on top of an object-oriented language. In the end, it leaves these decisions up to you.

-> richard

Does this mean iPojo strives to make it easy for me to smoothly evolve my bundle through the entire continuum starting from one-uber-component and ending at all-is-component? Naturally I am free to stop at any appropriate point during this evolution.

On the practical side:

1) Is it possible (and ideally easy and clean) for components to create, configure and manage the lifecycle of other components at runtime? This is required for all stages where near the all-is-component point as I replace more and more of the traditional object construction with the higher-abstraction of component instance construction. Still not all components need to exist all the time - in fact only a small set of "core" components do. For example in the classical runtime scope hierarchy of application-session-request only the application scoped components exist all the time while the session and request scoped components must be created and destroyed depending on the number and state of sessions.

2) If a component propagates a service dependency to objects that are created in the traditional way will iPojo support that dependency within these objects?. For example consider the case when a component has a temporal dependency. That component creates a new object and passes the dependency to it. Later some code within this new object calls the dependency. Will iPojo perform all the required management of this call: block for the required period and when it expires throw an exception or delegate to a default implementation? Things like these are again required for all the "mixed" stages where the create-configure-start-stop-destroy state machine of some objects is managed by iPojo and of other objects by the programmer.

Cheers,
Todor

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to