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 types

I'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 framework

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



Reply via email to