HiveMind is being very, very actively developed.  I've been putting a lot of info onto 
my blog:
http://www.freeroller.net/page/hlship/Weblog

I feel HiveMind is entering a more stable stage after its chaotic birth.  I believe it 
is just about
at the point where other interested parties might want to join in the fun!

As I've mentioned before, HiveMind is something of an experiment.  A chance for me to 
learn Maven,
to establish a project properly within Jakarta and so forth.  Hey, I finally learned 
some XSL!

I realize that some aspects of Avalon and HiveMind overlap.

I think our goals are a bit different.  HiveMind is intended to form a lower-layer; 
Avalon is a
services container, HiveMind is a services and configuration microkernel.  The 
majority of HiveMind
is related to building and contributing configuration elements.  HiveMind expressly 
does not have
the same kind of Inversion of Control that Avalon has; IoC or not is left to the 
developer.  Avalon
(or at least the Avalon containers I researched) require more explicit connection of 
services.  I
did not see anything akin to an Eclipse plugin model for handling configuration ... 
that's
HiveMind's strong suit ... HiveMind's "assembly" stage occurs dynamically, at runtime.

I know it sounds like "not invented here" syndrome, but I had a short window of 
opportunity to put
something together, keep it open-source, but use it in a very large scale project at 
work.  In this
situation, it was faster, easier and politcally safer for me to build it myself than 
it would be to
take the time to fully grok and adapt Avalon.  Additionally, a key requirement for me 
is line
precise error reporting [*]; this is a major amount of work to graft into an existing 
code base.

Ultimately, I see HiveMind fitting in below Avalon; perhaps it may be adopted as the 
way in which
the Avalon container is configured, rather than the way services hosted within the 
Avalon container
are configured.

[*] In Tapestry, and now in HiveMind, XML configuration files are read and converted 
into
"descriptor" objects, which are then used to create runtime objects.  In Tapestry, 
it's component
specifications used to create components and pages and such.  In HiveMind it is more 
open-ended.
The line precise bit is: when the XML files are read, the exact location (file, line 
and column) for
each descriptor object is recorded as a property of the object.  When the descriptor 
object is used
to create a runtime object, this location property is applied to the runtime object.  
The end result
is that exceptions in the runtime objects, long after files have been parsed, can be 
related back to
exact locations within the input files.  You don't have to sleuth it out from a stack 
trace, a
property of the exception will be the exact location to look.  This works out to be a 
tremendous
productivity boost ... you spend very little time guessing at problems, instead the 
framework
directs you to the exact problem.  This is all combined with exceptions that include a 
location
property, and Tapestry's exception reporting mechanism is capable of displaying those 
location
properties.

One of the reasons I've been rolling out HiveMind is to seperate this very useful 
functionality from
Tapestry.  In fact, Tapestry 3.1 will move a lot of code from Tapestry to HiveMind.

--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry



> -----Original Message-----
> From: Martin Cooper [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, July 08, 2003 3:17 PM
> To: Jakarta Commons Developers List
> Cc: [EMAIL PROTECTED]
> Subject: Re: [HiveMind] Question about HiveMind scope and purpose
> 
> 
> 
> 
> On Mon, 7 Jul 2003, Berin Loritsch wrote:
> 
> > Berin Loritsch wrote:
> >
> > > Someone pointed out to me that there is a Commons Sandbox project 
> > > called HiveMind, and according to the docs at 
> > > 
> http://cvs.apache.org/viewcvs.cgi/jakarta-commons-sandbox/hive
mind/x
> > docs/index.xml
> >
> > it sounds a *lot* like Avalon.
> >
> > Instead of reinventing the wheel, what about collaborating with the 
> > Avalon team to correct what you feel are deficiencies and work from 
> > there.
> >
> > The Avalon team is in a place where they are evaluating what they 
> > have, and where they want to go from there.
>
> Is HiveMind in active development?  Any interest at all?

It seems to be in development, but only by hlship. I suspect he isn't on this list, so 
I'm cc'ing
him to see if we can provoke a response. ;-)

--
Martin Cooper


>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to