Today we have four containers supported in Turbine!  Without arguing
semantics, I mean container as in something used to start something up. They
are:

1) Turbine's own (and OLD!) old services implementation that implement the
Service interface and typically extends TurbineBaseService.  This was what
Turbine prior to 2.2 was using, and is still there and ticking along.

2) Stratum, which was an evolution of the Turbine services.  Shouldn't be
used.

3) AvalonComponentService which used the Excalibur container from the Avalon
project and was introduced in 2.3.

4) MerlinComponentService which is still under development and uses the
Merlin container from the Avalon project and was introduced in 2.4.

Now, the nice thing about using the Avalon based components is that they
will run unchanged in both the Excalibur and Merlin containers.
Additionally, since Avalon is an Apache project, using them follows the "Eat
your own dog food" approach.  We get great support from the Avalon mailing
list, and many of the Fulcrum components run in either Excalibur or Merlin
containers in their unit tests.  Some even run in BOTH containers!

Having said that though, Turbine is an open source project, and if you have
an itch, scratch it..  I would be happy to see Pico/HiveMind/Spring/Name
your container support added to Turbine.  The components in Fulcrum (like
Security) right now work just with Avalon containers.  However, this is
mainly an artifact of the principle developers using Avalon containers.  If
someone wanted to abstract out the container aspects of Fulcrum Security so
it would run in multiple containers, as long as there where sufficient unit
tests, I'd be happy to have that.

Heck, someone wrote a SimpleContainerService which in turn looked components
up from a chain of containers, returning the component the first time it
resolved properly.  That way the rest of the application doesn't know/care
what container is being used.

Turbine is an open source project, so please, send in patches and extensions
for the changes you want!  I can't promise they will all be committed, but
they will at be reviewed.  And, feel free to setup external projects that
have components that work with Turbine.  Antelope
(http://zebra.tigris.org/nonav/antelopeZebraSample/) and Xingu
(http://xingu.sourceforge.net/) are both good examples.

Eric Pugh


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

Reply via email to