Anyone who has used the Java 2 Platform, Enterprise Edition (J2EE) has
to be impressed with how quickly it’s matured and become a robust programming
model. Besides the ability to build new applications, developers can use
J2EE to connect to third-party software, legacy systems, and Java-based e-business
application engines and deploy them across a distributed computing environment.
As powerful as the various technologies supporting this platform are, efficiently
managing and using them all in a development environment can be problematic.
Providing an IDE to manage this complexity is what Oracle has set out to
accomplish – and in my opinion, has very successfully – with its new Oracle9
i JDeveloper product.
Oracle9i JDeveloper allows developers to take advantage of the
power and flexibility of J2EE to create applications with the highest level
of scalability and performance. Written entirely in Java, it’s a robust IDE
that combines all of the tools and services to comfortably support a developer
throughout the full J2EE development life cycle. Oracle9i JDeveloper
also includes an open J2EE framework called Business Components for Java
(BC4J) that helps developers quickly construct high-performance J2EE applications
following industry-standard J2EE design patterns.
For database-backed J2EE applications, the framework makes the object-relational
mapping process a point-and-click exercise. For client applications it includes
an extensive set of JSP tags in a built-in tag library and a large set of
Swing-based components. Easy-to-use wizards speed the creation of JSP-, servlet-,
EJB-, and Web services-based components. Built-in container objects then
allow for the quick and very easy testing of these components without you
ever having to leave the development environment. It’s conceivable that you
won’t have to leave the confines of the JDeveloper environment for a wide
range of development services, including source control, UML modeling, debugging,
testing, profiling, and deployment. Developers can also use the AddIn Kit
to integrate third-party code libraries and open-source products, which could
include their own custom tag libraries.
Installation and Configuration of JDeveloper
The installation of the product is straightforward and all necessary
files are made available in a zip archive format.
After the files have been
extracted, a shortcut should be created to the file [jdeveloper_root]/jdev/bin/
jdevw.exe to execute the application. The necessary documentation is available
from the online help, the free product download from the Oracle Technology
Network (OTN) at http://otn.oracle.com.
One of Oracle9i JDeveloper’s most exciting features is the built-in
Oracle9iAS Containers for Java (OC4J). With OC4J, developers aren’t
required to have access to a separate application server to test the components
they’re building within the JDeveloper environment. OC4J is built into JDeveloper,
allowing for the immediate testing of JSP, EJB, servlet, and Web services
With a little extra work an OC4J server can be run remotely to simulate
a preconfigured J2EE deployment environment. The steps to implement this
feature are few and well documented in the installation guide. I highly recommend
implementing the OC4J remotely. A two-step process, it’s the final touch
that makes this elegant IDE a completely integrated development environment.
The remote implementation allows for the test deployment of EAR, JAR, and
WAR files via the various deployment wizards JDeveloper offers (see Figure
The features are easy to use with the sample code and database configuration
files supplied from the OTN Web site. Oracle 9i JDeveloper works with
any JDBC-compliant database, including Oracle Database release 8.1.7 (or
higher). After setting up the database, you’ll need to create database connections
to the various schemas and to the application and SOAP (Simple Object Access
Protocol) servers. (If no application or SOAP servers are available, OC4J
conveniently takes their place for testing and deployment of J2EE components
and Web services.)
Working with Oracle9i JDeveloper
From setup to the creation of the first objects, the ease with which
the environment allows the developer to accomplish tasks is impressive. The
sample code and associated documentation is excellent and provides a quick
entrée into the important features of this product and how they work.
On my own I created a simple application to investigate the feature sets
and see how well they work together. I started out by creating a simple UML
model within JDeveloper that would allow tracking of “customer” orders. From
this initial model I was curious to see how easy it would be to implement
the business components generated from the model into the various component
types (servlets, JSPs, EJBs, etc.) that are supported by the J2EE platform.
The high degree of integration makes an immediate impression upon entering
the Oracle9i JDeveloper environment. Developers can have simultaneous
connections to database, application, and SOAP servers across multiple workspaces
and projects. A common interface, the New Gallery dialog, is used whenever
developers need access to a wizard to create an object within the IDE (shown
in Figure 2). This interface is used whether it’s a new workspace, EJB component,
or database connection to be created. This is an elegant interface that reduces
the confusion over where to go to find the appropriate wizard to create the
desired object or component.
The creation of the UML model was expedited by a previously created
connection to an existing database schema containing the table definitions
that would form the basis of the UML model. Accessing the entity definitions
from the database made the UML creation a simple drag-and-drop exercise.
After that it was just a matter of deciding which wizard to use to implement
the desired component from the object definitions represented in the diagram.
The first step in this process is to generate business components from the
diagram into the project. The components represent the objects in the model,
and serve as templates for the creation of J2EE components. Attributes and
methods can be added before they’re rendered into JSP, servlet, or EJB components.
Using the various wizards provided by the New Gallery dialog, the customer
and order objects were quickly and efficiently implemented as JSP, entity
EJB, and Web services. The integration between the various supporting files
of the EJB made a particular impression. Whenever a new method was added
to (or changed, for that matter) a bean definition file, there was no need
to make changes to the supporting interface files since they were implemented
automatically, thus eliminating a big headache all EJB implementers have
had to deal with at one time or another. The customer entity was quickly
implemented as a container-managed entity bean with the necessary support
files, including the deployment descriptor file. Deploying the new EJB to
the application server was a point-and-click exercise after creating the
deployment JAR file with the appropriate wizard.
For testing purposes, JDeveloper creates a sample Java client to access
the EJB definition; the code generated for this client was terrific and I
used it later as a template for the implementation of a stateless session
bean to manage my customer EJB.
As a final step when implementing some custom code I wrote for the stateless
session bean, I ran CodeCoach for guidance concerning its efficiency. CodeCoach
provides insights into issues ranging from whether certain segments of code
are ever used to whether a variable’s scope should be changed for better
use of memory resources. During the testing process, memory usage can be
tracked using the integrated memory profiler.
Oracle has provided a quality product that is up to the task of managing
the J2EE application life cycle. Easy-to-use wizards are the starting point
for creating components that take advantage of the variety of built-in services
the J2EE platform provides, while reducing the complexity of implementation.
These same wizards offer a final conduit to the application or SOAP servers
necessary for deploying components. The integration and ease of use provides
an environment that can manage projects, and a technology for that matter,
even as they scale – concepts that experienced and beginning developers alike
can relate to.
500 Oracle Parkway
Redwood Shores, CA 94065
Phone: 650 506-7000
Computer: Dell Precision 340 Workstation
Processor: 1.80GHz Intel Pentium IV processor
Hard Drive: 40GB Disk
Memory: 512MB RAM
Platform: Windows 2000/SP 2
Platform: Any platform with JDK 1.1 or 1.2 support
Pricing: A free evaluation copy can be downloaded at http://otn.oracle.com.
A full license, costing $5,000 per developer, is required for applications
that will be sold or deployed in a production environment.
JDJ Product Snapshot
Target Audience: Java programmers, application architects
Level: Beginner to advanced
• Feature-rich product
• Built-in J2EE container for testing
• Powerful wizards for quick and integrated component
• Easy integration of third-party APIs and frameworks
• None significant