Beginning J2EE

C

Chris ( Val )

Hi gang,

Have been playing with core Java lately, and would like to get into
J2EE
programming, but am not certain which is the best platform/
implementation
for me to begin learning with.

I have been using Tomcat 6 with the JDK 1.6 so far to create some
JSP's
and Servlets and even connect to an Oracle database.

I'm not sure what else I need to work with the enterprise things or
even if
Tomcat can handle them, E.g - EJB's with CMP, BMP, JNDI, JNI and even
Web Services?

Have I got everything I need right there or do I need to install
additional
modules etc?

If so, what?

If so, is it worth doing that or going for something like WebSphere
Community edition and can that do everything I need?

What about Sun's own bundle with Netbeans and glass fish?

JBoss + Eclipse?

Oracles OC4J only? or the whole application server bundle?

Do I need or should I use ant?

You can see why I am so confused, because there are just way
too many choices :)

I would really appreciate some advice on the best way to go about it,
so the skills I gain can be transferable across different application
servers - Well, at least I would like to be able to troubleshoot the
code and understand the way things are deployed.

It is also important to me that there is good documentation available
for the recommended application container, etc...

Thanks in advance, gotta run.

Chris
 
J

jb

Hi gang,

Have been playing with core Java lately, and would like to get into
J2EE
programming, but am not certain which is the best platform/
implementation
for me to begin learning with.

Well, as a rule of thumb, products that are easy to manage from
beginning, are pain in big project. So try JBoss + <Whatever
enviorment you prefer>, JBoss is commercial grade application, but is
OK to configure.

Don't worry about IDE you can change it (Eclipse support most
AppServers, NetBeans too).
I have been using Tomcat 6 with the JDK 1.6 so far to create some
JSP's
and Servlets and even connect to an Oracle database.

Hmm. As Ive been told making big projects in Tomcat is a pain. It
doesnt support EJB, and above all it doesn't support JPA. JPA handles
all transaction based problems gently and effectively (Well you may
use JPA as in Java SE, but it does'nt give transaction handling). And
Tomcat is not so scalable.
I'm not sure what else I need to work with the enterprise things or
even if
Tomcat can handle them, E.g - EJB's with CMP, BMP, JNDI, JNI and even
Web Services?

Have I got everything I need right there or do I need to install
additional
modules etc?

If so, what?

If so, is it worth doing that or going for something like WebSphere
Community edition and can that do everything I need?

I personally dislike 'free' editions of commercial procucts.
What about Sun's own bundle with Netbeans and glass fish?

For me NetBeans are little bit featureless. If eclipse lacks something
there is plugin for it.
JBoss + Eclipse?

Well it's OK. Configuring JBoss for database acces is tricky, but
doable. And JBoss (as a developer enviorment) is shipped fully
configured.
Oracles OC4J only? or the whole application server bundle

Do I need or should I use ant?

Well Maven has a pretty step learning curve, so for start with ant (or
some Eclipse utilities).
 
M

Manish Pandit

Hmm. As Ive been told making big projects in Tomcat is a pain. It
doesnt support EJB, and above all it doesn't support JPA. JPA handles
all transaction based problems gently and effectively (Well you may
use JPA as in Java SE, but it does'nt give transaction handling).

Tomcat is not supposed to support EJBs. It is a Servlet Container, not
an EJB Container. By JPA I believe you mean JTA, which is an API for
Transaction Management (JPA is for Persistence).
And Tomcat is not so scalable.

Tomcat is scalable and is handling many real world websites.

Visit http://wiki.apache.org/tomcat/PoweredBy to see a list.
Well it's OK. Configuring JBoss for database acces is tricky, but
doable. And JBoss (as a developer enviorment) is shipped fully
configured.

Configuring JNDI datasources is pretty standard in all providers. All
you need is the JDBC driver jar in classpath, the driver class name,
the database connection URL and the access credentials (user/password/
SID..).

-cheers,
Manish
 
C

Chris ( Val )

Well, as a rule of thumb, products that are easy to manage from
beginning, are pain in big project. So try JBoss + <Whatever
enviorment you prefer>, JBoss is commercial grade application, but is
OK to configure.

Don't worry about IDE you can change it (Eclipse support most
AppServers, NetBeans too).

Thanks for your advice, I really appreciate it.

It seems to me that Eclipse + JBoss or NetBeans + JBoss are
good recommended choices, but no mention of Sun's own J2EE
application server by anyone, at least not yet :)

Is this not a good environment to learn with compared to
the above? Likewise Oracle OC4J?

I ask because I have seen that Sun offer what look like good
tutorials to start using their environment, and Oracle has
loads of documentation as well. Do the others offer documentation
in the same way, and plenty of it?

So I guess I'm looking for something to install right out of the
box, set a few environment variables, and get stuck into it, or
something similar.

What I don't really want to do is install X container then Y module
that requires other Z services, etc...

If any of you were to move from core Java into JSP's, Servlets, Java
Beans to finally enterprise EJB's, what would you choose, looking at
the documentation as being a big part of the decision?

