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

Reply via email to