With the rapid adoption of J2EE has come the realization that more thanjust J2EE expertise is needed to successfully develop enterpriseapplications.
The following are critical to the success of J2EE projects:
- A well-defined component integration strategy
- The ability to select the right J2EE platform vendor
- Good understanding of internal and external expectations
- Evaluation of technical and nontechnical challenges and risks
- Availability of resources and tools
- Capabilities of the team
- Realizing that the best J2EE design practices have to be tailored tomeet the needs of the specific project
J2EE projects typically combine a variety of components built on EJBs,servlets, JavaBeans, JSPs, HTML pages, and the database. Each tier of anapplication is developed separately and follows a different "life cycle" inthe development process. For example, a minor change in the underlyingdatabase schema or an EJB can cause serious ripple effects in theapplication, whereas changing a servlet or a JSP does not constitute a riskof the same degree.
This article captures our recent experience in successfully managing asix-month, 22,500 man-hour J2EE project in a startup organization. Itfocuses on engineering processes that had to be set up to support thedevelopment of enterprise software. While we borrowed from differentdevelopment and design processes, we also had to evolve our own tocustom-fit into our environment, as is normally the case with real-worldprojects.
The primary motivation for writing this article was to pen down theprocesses, pitfalls, and challenges of successfully completing a fairlycomplex J2EE project in a bootstrap environment. We describe a practicalapproach to release and change management for a successful J2EE projectincluding setting up the environment; defining project teams, the tools andprocesses used; and J2EE-based design, development, and deployment.
The Environment
It goes without saying that the right level of J2EE expertise is a mustto make a J2EE project successful. Equally important is having the correctenvironment for the team to be the most productive. The developmentenvironment typically includes:
-The release methodology has to incorporate the fact that businesscomponents are built and released in a different manner than Web componentsbuilt using servlets and JSPs.






