On Tue, 20 Aug 2002 00:26, Nicola Ken Barozzi wrote: > Peter Donald wrote: > > On Mon, 19 Aug 2002 23:44, Nicola Ken Barozzi wrote: > >>We want to get an agreement on what to do for the present and future > >>with regards to unified Component Model, Merlin, Fortress, Phoenix, et > >> all. > >> > >>"Discussions get forgotten, just code remains." > >> > >>I will strongly oppose and veto any "compromise". > >>I want the *solution*. > > > > The only real solution is to use the ContainerKit model. With it you get > > will compatability between all the containers. Phoenix will use it > > directly while Merlin will load it through its own Type loader. If you > > choose to use Merlin specific xml format then you will be bound to > > Merlin. > > > > What is the problem with that? > > IIUC Merlin has features that Phoenix doesn't have (and viceversa). > If I write a component that uses these "features", it will not run in > other containers.
The ContainerKit model does not state anything about these "features". It gives a mechanism to define metadata and extend that metadata with attributes. A container can decide to add "features" by handling specific attributes and components can declare those attributes. The conatiner can also decide to handle specific types of components. ie if object is Persistent then call Persistent.persist() Some of these features are required by container and we would need to standardize an attribute name to indicate required "features". However as soon as you require such a feature you loose strict compatability (though other containers that support feature can still run component). > We would all like Components that run in *all* Containers > But we still have and want to have different Containers that have > proprietary semantics. And this creates problems in portability, since > it has happened that some James Components are tied to Phoenix specific > things, and they didn't even realize it. > > - How can I run Merlin-specific components in Phoenix? > - How can I run Phoenix-specific components in Merlin? > - How can I be *aware* that I'm using Container specific stuff versus > Avalon baseline? > > > IMHO it would seem that the first two points can be done using a correct > Container hierarchy. possibly. We need to figure out a way to dynamically compose services for that to work but thats certainly possible (actually I just posted something about this onphoenix list). > And that the last one by defining a standard way of *describing* > extensions (ie in what "context" they are made and what they need) and > keeping this description physically separate from the standard > containerkit descriptor. Thats sorta what I was saying. Except that I am not sure I would want to standardize the format of the extension descriptor (ie a Foo-persistent.xml is gonna look much different from Foo-instrument.xml). However a standard way of defining that the component supports or requires a "feature" seems possible. However the exact semantics of the "feature" is left up to container/feature writer. They should feel free to do it however the hell they like. > Also the standard containerkit stuff would become part of the framework, > since it would become mandatory. Thats largely where I am going. In a month or two I hope to have tested it thouroughly enough that it can be put up to vote. -- Cheers, Peter Donald ------------------------------------------------------- To fight and conquer in all your battles is not supreme excellence; supreme excellence consists in breaking the enemy's resistance without fighting. - Sun Tzu, 300 B.C. ------------------------------------------------------- -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
