You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Vijay Kumar AB <vi...@hathway.com> on 2004/04/08 15:45:04 UTC
Framework using Merlin
Hi,
I have a small framework which I have developed, but it is using ECM, now
how easy is it to move on to Merlin? or Fortress?..
I was told that Merlin is a better way to go than Fortress., Any ideas?
The framework I have does not run as a service, but can be invoked using ECM
(role based). Is there any document which will help me in migrating to
Merlin
Thanks
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org
Re: Framework using Merlin
Posted by Stephen McConnell <mc...@apache.org>.
Vijay Kumar AB wrote:
> Thanks for your reply,
>
> But currently is there an equavalent for ECM in merlin? which I can use to
> the problem is I cannot expose the framework as it is confidential
> (company).
There is content dealing with migration (as opposed to emulation). This
is linked to the avalon-facility package which provides the bridge to
pull based service acquisition. This will need enhancement to handle
property based resolution which in turn will require some updates to the
underlying meta-model.
> Currently I am using a wrapper class which uses ECM to lookup for the
> component and returns the component to the clients who use the framework. I
> need to change that class to start using Merlin. Also I have used interfaces
> lie ThreadSafe which I don't find equvalents in Merlin.
In merlin you declare this sort of thing via javadoc tags - for example
the following class level tag declares the component as thread safe:
@avalon.component name="anything-you-like" lifestyle="singleton"
> Looks to me like
> there is lot of work, but is it possible for you to give me a class which
> has main() method which uses some component manager to load a component by
> Role.
There is already the cli handler which is basically this. There are
also a bunch of embedded examples - from a simple main method, unit
tests, sevlets, etc.
> I also find that the Selector, Role concepts are not found in Merlin.
Correct - Selector semantics mix component type information with
component deployment information - which basically ties your component
implement to a specific deployment scenario - which in turn breaks
component portability. The solution to this is to encapsulate the
selection semantics within the scope of a composite component - which means:
(a) selection semantics are moved to a specific configurable
component
(b) your component falls back to lock of a selector component
The avalon-facility will be updated to enable this scenario - which
means that (a) your components will not be tied to a deployment scenario
- but instead - they will be tied to a configurable selection service.
> How are the components identified? (Artifact??) I am not sure. Sorry but the
> documentation takes me no where.
Components are not normally identified by a component - instead you
simply declare the dependencies that your component has and the
container will assure that the dependency can be fulfilled before your
component is deployed.
This is main semantic difference - merlin is pushed based, Fortress/ECM
is pull based. The work related to the finder facility is to enable
reliable assurable pull-based service acquisition.
I'm hoping to cut a binary of merlin 3.3 sometime this weekend
(providing I can resolve some issues concerning the recent version
management updates). Once that is out of the way I'll be able to really
dig into the finder development and make sure we can provide not only a
migration path - but also a gross-net-improvement in the end result.
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: Framework using Merlin
Posted by Vijay Kumar AB <vi...@hathway.com>.
Thanks for your reply,
But currently is there an equavalent for ECM in merlin? which I can use to
the problem is I cannot expose the framework as it is confidential
(company).
Currently I am using a wrapper class which uses ECM to lookup for the
component and returns the component to the clients who use the framework. I
need to change that class to start using Merlin. Also I have used interfaces
lie ThreadSafe which I don't find equvalents in Merlin. Looks to me like
there is lot of work, but is it possible for you to give me a class which
has main() method which uses some component manager to load a component by
Role.
I also find that the Selector, Role concepts are not found in Merlin.
How are the components identified? (Artifact??) I am not sure. Sorry but the
documentation takes me no where.
Thanks
----- Original Message -----
From: "Stephen McConnell" <mc...@apache.org>
Newsgroups: gmane.comp.jakarta.avalon.devel
Sent: Thursday, April 08, 2004 9:52 PM
Subject: Re: Framework using Merlin
> Vijay Kumar AB wrote:
>
> > Hi,
> >
> > I have a small framework which I have developed, but it is using ECM,
now
> > how easy is it to move on to Merlin? or Fortress?..
>
> About 60% of the Turbine Fulcrum components were migrated from ECM to
> Fortress in a single Sunday afternoon. Another 10% was handled over a
> couple of afternoons - and the remaining 20% will be migrating with
> maybe a single days effort.
>
> A lot depends on the semantic assumptions that your components make. Is
> the code base available on-line? If so - I could provide a quick audit
> and let you know what the options are.
>
> > I was told that Merlin is a better way to go than Fortress., Any ideas?
>
> Fortress has been retired. Avalon has taken a decision to consolidate
> all efforts on a single architecture, platform and container. That
> consolidation is completely centered on Merlin.
>
> > The framework I have does not run as a service, but can be invoked using
ECM
> > (role based). Is there any document which will help me in migrating to
> > Merlin
>
> Not today - but the more information you can provide about your scenario
> the better/ There are several people here that have experience with
> both ECM and Merlin and can provide some rapid guidance. Probability is
> high that a transition will be painless and rapid.
>
> Cheers, Stephen.
>
> > Thanks
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> > For additional commands, e-mail: dev-help@avalon.apache.org
> >
> >
>
>
> --
>
> |------------------------------------------------|
> | 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: Framework using Merlin
Posted by Stephen McConnell <mc...@apache.org>.
Vijay Kumar AB wrote:
> Hi,
>
> I have a small framework which I have developed, but it is using ECM, now
> how easy is it to move on to Merlin? or Fortress?..
About 60% of the Turbine Fulcrum components were migrated from ECM to
Fortress in a single Sunday afternoon. Another 10% was handled over a
couple of afternoons - and the remaining 20% will be migrating with
maybe a single days effort.
A lot depends on the semantic assumptions that your components make. Is
the code base available on-line? If so - I could provide a quick audit
and let you know what the options are.
> I was told that Merlin is a better way to go than Fortress., Any ideas?
Fortress has been retired. Avalon has taken a decision to consolidate
all efforts on a single architecture, platform and container. That
consolidation is completely centered on Merlin.
> The framework I have does not run as a service, but can be invoked using ECM
> (role based). Is there any document which will help me in migrating to
> Merlin
Not today - but the more information you can provide about your scenario
the better/ There are several people here that have experience with
both ECM and Merlin and can provide some rapid guidance. Probability is
high that a transition will be painless and rapid.
Cheers, Stephen.
> Thanks
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org
>
>
--
|------------------------------------------------|
| 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 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
Merlin vocabulary?
Posted by Amit Gupta <am...@in.fiorano.com>.
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