For quite a while I've been wanting to move into some of the more widely used methods for writing and deploying large-scale apps, particularly in Java. Sun developed a system called J2EE a while back that provides an environment where Java apps can scale to incredibly large installations. Up until now, I haven't had the opportunity to really explore it
I recently started a 4 month project with a company in NJ to explore the feasibility of porting their applications from a Visual Foxpro base into J2EE. This is really a fantastic opportunity. I'm not only helping a great project move into an exciting new environment, but I'm also getting the chance to learn something I've been interested in for ages
One drawback though is that the J2EE environment is huge and fairly complex, and therefore there's not 'one way' to do things. J2EE provides an object-based application server that's designed to let you design and implement virtually any system and do it big. The steps I'm taking now are determining what aspects of this system are appropriate for us to use, and how to use them
This process is not helped by the fact that I don't KNOW J2EE at all. I've never used these technologies myself for my own application development, and I've only brushed up against some of their technologies at a previous job. My work on CONGO used a hyper-simplified version of this concept, so there's a heck of a learning curve here.
I am making progress though. Part of this project really requires the environment to be workable from someone who has traditionally been using Microsoft Visual Studio applications. That means a clean IDE, object editor and browser, etc. Tonight I successfully configured Eclipse to use a plugin to manage the JBoss application server I'm running on my laptop. Following some tutorials, I built and deployed a servlet to the server, and, via an Apache module used to connect Java servlet containers to web servers, I successully ran the servlet, and got those wonderful words... "Hello World".
Seems like a lot of work to get 2 words on the screen, eh? But that's the joy of learning a whole new environment. It doesn't look like much, but it represents a big step down the road to understanding how I (and my client in NJ) may use this system to write and deploy applications. Personally, I'm okay as long as I don't get stuck, and continue moving forward.
This coming week I hope to have enough in place to get a full JSP->Servlet->database process working, so that I'm familiar enough with the environment that I can start looking at designing how things REALLY work inside the appserver