I've just committed some content into the merlin/facility directory dealing with a pull-based service finder implementation. This commit is dealing with two things:
(a) an example of the addition of a semantic extension to
merlin without modification or extension to the container
through the definition of a "finder" facility - the facility
specifically address dynamic pull-based service activation
(as per ECM and Fortress) (b) an experimental implementation of a ECM component - in
particular a component that exposes the ServiceManager as
its service interface - configurable with an ECM config file
- dependent on a finder service
- dependent on a RoleManager this RoleManager encapsulates the construction of a formal
meta model implied by the ECM object model - in particular,
the definition of the Role and Hint immutable data typesI've also put in place a test framework that will enable the testing and validation of a client invoking runtime requests for services backed by standard components (full meta-descriptors), together with ECM style solutions.
I'm not at the point where I need to start dealing with service requires - and that means putting some content into some of the ecm component service methods - but more importantly - code dealing with the transformation of an ECM lookup argument into something that makes sense to the finder service is where the real ECM semantics will be captured.
The code is committed under:
avalon/merlin/facilities/finder
This is composed of the following sub projects:
* api - definition of a Finder service interface
* impl - definition of a default finder implementation
that dynamically resolves services using
avalon-composition
* ecm - skeleton implementation of an ECM service provider
that deals with pure ECM role files and related
configuration content
* test - an initial test frameworkAt this point any help (code, tests, opinions, etc.) would be *very* much appreciated.
Cheers, Steve.
p.s. content is very initial scope and potential for change is wide open
--
|------------------------------------------------| | Magic by Merlin | | Production by Avalon | | | | http://avalon.apache.org/merlin | | http://dpml.net/merlin/distributions/latest | |------------------------------------------------|
