Welcome!

Java Authors: Maureen O'Gara, Liz McMillan, Walter H. Pinson, III, Yakov Werde, Tony Bishop

Related Topics: Java

Java: Article

JDJ Product Review: JDeveloper 10g

by Oracle

When vendors start charging more than $10,000 for a single tool, you know that the product category is about to heat up. Since Java IDEs have multiplied, I recently took Oracle JDeveloper 10g for a test drive - perhaps you didn't realize this vendor had a serious Java IDE.

Product Description
Oracle JDeveloper 10g is an integrated development environment (IDE) for building Java applications. It supports the latest industry standards for Java, XML, and SQL including J2EE 1.3, XML, WSDL, SOAP, UDDI, J2SE, and J2ME. Oracle JDeveloper's integrated features enable the developer to manage a project throughout the development life cycle of modeling, coding, debugging, testing, profiling, tuning, and deploying applications. These features are actually part of the product. JDeveloper offers enough features without cluttering the product with stuff I won't use. Contrast that with Microsoft: its Office suite is excellent, but I rarely use more than 10% of the features.

Installing and Using JDeveloper
I thought I must have skipped something - it took three minutes to install and run JDeveloper from a CD (JDK 1.4.1 is required). Get the JDeveloper zip file (from a CD or download it from http://otn.oracle.com/software/products/jdev/), unzip it to a new directory, then run it (Windows: [jdeveloper_root]\jdev\bin\jdevw.exe and Other platforms: [jdeveloper_root]/jdev/bin/jdev). I wish all products installed so cleanly.

The tool is written in Java, and this version of Oracle JDeveloper has added many features. For example, it provides a visual layout editor for both HTML and Swing-based user interfaces. This won't replace Dreamweaver, but it's nice to have. The Data Control Palette window provides a view into the business services layer. The developer can bind user-interface components to a business service with a simple drag-and-drop from this palette. Oracle has a lot of experience in this area due to its database heritage. Oracle JDeveloper embraces popular open source frameworks and tools, providing built-in features for Struts, Ant, JUnit, and CVS. For example, wizards provide an easy way to define test cases, test fixtures, and test suites for projects. Need a personal Java trainer? The CodeCoach feature in JDeveloper scans the application code and provides hints and tips on changes that can be made to optimize performance. You also get Code Metrics to evaluate the structure of the Java code by analyzing its complexity.

Another nice feature in Oracle JDeveloper is the page flow modeler. This modeler can be used for Struts, which has become a key part of enterprise Java shops. Of course, JDeveloper is the best Java IDE on the market for building Oracle DB applications. This is important, but since everyone talks about this, let's focus on the new features, especially the Software Development Life Cycle (SDLC) support and the Application Development Framework (ADF). Oracle touts ADF as the crown jewel of this release.

JDeveloper supports several steps of the SDLC. The ISO 12207, and the more readable IEEE 1074, standard defines the primary phases of the SDLC in academic detail (these need a reality check). Observing these standards, the leading IDE vendors have continually added support for an increasing number of SDLC phases. At first, IDEs added compiling, debugging, and source control (i.e., CVS menu items). Lately, project management, requirements, and QA have started to appear in IDEs. Borland and IBM invested heavily in SDLC functionality through acquisitions and integration. While late, Oracle's ADF now includes modeling, coding, debugging, testing, profiling, tuning, and deploying applications. JDeveloper is unique among enterprise class IDEs because the SDLC feature set is actually part of the product codebase, not plugins or acquisitions/integrations like its competitors. It's a seamless IDE and doesn't hog your hard drive.

Development life-cycle support is more of a JDeveloper feature than an ADF feature, but ADF helps. Oracle ADF's main focus is on simplifying the J2EE development process through a visual and declarative approach. Oracle ADF is based on the Model-View-Controller (MVC) design pattern. ADF lets developers build a simple, yet full, MVC-based J2EE application without any coding - just drag-and-drop, set some properties, and you're done. Oracle doesn't claim ADF eliminates coding when building J2EE applications; developers would probably need to add some Java code. It does reduce the amount of coding for application infrastructures, letting developers focus on the business logic that is unique to their applications. The point of these wizards and the modeling aspects of the top IDEs is to automate routine coding chores. I really liked the application template feature shown in Figure 1.

The templates are cool because they accelerate development with ready-to-use J2EE design pattern implementations and metadata-driven components. I was relieved to see how simple it was to edit and play with templates. It really does anchor the high-level aspects of a design. JDeveloper templates approach the idea of model-driven architecture. Now the Object Management Group (OMG) has defined the MDA standard, which is targeted at providing a way to model, with UML, the complete application life cycle - design, deployment, integration, and management. Compuware OptimalJ does MDA best. I would like to see JDeveloper implement more of OMG's MDA in the near future. Presently, I really like how easy it is to skeleton an application in JDeveloper with these easy-to-pick/edit templates. Something else that caught my eye is that Oracle lets you choose your deployment platform for ADF. Many tools lock you into one application server. For example, BEA WebLogic Workshop only deploys to the BEA server and IBM's WebSphere IDE to WebSphere only. Even though Oracle has its own application server, you can deploy to all the major players including BEA, IBM, and JBoss. JDeveloper provides a visual XML Schema editor that lets XML developers browse XML Schemas easily. XML Schemas can be constructed visually using drag-and-drop from the component palette. Furthermore, by using XML-based industry standards, such as WSDL, SOAP, and UDDI, code components can be reused regardless of their location or the language used in their development. JDeveloper generates the necessary WSDL file to expose any Java class or PL/SQL package as a Web service, it supports the Web Services Interoperability standards, and can verify that Web services conform to the WS-I standards. JDeveloper make Web services easy to build, as shown in Figure 2.

The final feature I'll discuss is the XML editor. JDeveloper enables XML-based application development with features such as the XML Schema modeler, XML code insight, and the XML tag property inspector. An enterprise shop will still require a separate tool like XML SPY to do the heavy lifting, but the XML editor in JDeveloper feels good. It's strong enough to do the majority of the XML work, but it's not cluttered with extraneous features. It is easy to add/delete/modify tags, as shown in Figure 3.

Summary
Oracle has impressed me with their database products and their latest Java IDE is no exception. This product is designed for enterprise class projects. Of course, you can build GUIs and Web pages with it, but this tool's strength is the back end. This makes sense as JDeveloper's original motivation was to be a tool that was especially good at building Oracle DB applications in Java. If you're looking for a Java IDE with an attractive bang for the buck that makes it easy for you to manage the life cycle of enterprise J2EE and Web services applications, consider JDeveloper 10g. I used to think of JDeveloper as a tool that was married to the Oracle DB, but wasn't a real threat to the leading Java IDEs. Java continues to be a key component of Oracle's corporate strategy. Their commitment to JDeveloper is evident as 10g now joins the top IDE echelon.

SIDEBAR

Oracle Corporation
500 Oracle Parkway
Redwood Shores, CA 94065
Web: www.oracle.com
Phone: 650 506-7000

Specifications
Platforms: Any platform with JDK 1.4 support
Pricing: $995

Test Environment
Dell Inspiron 8000, 1 GHz Intel Pentium III processor, 30GB Disk, 256MB RAM, Graphics RAM 32MB, Windows 2000 w/Service Pack 3

SIDEBAR 2

Product Snapshot
Target Audience: Java enterprise programmers
Level: Medium to advanced
Pros:

  • Powerful J2EE development
  • Simple installation
  • Supports correct set of standards (Java, XML, SQL, UML)
  • Life-cycle management
  • Good online support and docs
  • Company is fully committed to future of product

    Cons:

  • Should reduce steps to build/deploy EJBs
  • Want more model-driven architecture

  • More Stories By Alain Trottier

    Alain Trottier is the associate director ofInternet Services at a large telecom corporation, responsible for the strategy, technology, and team building e-commerce systems with Java used by the company's millions of customers. He has also written several books on Java.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.