Ugo Cei wrote:

Dear Cocooners,

this is something more crazy than a Random Thought, something that one can only think of on a Friday evening after a few hours of boooring application development (doing infrastructure things is much more fun). Maybe we should coin a new acronym: "WT" for "Wild Thoughts".


<snip/>

Now, please tell me I'm totally out of my mind, so that I stop toying with too many crazy ideas and get down to get some real work done ;-)


Crazy ideas can become mainstream when they're collectively shaked ;-)

I only have a reading knowledge of Spring, and find its lack of invasive API a very good thing contrarily to Avalon. But I'm wondering about a few things... These may be naive questions though, for someone having the knowledge of both Avalon and Spring.

The bean definition file defines all services of system like cocoon.xconf, but also the wiring, which is handled internally by lookups with Avalon. This has several consequences:
- people writing this file must have an in-depth knowledge of implementation classes used (not only abstract service interfaces) and the wiring they need. This is a difficult task.
- the full wiring may lead to huge files in large systems (i.e. Cocoon). So the question is: does it scale?
- can the framework ensure that no wiring is missing? Is there another way than having a NPE at runtime?


In the end, this file looks like an XML serialization format for POJOs.

These issues seems to me somehow solved by Pico/NanoContainer:
- a concrete class can be associated to an interface, and then becomes wired to all dependencies of this interface. No need to explicitely declare the wiring.
- constructor dependency injection expresses the required dependencies (can check that no wiring is omitted)


I have the feeling Spring can be used for small sets of components, but can it be used for the full assembly of large systems like Cocoon?

Thanks for your answers.

Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }



Reply via email to