You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Amit Gupta <am...@in.fiorano.com> on 2004/04/08 16:16:35 UTC
Merlin vocabulary?
Hi,
I am interested in understanding Merlin design (and implementation).
I understand server design fundamentals but am not familiar with Avalon
container and component terminologies etc.
I am interesting in understanding Merlin design and implementation
before we (our company) decide on possible adoption of the framework.
But lack of structured design documents explaining various concepts
is severely hampering my progress (and hence adoption of Merlin).
I have read all that's available on Merlin/Apache's website and also
looked at Google results for Merlin etc... Have been following the
discussion thread "Avalon Framework Design" and have checked
out http://wiki.apache.org/avalon/AvalonDiagrams too..But all this
didn't help me understand the code to a level, from where I can
start feeling "at home" with Merlin/Avalon core sources.
Can someone point me to any document (or source of information)
which you find useful for explaining overall design of Merlin/Apache
Framework to relative "newbies".
And finally, recent comments from "Ole Bulbuk" are scaring me off
Merlin/Avalon.. Would love to hear any success stories (in commercial
deployments) from the community.
Thanks,
Amit Gupta
Fiorano MailServer
All incoming and outgoing mails are scanned for Virus and Spam
http://www.fiorano.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org
Re: Merlin vocabulary?
Posted by Stephen McConnell <mc...@apache.org>.
Amit Gupta wrote:
> Hi,
>
> I am interested in understanding Merlin design (and implementation).
> I understand server design fundamentals but am not familiar with Avalon
> container and component terminologies etc.
Amit:
Typically a developer of a component does not need to know anything
about the Merlin design or implementation. What developer does need to
understand is the concepts related to the component specifications. The
component specifications deals with several notions:
deployment criteria
-------------------
This concerns the subject of how a component declares the things that it
needs toward a container - under Avalon this is handled using javadoc
tags that describe both deployment and runtime dependencies that a
component needs to be fulfilled prior to deployment - information about
this subject is available at the following urls
Overview:
http://avalon.apache.org/merlin/reference/component/descriptors/index.html
Detailed Tag Specification:
http://avalon.apache.org/meta/tools/tags/index.html
deployment artifacts
--------------------
Once a container has determined that everything a component requires can
be fulfilled, the container can proceed with component deployment.
Deployment leverages a number of "lifecycle artifacts" - object that are
supplied to a component by a container. These include things like a
logging channel, a context object, a service manager, configuration,
etc. The full set of deployment artifacts are described under the
following urls:
http://avalon.apache.org/merlin/reference/component/artifacts/index.html
lifecycle management
--------------------
Deployment artifacts can be delivered to a component via constructor or
alternatively via lifecycle stage delivery interfaces. Information
about the respect creation, runtime and end-of-life management
strategies is available under the following links:
http://avalon.apache.org/merlin/reference/component/lifecycle/index.html
lifecycle management
--------------------
Finally - for the developer point of view there is one addition concern
related to component lifestyles. This subject deals with the
distinction between thread-safe components - transient components,
per-thread semantic - and how these are handled by the container that
the component is executing within. A very brief listing is included in
the following link:
http://avalon.apache.org/merlin/reference/component/lifestyle/index.html
container specification
-----------------------
Beyond pure component development is the subject of component deployment
which is where container come into play. An Avalon containers provides
support for component composition - enabling for example the creation of
composite components which in turn can be used is new application
scenarios. The full specification of the language used to write a
container is available here:
Container Directive spec.
http://avalon.apache.org/merlin/reference/containment/directives/index.html
Configuration Override Spec.
http://avalon.apache.org/merlin/reference/containment/overrides/index.html
But the best source of getting going is the introductory tutorial:
http://avalon.apache.org/merlin/starting/tutorial/index.html
> I am interesting in understanding Merlin design and implementation
> before we (our company) decide on possible adoption of the framework.
Beyond the above references - anything else into getting into
high-powered component management.
* embedding
* facilities
Embedding is a subject you would be concerned about if your thinking
about highly dynamic systems where you want to control the container at
runtime based on external events. To use Merlin in this context
requires at least a basic understanding of the core sub-systems.
Documentation on this subject is in progress and will be made available
under the following link:
http://avalon.apache.org/merlin/merlin/systems/index.html
The second area "facilities" is a subject that deals with components
that directly interact with Merlin meta-model. Though model interaction
facilities can change the entire personality of a container. There is
some initial documentation about facilities we are working on now -
including JMX, JMS and HTTP handlers. As things come together you
should be able to find information about available facilities at the
following link:
http://avalon.apache.org/merlin/extensions/facilities/index.html
> But lack of structured design documents explaining various concepts
> is severely hampering my progress (and hence adoption of Merlin).
The placeholder for this documentation is included below - and for the
moment this is largely empty. However, content is coming and a lot of
the big picture stuff that I think your after will arrive in the coming
weeks.
http://avalon.apache.org/merlin/reference/deployment/index.html
> I have read all that's available on Merlin/Apache's website and also
> looked at Google results for Merlin etc... Have been following the
> discussion thread "Avalon Framework Design" and have checked
> out http://wiki.apache.org/avalon/AvalonDiagrams too..But all this
> didn't help me understand the code to a level, from where I can
> start feeling "at home" with Merlin/Avalon core sources.
The core of merlin is the Avalon Composition API. This is thing that is
often referred to as the meta-model. Thorough this API you can
programatically create containers, add and remove components, control
the deployment of components, change configuration, redeploy components,
etc. It's basically the heart of Merlin and the center of the
model-driven architecture. Pending completion of the docs related to
deployment - it is work taking a look at the Javadocs for the
composition package.
http://avalon.apache.org/merlin/api/index.html
In particular:
* org.apache.avalon.composition.data
Immutable data types used to describe containers and
component deployment scenarios.
* org.apache.avalon.composition.model
The API that defines the model-driven architecture and
through which the entire runtime environment is controlled.
> Can someone point me to any document (or source of information)
> which you find useful for explaining overall design of Merlin/Apache
> Framework to relative "newbies".
I'm hope that the above references (many of which are relatively new)
will be of help. In the meantime please ask questions and we'll be
happy to answer them here on the list.
> And finally, recent comments from "Ole Bulbuk" are scaring me off
> Merlin/Avalon.
There is another point-of-view concerning the comments from Ole BulBok.
First of all - yes - he's having to deal with transition - and we are
painfully aware of this. On the other hand - we (Avalon) are
consolidating on a single implementation platform - single architecture
- single container. This decision has detrimental impact on users who
have invested in earlier Avalon container solutions. However - at the
same time this consolidation means that the problems that Ole has
encountered will not happen in the future. Avalon for a long time
suffered from a divided community - that has ended - there is no longer
a division. Everything is now focused and grounded on one platform (for
the first time in the history of Avalon).
> Would love to hear any success stories (in commercial
> deployments) from the community.
There are a number of large scale projects in the financial services
sector that are basing themselves on the Avalon platform. While I'm not
in a position to provide details - I can say that common themes across
these projects are:
* short time-to-market
* component reuse prerequisites
* deployment simplicity
* apache avalon community
If you need additional information don't hesitate to contact me off-list.
Cheers, Stephen.
--
|------------------------------------------------|
| Magic by Merlin |
| Production by Avalon |
| |
| http://avalon.apache.org/merlin |
| http://dpml.net/merlin/distributions/latest |
|------------------------------------------------|
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org
Re: Merlin vocabulary?
Posted by Nader Aeinehchi <na...@aeinehchi.com>.
Hi Amit
I appreciate Merlin more and more as I gradually learn more and more, but I
recognize the situation you are just describing.
1. I suggest the vocabulary of Merlin be simplified.
Some of the naming is pretty difficult to understand.
For example, I could not associate "commissioning and decommissioning" with
anything until I looked up dictionary and then digged into the
implementation of Merlin.
Another example is that it is not easy for an end user differentiate
block.xml and config.xml?
2. The current documentation builds up on a very formal and difficult
language. Furthermore, the documentation is too short.
A more relaxed formulation and few extra lines in each document would
greatly simplify the documentation.
Best Regards
--
Nader Aeinehchi
Aasenhagen 66 E
2020 Skedsmokorset
NORWAY
Direct and Mobile +47 41 44 29 57
Tel (private): +47 64 83 09 08
Fax +47 64 83 08 07
www.aeinehchi.com
----- Original Message -----
From: "Amit Gupta" <am...@in.fiorano.com>
To: "Avalon Developers List" <de...@avalon.apache.org>
Sent: Thursday, April 08, 2004 4:16 PM
Subject: Merlin vocabulary?
> Hi,
>
> I am interested in understanding Merlin design (and implementation).
> I understand server design fundamentals but am not familiar with Avalon
> container and component terminologies etc.
>
> I am interesting in understanding Merlin design and implementation
> before we (our company) decide on possible adoption of the framework.
>
> But lack of structured design documents explaining various concepts
> is severely hampering my progress (and hence adoption of Merlin).
>
> I have read all that's available on Merlin/Apache's website and also
> looked at Google results for Merlin etc... Have been following the
> discussion thread "Avalon Framework Design" and have checked
> out http://wiki.apache.org/avalon/AvalonDiagrams too..But all this
> didn't help me understand the code to a level, from where I can
> start feeling "at home" with Merlin/Avalon core sources.
>
> Can someone point me to any document (or source of information)
> which you find useful for explaining overall design of Merlin/Apache
> Framework to relative "newbies".
>
> And finally, recent comments from "Ole Bulbuk" are scaring me off
> Merlin/Avalon.. Would love to hear any success stories (in commercial
> deployments) from the community.
>
> Thanks,
> Amit Gupta
>
>
> Fiorano MailServer
> All incoming and outgoing mails are scanned for Virus and Spam
> http://www.fiorano.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org