| By Alain Trottier | Article Rating: |
|
| September 7, 2004 12:00 AM EDT | Reads: |
37,366 |
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:
Cons:
Published September 7, 2004 Reads 37,366
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- An Introduction to Abbot
- Java Kicks Ruby on Rails in the Butt
- Interviewing Java Developers With Tears in My Eyes
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- How to Diagnose Java Resource Starvation
- REA Is Where RIA Becomes the Norm
- Kindle 2 vs Nook
- Anatomy of a Java Finalizer
- Why IBM’s Server Chief Got Busted
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- 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
- What's New in Eclipse?




























