Why JavaEE / EJB3?



Greetings all,
For a current project, I'm trying to decide whether to stick with how
we've always done it or whether to invest the time, energy, and resources
into making it a full J2EE app. I've never worked with ejb, jms, etc before.
The "way we've always done it" is Tomcat/jsp/jstl/pojo. No servlets, no
MVC, no need for multiple clients (swing vs. html vs. mini devices), no need
for internationalization. just straight up database (via jndi and datasource
setup in server.xml) and html (ala jsp).

What i'm trying to guague is whether moving to java ee will reduce our
complexity and maintenance, save coding time, and basically just help me get
this damn thing out the door as quick and painlessly as possible, given our
needs.

1) have to be able to run this on a cluster of servers with session
failover. load balancing is done with cisco hardware (I think). but if user
1 hits server a on one request and server b on second request, obviously his
session has to move with him. IDEALLY, ear/war files would all be in one
location, say, a NAS device, with all nodes in the cluster pointing to that
one deployed file.

2) need to manage 3-4 different environments with the least amount of pain
possible: dev, test, staging, prod. problems would be in location of the
code relative to the server, database names (datasource name would be the
same, but the URL for the database would be different in all 3
environments), etc. for example, on dev, the code might live at
\\server\share\code\version but on prod it would be at
\\server\someothershare\share\code

3) all the other usual requirements: session/application state, etc.

4) a handful (less than 5) chunks will be exposed as web services. typically
we've done this via AXIS with good results.

5) we'd be using jboss/tomcat if we went the java ee route

6) eclipse plugins that would help get people up to speed would be nice

7) easy debugging. don't want to have to restart the server everytime a
change is made to a jsp or class file

I suppose the problem is that since i don't know much about the java ee
stack, i don't know at all how, if at all, it can help me solve these
problems or solve them with less complexity than would be involved in just
sticking with the current method. I imagine the scenario i describe above
is so common that everybody does it and that there are thousands of articles
and opinions and best practices.

Forgive me if i'm not asking the right questions...possibly i don't even
know what questions to ask without learning more about the java ee stack.
i'm currently doing that right now and am hoping for some guidance.

thanks a lot for all opinions.

Marc



.



Relevant Pages

  • Re: Horizontal scaling - advice needed
    ... the session can be unambiguously proxied to the right backend server, ... To start with have a single database machine. ... Full database clustering is challenging, but if your site is making you lots ... For transient session state, ...
    (comp.lang.ruby)
  • Re: Lisp Web Development and Application State
    ... the hook for you to map back to wherever on the server you stored ... this can extend so far as to store *all* of the state ... a session or hack together a continuations/closures system that stores ... Write the "state" to the database in a single field. ...
    (comp.lang.lisp)
  • Re: Good Design Practice Question
    ... greatly increase the effeciency of your database hits. ... (if you forsee requiring more customers in a single context, then it may be better to make one hit immediately ... Ensure that your database server is configured to properly handle the largest load you expect. ... Session state is usefull for minimizing database hits and reducing the amount of times you have to "munge" the data before it's ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: distributed php
    ... >> By that I just mean, run on many computers... ... >> communication between threads is through the database anyway right (not ... > every server shares. ... Since PHP allows you to write your own session handler ...
    (comp.lang.php)
  • Re: Java client-server: what options are there?
    ... Database / Server / Java-Program ... Database / Java-Program (The direct Client JDBC-solution which you already ruled out) ... A Tomcat based server is then a good solution. ... As a communication protocoll between Server and client you might use directely TCP-Sockets as available in the java classes. ...
    (comp.lang.java.programmer)