Re: keel, spring and other frameworks

"Shash Chatterjee" <[email protected]> Wed, 4 Aug 2004 07:58:18 -0600
Newsgroups gmane.comp.java.keel.user
Message-ID <[email protected]>
Stefan,

I think the biggest hurdle you are going to face in Keel is documentation,
once you get beyond just the very newbie phase.  There are plenty of examples
in code, but you have to dig or ask questions.  This is likely Keel's biggest
flaw, one that we have all the intentions of fixing, but it is a slow process.

As far as differences between Keel and Spring go.  Spring is primarily an
inversion-of-control container (IOC), Keel uses a IOC container
(Avalon/Excalibur Fortress).  Spring's container does dependency injection by
calling setters to provide configuration, in Keel/Avalon you actually have to
implement a "configure(....)" method to configure your component, which in
turn can call the setters.  Keel on the other hand, allows you to provide
custom life-cycles.

Keel's main focus is on services though, and it provides an abstraction for
every service (persistence, client/view, scripting, scheduling).  All the
implementations of each service follow the same interface.  In, Keel, you can
use native persistence or Hibernate, using the exact same interface to both
services (or, you could instantiate Hibernate natively, if you so chose).  In
Spring, you have different persistence mechanisms supported, but they stand on
their own.

Keel also supports a common architecture for distributing
(load-balancing/fail-over too) your app.  Keel makes it very easy to switch
UIs (Struts versus Cocoon versus Webwork) if you so choose, without changing
your app.  Keel has a built-in authentication and authorization service that
applies orthogonally to all components.

Keel also has an integrated build system, or you could do custom Ant or Maven
build.

Keel is not monolithic at all, just the download itself is big; what you
choose to deploy from there has very fine-grained control. The price is that
you have to get involved in digging for answers.

Hope this gets you started....

Shash

> hi keel-users
> 
> i'm looking around since a while to find a java-framework for 
> programming webapps more easily.
> 
> until now, i'm using struts, but i'd like to focus on my app and 
> don't like to build up a "framework" myself just to save things to a 
> database or build a login-page and protect functions of my app.
> 
> on the other hand i don't want to have a giant monolithic block for 
> things that need just 5 percent of it - modularity is therefore also 
> a serious concern.
> 
> as a third main focus, i'm a java-beginner with some struts 
> experience and would be happy about a learning curve, not a 
> "vertical-learning-line" :-)
> 
> having these three main "features" in focus, i read articles about 
> keel, appfuse and spring.
> 
> i like the philosophy of keel very much, but i had serious problems 
> to start with it ("focus number three"-problem). most of all because 
> i didn't see "the big picture" and lack of documentation (sorry 
> guys; but the began pdf-file is a great step forward! go on with it!)
> 
> after this "crash" i looked at appfuse (but don't tried it hands-on 
> yet) to "extend" struts with the components i need - and finally the 
> appfuse-path was pointing to spring-framework.
> 
> long story, short question: can anybody outline the most important 
> differences between these frameworks - or - is there anything else 
> that's the best thing for somebody like me?
> 
> i'm some kind of confused what to use for my current webapp and need 
> some advice. most of all i don't want to invest lots of time just to 
> realize that i took the wrong framework...
> 
> thanks for your help and greetings
> stefan