[ajug-members] Seeking web app advice
Joe Sam Shirah
joe_sam at bellsouth.net
Fri Feb 13 14:53:02 EST 2009
Hi Kerry,
While I wouldn't disagree with Lance that "most" of the world's web
projects don't need heavy lifting, I think you should also consider what you
want out of your career and where you want to be. As you describe below,
there are many companies that are or should be using a JEE stack even if
they never touch EJBs.
EJBs got a bad rap because of poor initial design, but also because
hoards of programmers used them where they did not have a place and didn't
really know what they were doing. The point of the *entire* package, as
someone once said ( :-) ) was to provide a multitiered, distributed,
transactional model for enterprise applications. They have a place.
So why would you use JEE if the project doesn't match that description?
Here's an old (and therefore partial ) list of things JEE ( then J2EE )
provides:
Enterprise JavaBeans Technology
JDBC API
Java Servlet Technology
JavaServer Pages Technology
Java Message Service
Java Naming and Directory Interface
Java Transaction API
Java Mail API
JavaBeans Activation Framework
Java API for XML Processing
J2EE Connector Architecture
Java Authentication and Authorization Service
Now, I have a friend who *says* he prefers to just put pieces of that
mess together as he needs them. In certain situations, that's the way to
go. But, IMO, if you're trying to build a foundation for even a small
company, why wouldn't you want to have all of that already integrated and
available for you? It's especially true with servers like Glassfish that
don't start up services that aren't used.
I have a Fortune 100 client who needed support for sales appointments
and tracking, another that just wanted to eliminate paper sending of sales
notices and activities, and another that requires job costing based on a
bill of materials with effective date and "what if" prices. None of these
are distributed and none use EJBs, but all use a JEE stack. To me (and I
understand that I haven't given enough for others to really judge,) the only
one that arguably *didn't* need a JEE stack was the one eliminating paper.
However, even there, I can see enough of a future need that it made sense to
do this from the get-go rather than having to migrate later.
The point of all this is that whether there is a need depends on the
project and future expectations. If you want to do what "most" web sites
need, then you might not need Java at all ( I did same for a friend running
in a union election recently. )
OTOH, there are always going to be business needs, including the ever
popular "for some reason the Access and Excel 'programs' created by our
sales staff don't handle our needs anymore." That doesn't meant you are
guaranteed work, but if that's the area you want to be in and you're not
prepared, I can pretty much guarantee you won't get that work.
For historical and personal preference reasons, I have remained a
generalist developer, able to take a project from a user's idea through
implementation and training. There are many that will tell you a generalist
has no place, but our clients have been very happy to have the same few
people cover all aspects of the project, rather than many specialists they
don't understand and who really don't understand their overall needs.
That's not to push you (or anyone) towards being a generalist, just an
example of how the crowd theory doesn't always work for everyone.
This got longer than I anticipated. Please take it as just another
opinion, and do your own, educated analysis of all of them. HTH some.
Best,
Joe Sam
Joe Sam Shirah - http://www.conceptgo.com
conceptGO - Consulting/Development/Outsourcing
Java Filter Forum: http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: http://www.jguru.com/faq/JDBC
Going International? http://www.jguru.com/faq/I18N
Que Java400? http://www.jguru.com/faq/Java400
----- Original Message -----
From: "Kerry Randolph" <kerry at randolph1.com>
To: <ajug-members at ajug.org>
Sent: Thursday, February 12, 2009 4:37 PM
Subject: Re: [ajug-members] Seeking web app advice
> Hi Lance
>
> Thanks for the advice. I can't tell you how much I appreciate the advice
> from experienced developers like yourself and am glad that amateur
> questions
> like mine are entertained without too much annoyance factor (I hope).
>
> I am actually working through the Java EE course on
> javapassion.comcurrently... and haven't actually started developing my
> project except for
> the high level design... I don't know anything about other frameworks that
> so many people talk about like Groovy/Grails or JRuby/Rails (yet)...
>
> But I have what I think is a GREAT and FANTASTIC idea for a web product...
> I
> also am interested in learning web development as a career move (I'm
> currently in an ops role supporting apache/jboss/weblogic boxes for a
> fortune 500 company).
>
> At my company, they use J2EE with a lot of JBoss libraries like Richfaces
> and JBoss Portal in their approved dev stack, so I have an incentive to
> use
> Richfaces and full Java EE from the perspective that I am in a support
> role
> of the container, even though I don't directly support the app or the
> code.
>
> I don't understand why Java EE is considered to be so "heavy"... but i'm
> only halfway through the EE course and haven't got to the point to look at
> other frameworks yet... so I'm just ignorant at this point, and it's
> uncomfortable.
>
>
> On Tue, Feb 10, 2009 at 1:27 PM, Lance Gleason <lgleasain at yahoo.com>
> wrote:
>
>> Kerry,
>>
>> It sounds like you have a language looking for a problem to solve instead
>> of a problem looking for an appropriate language/technology. The trend
>> among the Java community is to move away from a heavy Java solution to a
>> problem unless you have requriements that need the extra horsepower that
>> a
>> Java based solutiuon gives you.
>>
>> The vast majority of projects developed today are not hightly
>> transactional
>> systems with hundreds or thousands of concurrent users. To that end I
>> would
>> recommend looking at developing a solution in Groovy/Grails or
>> JRuby/Rails
>> to get something working. You can call Java libraries from wither of
>> these
>> frameworks and plug in Java code as your user profile and performance
>> needs
>> dictate it.
>>
>> If the main purpose of this exercise is to learn, or get better at Java
>> you will probably get more bang for your buck by contributing to a
>> current
>> Java open source project will will have the side benefit of having a
>> number
>> of experienced Java developers reviewing your code submissions. This
>> will
>> help you to improve your coding styles and habits and will give you a
>> much
>> richer experience.
>>
>> All the best!
>>
>> Lance
>>
More information about the ajug-members
mailing list