avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@apache.org>
Subject Merlin History (from 1.0 to 2.0)
Date Fri, 09 Aug 2002 11:49:45 GMT


Jeff Turner wrote:

>On Thu, Aug 08, 2002 at 03:47:48PM -0400, Berin Loritsch wrote:
>
>>We have "assembly" and "merlin"--however I have a sneaking 
>>suspiscion that "merlin" is not the actively maintained version, 
>>and that "assembly" is.
>>
>>This is very confusing.  I need to know where I need to work 
>>with meging.
>>
>
>See merlin/WHERE_IS_MERLIN_2.txt
>
>It is confusing. How come 'merlin' became 'assembly' anyway?
>

Hi Jeff:

Way back in the beginning Merlin came about simply because of 
frustration with Phoenix deployment constraints and practical 
difficulties related to embedding.  The alternative was to write a 
smaller, component focussed container - something a little more 
developer friendly.  The result of that was Merlin 1.0 - very focussed 
on the execution of a target component (by dragging in and assembling 
the other components needed). 

Part of the Merlin 1.0 was a nice/nasty bit of code called UnitInfo - 
which was basically a mix of meta-data and meta-info all in one. Using 
UnitInfo there were situations where you ended up including assembly 
information inside the blockinfo structure in order to have 
auto-assembly.  As soon as this happened, it meant that Merlin 1.0 xinfo 
files were incompatible with Phoenix. 

A second problem in Merlin 1.0 was that it is a all or nothing approach 
- i.e. the lack of support for explicit assembly instructions meant that 
Merlin 1.0 user's had to depend on the auto-assembly.  In one project 
I'm working on - that become a real obstacle.

With the commencement of discussions about a common meta model for 
containers, I was very interested in validating the conotainerkit model 
and proceeded to build an assembly engine using containerkit instead of 
the UnitInfo model.  This was initially done under excalibur/merlin but 
ended up in creating build instability with Merlin 1.0 (combination of 
my own experimental code plus a moving containerkit).  To avoid this I 
created the excalibur/assembly project and moved the experimental 
content over there.  The new code base has basically evolved in Merlin 2.0.

Looking forward, I would like to see some package name change before the 
first alpha release.

   org.apache.avalon.meta

     All of the container independent meta-info structures.

   org.apache.avalon.merlin

     The Merlin service management framework.

But there's still a lot of work to do on Merlin 2.0 before releasing.  
At the meta-info level there are some changes needed to synchronize with 
the terminology concerning phase/stage and a little bit of 
rationalization of the Type/Facility classes.  At the Merlin container 
level there is more work needed on getting the Resource (the 
component/service reference) abstraction a little cleaner and usable 
with pluggable handlers. 

Cheers, Steve.

-- 

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:mcconnell@osm.net
http://www.osm.net




--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message