Ugo Cei wrote:
Il giorno 14/ott/04, alle 18:09, Vadim Gritsenko ha scritto:
Other question I have is what we are going to do with the component
base we developed and depend on which currently resides in excalibur
repository. Should those be copied into Cocoon repository (and
springified as needed?)?
Things like the SourceResolver, you mean? I have already "springified"
it and put it (or at least a simplified version of it) here:
http://svn.apache.org/repos/asf/cocoon/whiteboard/butterfly/src/java/
org/apache/butterfly/source/
Actually, I don't like the term "springified". I'd rather say
POJO-ified, since it has just one dependency upon Spring's
ApplicationContext (which is needed to resolve paths relative to a
context's base directory). Maybe there's a way to eliminate even that
one, but I just did the simplest possible implementation.
This is also meant as a response to Stefano's concerns about depending
on an alien framework. Once again, I am trying to show that, once you
have swallowed the Dependency-Injection kool-aid, your components have
very limited dependencies on the framework, or even none at all. So we
can design generators, transformers, serializers, etc. that can be
deployed _today_ in any existing DI container, and tomorrow in our own
container that is designed specifically and optimized for our needs,
without rewriting a single line of code! If you take a look at the
sitemap components that are now in Butterfly, you will find exactly
ZERO dependencies on Spring. And they work, even if in a simplified
scenario, but you can get a fscking HTML response from the Butterfly
servlet using a generator-transformer-serializer pipeline NOW.
Admittedly, it's more of a proof of concept than a usable thing
(there's no caching, no sitemap processor, etc.) but it shows it can be
done.
I could have started by doing my own container (after all, it's not
rocket science, right?) and today I would be nowhere near where I am,
given the copious free time I have available. Or I could have used the
best DI container around and got some real work done. What would have
you done in my place?
All right, do-ocracy wins.
Now, let's make it happen.
--
Stefano.
smime.p7s
Description: S/MIME Cryptographic Signature