J2EE, Spring, Hibernate, EJB .... what the ???

S

swebb99

Hi,

I'm a J2SE developer who has been working on gui application forever
and I've decided that I need to learn a bit about the other side of
the fence, what goes on in the server side. The problem I'm having at
the moment is that I just can't see the wood from the tree's. I really
can't figure out what all the different bits of technology are for,
how they fit together, which ones compete. I've seen JSP's, EJB's,
Spring, Hibernate and lots of other technology referred to but I can't
seem to find anything that attempts to give a quick overview of
everything, its place in the world, the pro's/con's and so on.

As far as I can tell at the moment Hibernate hides away the low level
JDBC and relational aspects, EJB also provides similar functionality
but requires a server, Spring is a framework that links various
technology together, JSP are to be used for handling web
pages ........... the is just so much to take in, I really need an
idiots guide just so I can figure out what I really need to read up
on.

Any they say swing is complicated !!!

Thanks for any advice

Steve
 
A

Arne Vajhøj

I'm a J2SE developer who has been working on gui application forever
and I've decided that I need to learn a bit about the other side of
the fence, what goes on in the server side. The problem I'm having at
the moment is that I just can't see the wood from the tree's. I really
can't figure out what all the different bits of technology are for,
how they fit together, which ones compete. I've seen JSP's, EJB's,
Spring, Hibernate and lots of other technology referred to but I can't
seem to find anything that attempts to give a quick overview of
everything, its place in the world, the pro's/con's and so on.

As far as I can tell at the moment Hibernate hides away the low level
JDBC and relational aspects, EJB also provides similar functionality
but requires a server, Spring is a framework that links various
technology together, JSP are to be used for handling web
pages ........... the is just so much to take in, I really need an
idiots guide just so I can figure out what I really need to read up
on.

Any they say swing is complicated !!!

The entire Java EE stack is pretty big.

1) Very short version:

Hibernate = O/R-Mapper (and can be used in Java SE as well)
Spring = IoC framework (and can be used in Java SE as well)
EJB's = components used in business logic layer
JSP = template system used in presentation layer
Servlet = typically used for controllers in control layer
JCA = adapters for external systems
JSF = component based presentation and control layer build on JSP (and
servlet)

2) Short version

Lookup the above items at Wikipedia.

3) Medium version

Read SUN's Java EE tutorial.

4) Long version.

Download the specs (as PDF files) and read them.

Arne
 
L

Lew

Arne said:
The entire Java EE stack is pretty big.

1) Very short version:

Hibernate = O/R-Mapper (and can be used in Java SE as well)
Spring = IoC framework (and can be used in Java SE as well)
EJB's = components used in business logic layer
JSP = template system used in presentation layer
Servlet = typically used for controllers in control layer
JCA = adapters for external systems
JSF = component based presentation and control layer build on JSP (and
servlet)

2) Short version

Lookup the above items at Wikipedia.

3) Medium version

Read SUN's Java EE tutorial.

4) Long version.

Download the specs (as PDF files) and read them.

Playing with actual deployment is worthwhile, too. Start light - just, say,
Tomcat with an IDE like Eclipse or NetBeans or whatever. This gives you some
of the Java EE stack, and you can mix in features like JPA with Hibernate
JARs, JSF, and quite a bit of the other interesting things. The rest of the
Java EE load comes in free downloads like GlassFish, JBoss and Apache
Geronimo, that rival the big guns like WebSphere. I've found multi-core
platforms with gobs of RAM to be helpful with full-fledged Java EE servers.
 
R

Roedy Green

EJB's,
Spring, Hibernate and lots of other technology referred to but I can't
seem to find anything that attempts to give a quick overview of
everything, its place in the world, the pro's/con's and so on.

If you look up a word in the Java glossary it will give you a couple
of sentences to tell you what it is for. This information is
carefully hidden on the websites devoted to the worship of that
particular program, after the manner of the mystery rites of Dionysus.

See http://mindprod.com/jgloss/jgloss.html

see http://mindprod.com/jgloss/ee.html for an overview of all the
pieces of EE (nee J2EE).
 
M

markspace

