Java Coding Done Right

 
 
By Peter Coffee  |  Posted 2002-01-14 Email Print this article Print
 
 
 
 
 
 
 

Oracle9i JDeveloper 5.0, a Java IDE, provides sterling development platform.

If theres one thing that a Java development platform should be able to produce and host, its a first-rate integrated Java development environment. Many candidates for that title have come through eWeek Labs, but Oracle Corp.s Oracle9i JDeveloper 5.0 (which we reviewed in its late-November build) is one of the most responsive, complete and best integrated that weve seen—and its free for full-function download and trial, though subject to license for commercial or production application development.

Wed pay for this product. The JDeveloper IDE (integrated development environment) includes the kind of immediate, dynamic feedback on coding in progress that marked Borland Software Corp.s JBuilder as a breakthrough when it first appeared. The debugger is first-class. The products interactive coding aids are likewise in JBuilders class—but unlike previous Oracle-labeled Java development systems, JDeveloper is not a repackaged Borland tool but rather a wholly new Oracle product.

JDeveloper isnt just a Java coding tool; its intended to act as an on-ramp to the Web services journey that Oracle hopes will bring enterprise developers to Oracles own platform. Even so, we didnt feel that JDeveloper was trying to lock us in: In the configuration we tested, both Apache SOAP, or Simple Object Access Protocol, and Oracle9i Application Server targets were available, and standards-based, extensible design pervades the environment with its reliance on XML and Web Services Description Language.

The furnished tutorial project is representative of what developers will be doing with the tool, and its a lengthy and thorough introduction. The tutorial begins with the generation of a persistent EJB (Enterprise JavaBean) from a database table and proceeds through the publication of a stateless EJB as a Web service.

Architectural tools are exercised with the construction of a UML, or Unified Modeling Language, class diagram and the generation of objects that map to relational tables. JDevelopers code creation facilities become familiar with the implementation of business logic and the development of a JSP (JavaServer Pages) front end for that logic.

To find such comprehensive facilities for development and testing, in a single, well-integrated environment, is no small thing—to find them in a freely available tool set is almost inspiring.

Like Microsoft Corp.s Visual J++ or WebGain Inc.s VisualCafé, JDeveloper offers its tools in a choice of either docked or floating windows. Borlands JBuilder makes more economical use of screen space with a tabbed-pane interface that makes it easy to find different views of a project in progress, but many developers prefer the simultaneous and easily rearranged access of the multipaned approach. With the higher pixel counts on current displays, we now find the approach used by JDeveloper less extravagant than it used to seem.

Developers who prefer to keep things compact can drag one window into the center of another to combine tools at will in their own tabbed-pane conglomerations. (If someone else did this first, pardon us for not noticing.)

Moreover, since JDevelopers entire user interface is being drawn by Java code, we werent even confined to the Windows look and feel. It was easy to switch to a Common Desktop Environment/Motif, generic Metal or Oracles own cosmetic treatment for all but the highest-level window containing the integrated environment.

In addition to the pop-up auto- completion menu for expressions while we were writing our own code, JDeveloper offered a diagnostic CodeCoach tool that evaluated application structure in the context of an actual session. Recommendations such as "Class Frame1 should be final" were tied back to the corresponding points in our source code, with the further convenience of a point-and-click automatic fix, so we could easily make our code more robust.

The online documentation for CodeCoach is candid about its limitations. Classes are ignored unless actually loaded, so a class may be recommended for modification to "static," even though some conditions may trigger the loading of another class that extends it. Other tool sets, such as Sitraka Inc.s JProbe Suite with its JProbe Coverage analyzer, do more to avoid developer oversights during testing.

There are other, smaller things we could criticize in JDeveloper 5.0 (technically, a release candidate pending the general availability of Oracle9i Application Server Release 2). In tests under Windows 2000, it sometimes betrayed its status as a nonnative application with tiny but annoying nonstandard user interface behaviors. However, we dont consider these serious flaws in a tool that does so much—and, generally, so well.

Technology Editor Peter Coffee can be reached at peter_coffee@ziffdavis.com.



 
 
 
 
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...

 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel