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

Reply via email to