Olaf Bergner wrote:

Understanding the source code is easier if you think of the
following stack:

  |-------------------------------------------------------|
  | merlin                                                |
  |                                                       |
  | # setup of internal *facilities* (application repo,   |
  | # logging, root classloader, root block, etc.)        |
  | # Main abstraction is the Kernel which is created     |
  | # the avalon-repository factory loader using the      |
  | # factory declared under the merlin.implemention      |
  | # property.                                           |
  |-------------------------------------------------------|
  | avalon-activation                                     |
  |                                                       |
  | # *runtime* deployment and decommissioning,           |
  | # auto-assembly, lifecycle management, lifestyle      |
  | # management etc.  Main abstractions include          |
  | # Block and Appliance                                 |
  |-------------------------------------------------------|
  | avalon composition                                    |
  |                                                       |
  | # immutable *metadata* that describes component       |
  | # deployment scenarios, classloader, containers       |
  | # and a meta-model which combines metadata, meta      |
  | # info, and runtime context - e.g.                    |
  | # DeploymentDirective, ContainmentDirective, ...      |
  |-------------------------------------------------------|
  | avalon-meta                                           |
  |                                                       |
  | # immutable *metainfo* describing component types     |
  | # e.g. Type, DependencyDescriptor,                    |
  | # ServiceDescriptor, ...)                             |
  |-------------------------------------------------------|

Currently the logging system is inside the composition package but
this something that should be refactored.  Instead I would like to
see the logging aspects seperated out into an independent facility
that we load using avalon-repository.




That surely helps., thanks. Now there's the natural question: what's the semantic difference between metadata and metainfo? It struck me that while metainfo describes a given component's immutable context-independent "structure" (I know it's not the best of terminology) metadata describes one out of possibly many deployment solutions. I know this is possibly not the whole picture, but is it somehow close?


Sounds spot on to me!


A convention I've tried to apply is to use the Descriptor suffix for
metainfo and Directive suffix for metadata.  I.e. metainfo "describes"
the criteria, and metadata "directs" a solution.

Stephen.

--

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]



Reply via email to