> -----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]