Unico Hommes wrote:
Sylvain Wallez wrote:Registering a service consists in registering an instance of the service interface with additionnal properties that describe the service. The lookup mechanism then allows to select a particular implementation of the service depending on property values, by using a simple LDAP-like query language.
Hmm, I like this. This is something that is still missing from Avalon IMHO: richer service lookup semantics. I've had several instances where I needed this.
Currently the metainfo model allows the attribution of properties to a service interface, component implementation and/or service dependendency. However - there are two things missing: (a) implementation at the @avalon tag level for attribute addition (which is simply a to-do action); (b) defintion of how a query would be supplied by a component to the object providing the service (e.g. service manager or whatever). Clearly the current ServiceManager interface does not provide the flexibility needed - but a lookup key of type Object opens up possibilities because we can apply transformations of arguments based on metainfo - e.g. an LDAP-like query (or constrain expression, or ...) could be transformed into a parameterized lookup which could be transfored into a service.
Anyway - that a hint at what's spinning around in my head just at the moment.
Cheers, Steve.
--
Stephen J. McConnell mailto:[EMAIL PROTECTED]
|------------------------------------------------| | Magic by Merlin | | Production by Avalon | | | | http://avalon.apache.org/merlin | | http://dpml.net/ | |------------------------------------------------|
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
