> -----Original Message-----
> From: Nicola Ken Barozzi [mailto:[EMAIL PROTECTED]
>
> To make the same component run in two different containers, you have
> three options:
> 
> 1 - make the featureful one degrade - which is out of question
> 2 - make components require a specific container - you know
>      it's not best
> 3 - make the other container upgrade to the new features, or even
>      better make the two integrate into one that has the best of both

To clarify a bit:

I have several components which run in all three containers.
Programmatically, the differences are:

- Context entry key and value pairs (I stay away from the context)
- Meta-info/meta-data descriptors
- Deployment format (jar vs sar )

Complex blocks may also rely on some of the assembly level or container
services, but in most cases applications can be written fairly container
agnostic.

For Fortress, until we have servlet and cli platforms finished, you also
need some sort of loader for the container.  For Phoenix, the biggest
trouble I've had is with older blocks that import BlockContext or some of
the other Block specific classes.

Merlin is actually the best at this because there is a strict separation of
component vs container concerns.  Stephen's done a very good job ensuring
that Merlin applications do not need to import any merlin specific classes.

> Merlin has cool features? Cool! When will it become *the* Avalon
> container? What is missing for it to become so? What does Fortress have
> that cannot and/or will not put into Merlin?

Merlin has some _very_ cool features.  If it does not become *the* Avalon
container, then it definitely is laying the groundwork.  I cannot think of
any standard Avalon 4 contract provided by Fortress or Phoenix which is not
also supported in Merlin -- though I may be wrong.  

My concern actually is that Merlin provides a number of features and
extensions which are not yet available in the other containers.  The choice
this brings up is to either port such features back into other containers
(convergence) or for each container to specialize in its respective areas
(divergence).  As long as the end developer could trivially port
applications from one container to another, then I don't think divergence is
necessarily a bad thing.

In terms of Merlin diverging from the other Avalon containers, I think this
has mostly been a matter of semantics (type vs component) than it is
compliance with the Framework.

jaaron

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

Reply via email to