| By Bill Roth | Article Rating: |
|
| December 1, 2002 12:00 AM EST | Reads: |
16,725 |
Back in the beginning of October, I was dragged into the middle of a raging e-mail argument. The argument was whether J2EE was a success, and if it was too complicated. This was like waving a red cape in front of a Spanish bull. I felt then, as I feel now, compelled to respond.
Full disclosure: I am writing this as a member of JDJ's editorial board. However, I am an unabashed J2EE partisan, and I remain a Sun employee. While I no longer work on the Java platform, I am proud of the work my team did, and the work the current team is doing now, in defining and evangelizing the Java platform. I still believe that J2EE is the last best hope for freedom from tyranny in the enterprise software arena.
There are two key ideas underlying the Java platform in its entirety. First is the unwavering belief in "Write Once, Run Anywhere." This motivates everything we do on the Java platform. Sometimes, we do things that the community appreciates, such as making the specifications freely available on the Web. Sometimes, it motivates us to do necessary things that are less appreciated, such as creating a licensing architecture to ensure that if an application is written to the standard, it will run anywhere.
The second key idea behind the Java platform is fairness, both to software vendors and the community. This is one of the motivating factors behind the JCP. The JCP is a framework that attempts to ensure that all parties have a fair share in the decision-making process, and that the development of the technology meets the community's needs.
The process is imperfect, but rapidly evolving to address those imperfections. Like the old saying about democracy, it is a rotten system, but it's better than every other system that has been tried in the past. There are those who carp about the process, but they're usually the ones who don't succeed in their particular agenda. The process seeks to meet the needs of the community as a whole.
Two main criticisms are leveled at J2EE. First, it's too complicated. After looking at the specifications, this is a reasonable conclusion. Second, it's too hard to use. From a review of many sample applications, this is also a reasonable conclusion. However, both of these criticisms are misguided and specious.
From looking at the specifications, programmers can reasonably come to the conclusion that J2EE is too complicated. The main problem is that the specifications were not written for application developers. They were written for (and by) the systems software architects at the roughly 80 companies in the world that build enterprise-class transactional software.
It's important to understand that the specifications are written as part of the deliberative process required by the JCP. The specifications that result can be likened to legislation and sausage: the final products look and taste good, respectively, but you don't want to know what went into making them.
As a result of this process, the industry has adopted J2EE rapidly because it provides scalability, it helps integrate diverse applications, and it provides a consistent development API.
The second criticism has emerged as J2EE has expanded its developer base from the small group of highly skilled enterprise developers to a larger body of developers: J2EE is too hard to use.
The basic API of J2EE is what it is. It was our belief that tools vendors would build products that would ultimately make programming easier. The production of tools to simplify J2EE programming has been slower than we anticipated, but recent announcements from all the major systems vendors are encouraging.
In summary, let me be clear. J2EE is something unique in the short history of the computer industry. It's a technology developed cooperatively with an entire industry. It is one of the few times when a group got together, agreed on a direction, and built a billion-dollar industry in a few short years. The progress we've made is substantial, but we have much more work to do.
Published December 1, 2002 Reads 16,725
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Bill Roth
Despite his technical education, Bill Roth is VP of Marketing at Nexenta in Silicon Valley. He is formerly the Vice President of the BEA Workshop Business Unit. Prior to this he was Chief Technical Evangelist for Epiphany. With over 20 years in this industry, he has played numerous product marketing, product management and engineering roles at companies like Sun, Morgan Stanley, and GSI Commerce. He was recently named one of the World's 30 Most Influential Cloud Bloggers.
- 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?

















