Step into the J2EE architecture and process
Develop complete J2EE solutions with an eight-step cycle
By Jian Zhong, JavaWorld.com, 09/28/01
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
In the commercial world, we use Java 2 Enterprise Edition (J2EE) to solve business problems, to develop commercial software,
or to provide contract services to other businesses' projects. If a company wants to build an e-business Website using a multitiered
architecture, it usually involves managers, architects, designers, programmers, testers, and database experts throughout the
development lifecycle.
For different parties to work efficiently and effectively, they often need a software development process. Some classic development
processes include the waterfall model, rapid application development (RAD), and extreme programming. In this article, we will
focus on a popular software engineering process, the Rational Unified Process (RUP). RUP provides a disciplined approach to
assigning tasks and responsibilities to different roles. Its goal ensures we produce high-quality software that meets user
needs within a predictable schedule and budget.
I like to use RUP for J2EE development for three reasons. First, RUP is architecture-centric; it develops an executable architecture
prototype before committing resources for full-scale development. Second, RUP is iterative and component-based. The architecture
baseline often includes a framework or infrastructure to facilitate adding components through iterations to customize and
extend a system's functionality without affecting the rest of the system. Third, RUP employs an industry-standard language,
UML, to visually model a system's architecture and components. RUP has four different development phases: inception, elaboration,
construction, and transition. This article, however, covers eight essential activities involved in J2EE development from a
technical perspective in a manner that maintains the architectural focus.
I. Requirements analysis
The requirements analysis describes what the system should or should not do so that developers and customers can create an
initial business contract. You can document functional requirements in business concepts, domain glossaries, use cases, and
user interface (UI) mockups. Nonfunctional requirements, such as performance and transactions, you specify in a supplementary
requirements document. You can create the high-level UI mockup on paper or in HTML, depending on how deeply you are involved
in the project.
Figure 1 shows two sample use cases of a typical e-business system. The viewOrder use case tells us that a user logs into a system through a Web interface, sees an order list, and clicks a link to view order
details of a specific purchase order. The addLineItems use case tells us that the user browses a product catalog, selects interesting products, and adds them to a purchase order.

Figure 1. Order use cases
II. Object-oriented analysis
Analysts generate problem domain models: classes, objects, and interactions. Your analysis should be free from any technical
or implementation details and should contain an ideal model. Object analysis helps you understand the problem and acquire
knowledge about the problem domain. You must maintain a pure domain model without technical details because a business process
changes much more slowly than information technologies.
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Resources
- J2EE BluePrints, including design patterns catalog and the pet store demo architecture overview
http://java.sun.com/j2ee/blueprints/
- Also check out the 23 "Gang of Four" design patterns in Design PatternsElements of Reusable Object-Oriented Software, Erich Gamma et al. (Addison-Wesley, 1995; ISBN0201633612)
http://www.amazon.com/exec/obidos/ASIN/0201633612/javaworld/
- "Developing Large-Scale Systems with Rational Unified Process," Maria Ericsson (Rational Software whitepaper)
http://www.rational.com/products/whitepapers/sis.jsp
- "The 4 +1 View Model of Architecture," Philippe Kruchten (Rational Software whitepaper)
http://www.rational.com/products/whitepapers/350.jsp
- "Rational Unified ProcessBest Practices for Software Development Teams" (Rational Software whitepaper)
http://www.rational.com/products/whitepapers/100420.jsp
- Rational-BEA Systems Strategic Alliance
http://www.rational.com/partners/alliances/bea/faq.jsp
- "Building Web Solutions with the Rational Unified Process" (Rational Software white paper)
http://www.rational.com/products/whitepapers/101057.jsp
- IEEE's recommended practice for architectural description group
http://www.pithecanthropus.com/~awg/
- "Frameworks Save the Day," Humphrey Sheil (JavaWorld, September 2000) uses an extensible, vendor-independent framework to accomplish top tasks in server-side development
http://www.javaworld.com/javaworld/jw-09-2000/jw-0929-ejbframe.html
- "J2EE Project Dangers!" Humphrey Sheil (JavaWorld, March 2001) avoids 10 J2EE dangers to ensure enterprise Java project success
http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-ten.html
- Sun Certified Enterprise Architect for Java 2 Platform, Enterprise Edition-related information
http://suned.sun.com/US/certification/
- UML Toolkit, Hans-Erik Eriksson and Magnus Penker (John Wiley & Sons, 1997; ISBN0471191612)
http://www.amazon.com/exec/obidos/ASIN/0471191612/javaworld
- Design Patterns and Contracts, Jean-Marc Jezequel, Michel Train, and Christine Mingins (Addison-Wesley, 1999; ISBN0201309599)
http://www.amazon.com/exec/obidos/ASIN/0201309599/javaworld
- Java 2 Certification Training Guide, Jamie Jaworski (New Riders, 1999; ISBN1562059505)
http://www.amazon.com/exec/obidos/ASIN/1562059505/javaworld
- Enterprise JavaBeans, Third Edition, Richard Monson-Haefel (O'Reilly & Associates, September 2001; ISBN1565928695)
http://www.amazon.com/exec/obidos/ASIN/0596002262/javaworld
- Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition, Nicholas Kassem and the Enterprise Team (Addison-Wesley, 2000; ISBN0201702070)
http://www.amazon.com/exec/obidos/ASIN/0201702770/javaworld
- Java 2 Platform, Enterprise Edition Platform and Component Specifications, Bill Shannon et al. (Addison-Wesley, 2000; ISBN0201704560)
http://www.amazon.com/exec/obidos/ASIN/0201704560/javaworld
- For more J2EE articles, browse JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-j2ee-index.shtml
- For more EJB articles, browse JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-ejbs-index.shtml
- For more JavaServer Pages articles, browse JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-jsp-index.shtml
- For more Servlets articles, browse JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-servlets-index.shtml
- Check out Mark Johnson's new Enterprise Java column
http://www.javaworld.com/columns/jw-enterprise-index.shtml
- Subscribe to JavaWorld's free weekly email newsletters
http://www.idg.net/jw-subscribe
- You'll find a wealth of IT-related articles from our sister publications at IDG.net