As far as I can tell at the moment Hibernate hides away the low level
JDBC and relational aspects, EJB also provides similar functionality
but requires a server, Spring is a framework that links various
technology together, JSP are to be used for handling web
pages ........... the is just so much to take in, I really need an


Yes, the JEE stack is huge. I don't program in JEE regularily so I
can't give expert advice here.

However, one book I got for myself helped a lot. O'Reilly's Head First
Servlet and JSP is a pretty good intro to just the Servlet part of the
spec. I think that's where you should start.

Learn the Servlets, they're the basis for everything else. There's even
a small section in the book about frameworks like Struts, which gives
you a lead in to other frameworks like Spring too.
 
S

swebb99

The entire Java EE stack is pretty big.

1) Very short version:

Hibernate = O/R-Mapper (and can be used in Java SE as well)
Spring = IoC framework (and can be used in Java SE as well)
EJB's = components used in business logic layer
JSP = template system used in presentation layer
Servlet = typically used for controllers in control layer
JCA = adapters for external systems
JSF = component based presentation and control layer build on JSP (and
servlet)

2) Short version

Lookup the above items at Wikipedia.

3) Medium version

Read SUN's Java EE tutorial.

4) Long version.

Download the specs (as PDF files) and read them.

Arne

Great thanks Arne that ties in roughly with what I thought, at least I
know kind of what aspects each is dealing with now, I'll have a read
around each.

Steve
 
S

swebb99

Playing with actual deployment is worthwhile, too.  Start light - just, say,
Tomcat with an IDE like Eclipse or NetBeans or whatever.  This gives you some
of the Java EE stack, and you can mix in features like JPA with Hibernate
JARs, JSF, and quite a bit of the other interesting things.  The rest of the
Java EE load comes in free downloads like GlassFish, JBoss and Apache
Geronimo, that rival the big guns like WebSphere.  I've found multi-core
platforms with gobs of RAM to be helpful with full-fledged Java EE servers.

Good idea Lew I'll have a dig around the Netbeans Tutorials and see
what they give me.

Thanks

Steve
 
S

swebb99

Seehttp://mindprod.com/jgloss/jgloss.html

seehttp://mindprod.com/jgloss/ee.htmlfor an overview of all the
pieces of EE (nee J2EE).

Great links William I'm sure they will come in handy for this and
other stuff !

Thanks

Steve
 
S

swebb99

However, one book I got for myself helped a lot.  O'Reilly's Head First
Servlet and JSP is a pretty good intro to just the Servlet part of the
spec.  I think that's where you should start.

Learn the Servlets, they're the basis for everything else.  There's even
a small section in the book about frameworks like Struts, which gives
you a lead in to other frameworks like Spring too.

I'll check out he book Mark and have a look into servlets thanks for
the tip.

Steve
 
S

swebb99

However, one book I got for myself helped a lot.  O'Reilly's Head First
Servlet and JSP is a pretty good intro to just the Servlet part of the
spec.  I think that's where you should start.

Learn the Servlets, they're the basis for everything else.  There's even
a small section in the book about frameworks like Struts, which gives
you a lead in to other frameworks like Spring too.

I'll check out he book Mark and have a look into servlets thanks for
the tip.

Steve
 
A

Arved Sandstrom

markspace said:
Yes, the JEE stack is huge. I don't program in JEE regularily so I
can't give expert advice here.

However, one book I got for myself helped a lot. O'Reilly's Head First
Servlet and JSP is a pretty good intro to just the Servlet part of the
spec. I think that's where you should start.

Learn the Servlets, they're the basis for everything else. There's even
a small section in the book about frameworks like Struts, which gives
you a lead in to other frameworks like Spring too.

I agree. It's basically all about web apps, and in J2EE web apps centre
on servlets. JSPs compile into servlets. In JSF everything else hangs
off a front controller servlet (the FacesServlet). Java web services
typically compile into session EJBs or...you guessed it...servlets.
Spring MVC has a DispatcherServlet.

Other aspects of J2EE come in because of practical needs - talking to
databases (JDBC/entity EJB/JPA/entity
bean/Hibernate/EclipseLink/iBatis), business logic encapsulation
(session EJBs), implementing security, looking up things so you can use
them (JNDI), messaging (JMS), implementing transactions (JTA) and so forth.

