tags:

views:

64

answers:

4

Alright, the question might be broad. We've been looking at Jboss and a few other similar app. servers.

From the feature list it would be perfect for replacing our soon to be outdated homegrown reporting application on the server side. But at this point, for 2 developers, just grasping all the setup, configuration, administration, tuning,testing not to mention the APIs and programming itself just seems way too much, too big, too complex.

What path does people take to become familiar and productive with such application servers ?

+1  A: 

Start with a simple one, and only use a more complex one if you really need the features.

For example, Do you really need the full JBoss stack? Would Tomcat not be sufficient? It's much less of a handful.

skaffman
Incidentally, the JBoss configuration that we use in production has had most of its guts removed, we just use the features we need. It's quite flexible that way.
skaffman
A: 

I would approach this the same way I approach anything new.

Start with the documentation - read the introduction and basic setup/configuration documents. Then move on to tutorials and maybe some simple apps that I find interesting. In your case, maybe port a few features over to the new system. As time goes on, you should get better with the tools at hand.

Thomas Owens
A: 

I'd say that the minimum features for using Java EE are:

  1. Servlets and JSPs, written using JSTL (no scriptlets)
  2. JDBC
  3. JNDI for pooling database connections (optional but recommended)
  4. Basic authentication for security

You can accomplish a great deal knowing just those. If you want to minimize the learning curve, I'd recommend starting with those and staying away from EJBs, JMS, Struts, JSF, etc.

Another benefit is that this subset of features is common to both servlet/JSP engines, like Tomcat, Jetty, Resin, etc. and full-blown Java EE app servers like WebLogic, JBOSS, WebSphere, etc. An app that runs on one should be portable to any of the others, as long as you stay away from app engine-specific extensions.

You should realize that there's a trade-off here. You'll have to develop pieces that might be easier if you leverage the app server more. But hopefully you'll start with some simpler problems and work your way up once you're comfortable with the basics.

There's another approach: Hire an experienced guide to help you with training and mentoring for the first project. A six-month gig with a reputable consulting firm might get you started.

Last of all, I'd recommend Spring. It would also have a learning curve, but it's a good alternative to Java EE EJB development.

duffymo
A: 

From my experience using one is the best way to learn what you like/dislike about it. Once you have a project set up for one application server it should not be too much work to migrate it to another. I am currently working on an application that we develop & test daily using a simple Tomcat v6 server, but which runs in production on both Websphere Application Server and JBoss.

As a side note for your development, I strongly recommend looking into integrating your Eclipse development environment with your chosen application server through server adapters - it will greatly speed up development tasks and simplify the debugging process.

Joseph Paterson