This is exactly the way it works.
The new (Hivemind related) logic/sources/descriptors etc. will be
jared in a separate archive and the already implemented logic you
called it gdata-core stays in it's own jar file. The core impl. on its
own is not "runnable" it needs to be wired together by a container.
This could be Hivemind, Spring or Pico. I can not 100% guarantee that
every single construct can be mapped with every container but this can
be fixed in the core if the problem occurs ( I do have a single
construct in mind which could turn out in a problem...). I do have to
do some modifications in the core especially within creational
patterns. These pattern might be obsolete with a container / micro
kernel like hivemind.
I will keep the aspect of "no special hivemind magic" in mind! Good
point thank you!

best regards Simon



On 11/9/06, peter royal <[EMAIL PROTECTED]> wrote:
On Nov 9, 2006, at 12:29 AM, Simon Willnauer wrote:
> So except of the meta data work people would have to do it is just a
> replacement e.g reimplementation of a single method.
>
> Instead of Registry.getService() it would be
> ApplicationContext.getBean()
>
> is it that what you are alluding to?

kinda, but at a level one below that..

You have all of these services/beans that live in the container. I'd
make them one logical module in the project. They have zero
dependencies on any specific container. Call it gdata-core

Then, you have another module, gdata-hivemind. This takes the
components from gdata-core, and wires them up in a usable fashion
with hivemind, puts them into the servlets, does the soap/etc exporting.

Now, say someone comes along and wants to integrate the gdata work
into their spring container.. they have two choices. They can just
take the core components from gdata-core, and drop them into their
existing spring container. Or, perhaps someone wants to make a gdata-
spring module, since they want to use some whizzy feature spring may
have over hivemind. It may make sense to share some details of the
wiring/etc with gdata-hivemind, or it may not. But they still share
the same underlying components via gdata-core.

Or, to try to put it succinctly worded in another way... I'm
advocating a separation of concerns:
   1) The "work" components that do all of the heavily lifting.
(gdata-core)
   2) The assembly of said components into a functional application.
(gdata-hivemind)

Given #1, you can make multiple versions of #2, using various
assembly styles.


-pete




--
[EMAIL PROTECTED] - http://fotap.org/~osi







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

Reply via email to