Thanks again,
Chris
 
L

Lew

Chris said:
It seems to me that Eclipse + JBoss or NetBeans + JBoss are
good recommended choices, but no mention of Sun's own J2EE [sic]
application server by anyone, at least not yet :)

Is this not a good environment to learn with compared to
the above? Likewise Oracle OC4J?

Sun's App Server, based on the open-source Glassfish, is full featured. It
has a similar "enterprisey" feel to, say, IBM's WebSphere. It is really,
really full featured.

Working with enterprise-class application servers, one must shift from being a
programmer to being a systems master.

I started my JEE (then "J2EE") learning on Tomcat, then Tomcat + Apache HTTP
server. (httpd has some amazing capabilities.) This gets you going with
servlets, JSPs, multi-tier architecture and DAO stuff, plus is plenty
challenging when you integrate the whole thing (browser to RDBMS). At this
point one is not dealing with EJBs, BPEL, thread pools, anything more than
rudimentary LDAP or DB connection pooling. Most of what one can do as an
individual practitioner, including SOAP Web services, fits into the Tomcat (or
other servlet container) mode.

Ambition sets in. We're serving 100,000 requests a day. We've got a
terabyte-scale data store. We're load balancing, transaction managing, pool
tuning, queuing, abstracting common business practices into independent
components, data mining, and placing every higher demands on our information
(not just data) systems. We've got departments, data centers, budgets. It's
not just about the software - we need to integrate operations and business
goals in actual production. Now the full-blooded application servers like
JBoss, Geronimo and Glassfish come into their own.

As practitioners we need to encompass the operations standpoint and master
issues of deployment and real-world service guarantees. I suggest using all
three of the major free app servers (again, JBoss, Geronimo, Glassfish) for
learning. Pick a favorite after experience.

Many paying clients do not pick one of those, but an offering from the likes
of IBM, BEA, Oracle or, yes, Sun. These guys do support the open-source and
standards initiatives, so there will be plenty of skills applicability from
your use of the freebies.
 
C

Chris ( Val )

Chris said:
It seems to me that Eclipse + JBoss or NetBeans + JBoss are
good recommended choices, but no mention of Sun's own J2EE [sic]
application server by anyone, at least not yet :)
Is this not a good environment to learn with compared to
the above? Likewise Oracle OC4J?

Sun's App Server, based on the open-source Glassfish, is full featured. It
has a similar "enterprisey" feel to, say, IBM's WebSphere. It is really,
really full featured.

Working with enterprise-class application servers, one must shift from being a
programmer to being a systems master.

I started my JEE (then "J2EE") learning on Tomcat, then Tomcat + Apache HTTP
server. (httpd has some amazing capabilities.) This gets you going with
servlets, JSPs, multi-tier architecture and DAO stuff, plus is plenty
challenging when you integrate the whole thing (browser to RDBMS). At this
point one is not dealing with EJBs, BPEL, thread pools, anything more than
rudimentary LDAP or DB connection pooling. Most of what one can do as an
individual practitioner, including SOAP Web services, fits into the Tomcat (or
other servlet container) mode.

Ambition sets in. We're serving 100,000 requests a day. We've got a
terabyte-scale data store. We're load balancing, transaction managing, pool
tuning, queuing, abstracting common business practices into independent
components, data mining, and placing every higher demands on our information
(not just data) systems. We've got departments, data centers, budgets. It's
not just about the software - we need to integrate operations and business
goals in actual production. Now the full-blooded application servers like
JBoss, Geronimo and Glassfish come into their own.

As practitioners we need to encompass the operations standpoint and master
issues of deployment and real-world service guarantees. I suggest using all
three of the major free app servers (again, JBoss, Geronimo, Glassfish) for
learning. Pick a favorite after experience.

Many paying clients do not pick one of those, but an offering from the likes
of IBM, BEA, Oracle or, yes, Sun. These guys do support the open-source and
standards initiatives, so there will be plenty of skills applicability from
your use of the freebies.

Hi Lew, and thanks for your summary.

After reflecting on your comments, I guess that I might be getting to
eager and rushing into the enterprise level of it, rather than
focusing
on the core skills (deployment, set up, etc...).

I am currently working as a support analyst, but I am looking to move
into
a Java application support role. Most of the jobs I see advertised
quote
Java/J2EE, and it is extremely hard for me to guess at 'exactly' what
skills they require for such roles, but what makes is worse is that
the
recruiters themselves don't know when I ask them. Their answer is you
either know J2EE or you don't.

So, I would like to go for one of these jobs in the future, but don't
know exactly what I should learn?

Maybe a good knowledge of a J2EE container like Tomcat and learning
how to configure its many features (web & server.xml, deployment, etc)
writing some more JSP's, Servlets and getting started on JavaBeans
and using Ant is enough?

Thanks again,
Chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,059
Latest member
cryptoseoagencies

Latest Threads

Top