I've been real busy refactoring a bunch of stuff in Merlin before we release. Basically I've re-cut the content that was in the meta-info/model and meta/model packages into a new sub-project called "composition". Its a *much* cleaning implementation that fits in-between the meta-info layer and the assembly layer.
I.e. - the current Merlin runtime:
|----------------------------------------| | merlin | |----------------------------------------| | assembly | |----------------------------------------| | meta | |----------------------------------------|
The updated content I'm working is a follows:
|----------------------------------------| | merlin (smaller) | |----------------------------------------| | activation (cleaner) | |----------------------------------------| | composition (smarter) | |----------------------------------------| | meta (tighter) | |----------------------------------------|
The new composition package will deliver some really significant improvements in model management. By model management I mean the management of the combination of meta-info with mata-data within an execution context (i.e. classloader). This is driven by things I want to do on the JMX management side, but it is also taking care of a bunch of issues that I really wanted to close before a release (getting the container/component classloader separation in place, simplifying the appliance interface and implementation, fixing some semantic differences between appliance and block, simplifying the meta-data model and related XML).
The current Merlin runtime is partially migrated to the composition package. The existing composition test case block.xml is worth looking at. The composition package APIs are also worth a glance - its not totally complete - but 90% there. I'll probably commit the activation api within a matter of days so that everyone can see what and where I'm up-to (it's basically the re-cutting of the current assembly package to leverage the new composition model).
New features already in place include:
1. Classloaders supplied to a container a totally clean (i.e. you need to include you own framework classes). This will break all current appliance extensions (but this is also a good thing - because it is forcing us to look at how we declare the inclusion (authorization?) of an extension within the system classloader. I have some thoughts about this but that’s the subject for another thread.
2. The repository model is enhanced, improved scanning semantics translating to faster loading, extension directories can now include repository group definitions,
All in all, I figure the above changes will be complete in a couple of weeks. After that the only question concerning a release date would be the status of a comon meta-info api. Personlly I would love to get in a common model before releasing - so if we are expidient about the meta-info seperation, chances are we can get all of this done before the end of the month!
Cheers, Steve.
--
Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net
Sent via James running under Merlin as an NT service (with partial integration of the composition package) :-) http://avalon.apache.org/sandbox/merlin
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
