Tuesday should be a lively discussion. I am sharpening my tongue. :o)

I respect Randy, but I find Randy's fears unfounded, and his question
indicate a lack of knowing what Spring is and what it is not. Spring does
not replace J2EE. 

There is more risk to sticking with existing J2EE technology stacks to
solving problems than there is to adopt something like Spring.

I've written apps that are Struts/Stateless Session Bean/EJB CMP/CMR based
(deployed to production).
I've written similar apps that are JSF/Spring/Hibernate based (deployed to
production).

There is much more risk in the former than the latter.

There are so many hacks (some call them J2EE design patterns), workarounds,
and crud to get the former to work in a TDD environment.
TDD is the real risk reducer. The second stack supports TDD. The first stack
is the biggest time sink in the history of modern web development with its
myriads of misplaced files. How many files to deploy an EJB with CMP CMR? Up
to 7!


Spring, once called the interface21 framework, was developed for and
deployed to major financial institutions. If a conservative group like that
is willing to bet on Spring, I can assure you that there is no extreme level
of "risk".

(BTW I have help to deploy Spring in a very major financial institution in
New York. These guys are more than conservative.)

Secondly, I've examined the code base of JBoss, and the code base of Spring.
I would be much more concerned about JBoss than Spring. That said, I have
used JBoss and Spring together on a project. I don't feel JBoss is overtly
risky. (I like JBoss to a an extent. Don't read too much criticism in this
statement.)

I feel comments on "how risky Spring is" is absolute FUD. 

Regarding Erik's opinions: As far as Spring vs. HiveMind, Pico container,
Avalon, etc.

HiveMind is nascent and not nearly as mature.
Pico is not much more than an IoC container from what I can tell.
Avalon is dead. Discontinued. Gone. Poof!

Spring is an IoC container, and an AOP framework. It goes well beyond that
and creates a mass array of utilities to simplify developing with JDBC, JMS,
JMX, Hibernate, EJB (yes you heard me... I said it helps with EJB), etc.

At this point in time, Spring wins out in maturity and features.

(This does not mean that I am advocating only Spring. I would be happy to
work on a HiveMind only project. I have no problems with trying new things.
At this point in time, Spring wins for me.)

Spring is a pneumatic pump with attachments for screw driving, bolt cutting,
hammering, etc. It kicks ass. Yes that is a technical term.

If you are developing web apps, I feel it very wise to look into Spring for
the backend to augment your investment in J2EE.
Then look to a component based framework on the frontend like JSF and
Tapestry. For the persistence tier, try a good commercial version of JDO or
Hibernate.

JSF/Spring (+J2EE/JTA, etc if needed)/Hibernate
Tapestry/Spring (+J2EE/JTA, etc if needed)/Hibernate


Comments below.... See ###########

-----Original Message-----
From: Randolph Kahle [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 10, 2005 4:26 AM
To: jug-discussion@tucson-jug.org
Subject: Re: [jug-discussion] JDJ: Featured article on Spring

On Jan 9, 2005, at 3:52 PM, josh zeidner wrote:

[...]

>
>   If I were a manager I would be very wary of Spring.

I agree with you on this point.

### Why? Spring is set of useful utilities. Where is the risk? 
### BOO!


     * Who will support the technology?

Who supports Tapestry? Who supports Struts? This statement is absurd. There
are several companies that support Spring. ArcMind for one... Interface21
for another. J2Life for a third. Thoughtworks. Springframework.com, Etc.
etc.

I don't need folks in dark blue suits with vests to gain value from a
framework. Hibernate paved the way. Spring is an easy sell to the fortune
100. I have had a lot of success in getting it adopted at companies big and
small. It stands on its own.

     * Do management tools exist?

## Yes. The tool is called an editor. Newer versions of Spring include JMX
support so it is toolable.
Do management tools exist for Struts, WebWork, Tapestry??? Spring does not
replace the app server. You can use Spring with Weblogic, Webshpere, etc.
This question makes no sense. Spring does not replace the app server (yet).
What do you think Spring is?

     * How should we partition work between domestic and offshore?

## The same as you would with any technology. Having done it, I can tell you
it is no big deal. Or should I say it is no bigger deal than it was before
using Spring.

## I am not going to comment on the Java vs. Microsoft debate. Not b/c I
don't have an opinion, but b/c I don't have the time or interest at this
point. There are only so many hours in a day.


I for one, am sick of watching the server log as I deploy my components and
wait to test them. Large projects take forever to deploy. You end up
spending more time waiting for your components to deploy so you can test
(automated or not). Spring allows you to garner the services from the
container without being tied to the env. You can test easily outside of the
container. This is a huge time savings.


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

Reply via email to