Antti Koivunen wrote:
> Berin Loritsch wrote:
> > Let's take a quick look at both of these.
>
> JNDI is an interface for naming services. It's not meant just for
> component management, but provides a convenient (and popular) way of
> handling it.
And it can be used to resolve CORBA requests (with the right Context)
>
> CORBA is meant primarily for managing and sharing objects (including
> components) in distributed environments.
>
> Now, as both of these are commonly used for managing components, it
> should be made easy to integrate either one in the core Avalon component
> management.
>
> The issue of Component vs. Object really comes down to the following
> question: should an object be required to implement an empty marker
> interface to be regarded as a component (thus making integration with
> other systems more difficult)? I think not.
We agree on this point.
>> That is why I proposed the resolver interfaces, to solicit feedback on
>> that. Is this something that will satisfy everyone's need? I think it
>> will be a much better fit than even the current CM/CS approach we have
>> now.
>
> Is it intended to replace CM/CS?
IMO Yes.
>
>> Please, I am soliciting feedback on the proposal, so we can see if it
>> fits all our needs.
>
> A few ideas...
>
> 1. Resolveable -> Resolvable (to make it more English :)
Ok.
>
> 2. resolver(Resolver) -> setResolver(Resolver), to make it more
> intuitive (consider e.g. iterator()).
Ok.
>
> 3. I would consider string (e.g. URI) lookups in addition to the heavier
> Query structure. Some examples:
>
> uri://domain.com/services/UserManager
>
> uri://domain.com/User?id=42
> uri://domain.com/User[lastName=Doe,firstName=Jane]
>
> Service:type=UserMgmt,country=FI (JMX style)
Sounds reasonable
>
> (All of these could be represented with an object, if necessary. See
> e.g. javax.management.ObjectName)
>
> 4. In Token: Object[] references() -> Iterator references(), not to
> restrict the implementation (e.g. in case there are MANY references).
There shouldn't be *that* many references that you retrieve at one time.
In practice, I have not seen more than 5-6 external components used.
Even then, that is bordering on being too coupled.
>
> 5. What are the benefits of differentiating COMPONENT, SERVICE and OBJECT?
>
> (: A ;)
The main difference is how the key is expected to be resolved. The big thing
is that the Resolver implementation will likely differ lookup to the Container.
This is a good thing. The Container may have different repositories for each
of these. (Although the merging of Component and Service would probably work).
Lastly, it allows a Resolver to lookup Components from the Container, Services
from the Phoenix Kernel, and Objects from whatever is local to the Resolver
implementation.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>