| By Ajit Sagar | Article Rating: |
|
| July 1, 2002 12:00 AM EDT | Reads: |
15,787 |
Here's a short pop quiz: Have you ever built an application in J2EE and taken it through the entire product life cycle? Or, for that matter, any distributed computing application? If the answer is "Yes," then answer this one: Have you handled all the facets of the application on your own - as a one-man team? If you answered "Yes" to both questions, my response is: I don't believe you. You can do one or the other, but not both, if we're talking about a real-world application, that is.
J2EE offers a platform for developing applications whose components or subsystems can be distributed across the different tiers of the computing network. The obvious advantage is the decoupling of the programming logic that leads to reusable and scalable solutions. The other main advantage is that development projects can structure their teams so that each member is assigned to develop the subsystem that utilizes his or her particular skillset. The operative word here is team. J2EE projects are team-oriented projects.
Of course, J2EE development can mean different things to different folks. There's a plethora of configuration options for application components and a variety of APIs that can be applied to their development. Sun's Java Blueprints outline the different ways to skin the n-tier. It all depends on the business requirements of your application, the technologies available at your company (or the ones that your corporation is willing to invest in), and the external systems you will have to integrate with.
It's true that a J2EE application can be built by a one-man team. For instance, if you're building the Pet Store application, the airline reservation application, or the typical bank account two-phase-commit example, you can do it yourself. Or if your application consists of a few business flows built on simple business logic and textbook data schemas, one or two developers with similar skillsets will suffice.
However, the colloquial interpretation of a J2EE application is one that uses the J2EE object model - EJB. Typically, EJBs apply to large-scale business applications, and an EJB-based project requires a mix of skillsets. In fact, the J2EE application server vendors have cornered the market on the J2EE frameworks and component containers. The Java IDEs offer the code development environment. The data and business modeling tools enable design and analysis. The vendors offer a mix of options for developing J2EE applications, all based on the J2EE Blueprints.
To effectively utilize the tools in the market, you need to first define an appropriate team for your application. The skillsets you'll need can be broadly classified into the following areas:
- Front-end graphics
- JSP/servlet/HTML/Web development
- EJB/middle-tier Java components
- Database and application server administration
Fortunately, there are resources in the market that will aid you in defining the appropriate architecture. The J2EE vendors have mature offerings that help you develop reusable components, as well as environments that enable you to migrate components across the tiers. Several online and print resources for applying good design patterns and best practices are available too.
Published July 1, 2002 Reads 15,787
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ajit Sagar
Ajit Sagar is a principal architect with Infosys Technologies, Ltd., a global consulting and IT services company. Ajit has been working with Java since 1997, and has more than 15 years experience in the IT industry. During this tenure, he's been a programmer, lead architect, director of engineering, and product manager for companies from 15 to 25,000 people in size. Ajit has served as JDJ's J2EE editor, was the founding editor of XML Journal, and has been a frequent speaker at SYS-CON's Web Services Edge series of conferences, JavaOne, and international conference. He has published more than 125 articles.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