One thing to keep in mind, which could be important depending on which
books or articles you read and when they were written, is that the
architectural picture of J2EE has changed quite a lot since its
inception, and also in the last few years. I won't go so far as to say
that anything older than 2 or 3 years is necessarily obsolete, but my
recommendation would be, take your lead from some of the "canonical"
documentation like the Java EE 5 tutorial (*), and pay attention to what
specification versions are involved. And also, be aware that J2EE
doesn't automatically mean that you need full-fledged EJBs: that's never
been the case, strictly speaking, but up until not so long ago most
anyone writing a big app tended to think that an EJB container _had_ to
be involved. This is no longer a given.

AHS

* there are big changes between J2EE 1.4 and Java EE 5. No small number
of us still have to support the earlier version. But since you're
starting afresh, stick to 5, and be aware that 6 is soon upon us. :)
 
S

swebb99

I agree. It's basically all about web apps, and in J2EE web apps centre
on servlets. JSPs compile into servlets. In JSF everything else hangs
off a front controller servlet (the FacesServlet). Java web services
typically compile into session EJBs or...you guessed it...servlets.
Spring MVC has a DispatcherServlet.

Other aspects of J2EE come in because of practical needs - talking to
databases (JDBC/entity EJB/JPA/entity
bean/Hibernate/EclipseLink/iBatis), business logic encapsulation
(session EJBs), implementing security, looking up things so you can use
them (JNDI), messaging (JMS), implementing transactions (JTA) and so forth.

One thing to keep in mind, which could be important depending on which
books or articles you read and when they were written, is that the
architectural picture of J2EE has changed quite a lot since its
inception, and also in the last few years. I won't go so far as to say
that anything older than 2 or 3 years is necessarily obsolete, but my
recommendation would be, take your lead from some of the "canonical"
documentation like the Java EE 5 tutorial (*), and pay attention to what
specification versions are involved. And also, be aware that J2EE
doesn't automatically mean that you need full-fledged EJBs: that's never
been the case, strictly speaking, but up until not so long ago most
anyone writing a big app tended to think that an EJB container _had_ to
be involved. This is no longer a given.

AHS

* there are big changes between J2EE 1.4 and Java EE 5. No small number
of us still have to support the earlier version. But since you're
starting afresh, stick to 5, and be aware that 6 is soon upon us. :)

Great thanks Arved thats been a help, I'm finally getting my head
around how all this stuff fits in now. I think I'm in the same boat as
people who start using low level swing for the first time, I start
talking about table sorters, cell rendering, strokes and so on and I
get blank looks for the first couple of weeks ;)

I suppose most people learn this stuff on job where other people are
around to ask or maybe at college. With just myself and no one else to
ask I'm obviously taking the hard route but I've got to learn sometime
as it will be easier to find work if I have an understanding of
backend and web java development and not just front end gui
development (I've written lots of server processes though but using
only J2SE technology).

Thanks again

Steve
 
T

Tom Anderson

I'm a J2SE developer who has been working on gui application forever and
I've decided that I need to learn a bit about the other side of the
fence, what goes on in the server side. The problem I'm having at the
moment is that I just can't see the wood from the tree's. I really can't
figure out what all the different bits of technology are for, how they
fit together, which ones compete.

Welcome to the force, son.

tom
 
A

Arne Vajhøj

Yes, the JEE stack is huge. I don't program in JEE regularily so I can't
give expert advice here.

However, one book I got for myself helped a lot. O'Reilly's Head First
Servlet and JSP is a pretty good intro to just the Servlet part of the
spec. I think that's where you should start.

Learn the Servlets, they're the basis for everything else. There's even
a small section in the book about frameworks like Struts, which gives
you a lead in to other frameworks like Spring too.

I would not spend too much time on servlets.

Very little Java EE work actually involves writing servlets
yourself.

And the stuff you need to know about servlets are relative
easy to learn.

Arne
 

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,744
Messages
2,569,479
Members
44,900
Latest member
Nell636132

Latest Threads

Top