Browse DevX
Sign up for e-mail newsletters from DevX


JDeveloper Comes of Age: Visual and Declarative J2EE Development in 10g : Page 2

Oracle's JDeveloper supports more open source tools and frameworks and introduces a visual and declarative development approach in combination with the Application Development Framework (ADF). Find out how these combined features can help experienced Java developers and beginners alike to improve productivity and performance.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

The Core IDE Features
Oracle JDeveloper 10g administers source code in workspaces and projects. A project bundles all sources to a special context; a workspace integrates projects, which belong to one application. For example, the breakdown of model- and view-parts of an application is done in separate projects but in the same workspace. Sticking to this breakdown and additionally to the JDeveloper mechanisms for using Ant Build scripts, a JDeveloper-workspace can be managed with another IDE without adoption costs. The Ant support in Oracle JDeveloper 10g goes as far as letting developers replace the standard build mechanisms with Ant target calls.

The Java Editor's many amenities, such as code completion and code insight, make programming more enjoyable. Semantic errors are underscored during coding so you don’t need to compile to discover syntax errors. The Javadoc support is quite convenient, too; Javadoc tags are automatically generated for code areas. You can use a key combination to display the JDK help for a chosen component or a pop-up window with a Quick javadoc. Key combinations also let you summon frequently used code templates, and you can create and save your own templates as well.

In most cases, Oracle JDeveloper 10g eliminates the need to switch to another development tool, as it provides editors for additional languages and environments. These include an XML editor (with syntax highlighting and code-completion), a graphical XSD editor (similar to the one in XML Spy), a graphical HTML/JSP editor, a graphical editor for Struts, a UI editor for Swing components, and an editor for Oracle PL/SQL. One highlight of the visual editor is the Split view, which lets you see the code and WYSIWYG presentation at the same time. Modifications in either views are automatically synchronized in the other.

Figure 2. Audit Results: These are the results of an audit.

The code audit feature in Oracle JDeveloper 10g is also useful, revealing common errors like Equals without Hashcode, try-catch-blocks hiding exceptions, or unconventional or non-standard naming conventions. This is accomplished by diverse metrics that can be applied on chosen code areas, such as the depths of the inheritance tree (DIT); the branching complexity of a method; or the number of statements of a method, class, or project.

Every Java development project needs to use profiling tools from time to time. Oracle JDeveloper 10g offers basic built-in profiling tools. The Execution Profiler helps detect performance shortages by identifying runtime statistics of individual methods in a millisecond sector, directly locating the problem zone. The Event Profiler reports Java and custom events that were raised, which is quite difficult to achieve without the proper tool. The Memory Profiler helps detect storage leaks by listing the reserved storage of all current available objects.

Developers appreciate a good debugger and they'll like the one integrated in Oracle JDeveloper 10g. It offers not only standard features but also permits the ex-post handling of variable contents; hot-swap debugging (recompiling during debugging); and remote debugging of servlets, JSPs, and EJBs. It can even debug PL/SQL in the Oracle database.

Figure 3. The PL/SQL-debugger: This image shows the PL/SQL-debugger.

Oracle JDeveloper 10g features an improved support for version control systems—a weak point in previous releases. You can configure a connection to a CVS Server with a few steps and check in and out any necessary modules. You can also use other popular connection types such as pserver or ssh. Sources under version control are indicated via an icon that shows their actual state (in-sync with the Repository, deleted, added, or edited). The history of each source is available, and a small diff tool is included. In addition to CVS, ClearCase and Oracle SCM are supported. Though the new CVS features are nice, there still needs to be some bugfixing for special kinds of files under version control, like UML metadata and bc4j configuration files.

Hardly any application works without a database, so Oracle JDeveloper 10g offers DB tooling within the IDE. It can connect to any database with a JDBC-driver. There are no restrictions to using Oracle databases—you can browse schemas, tables, views, triggers, synonyms, sequences, packages, functions, Java classes, and object types through these connections. You can use wizards to create, delete, or change database objects. For tables/views, the data can be shown in a table form—unfortunately lacking a direct edit function. SQL commands can be executed in the SQL worksheet. There is outstanding support for handling PL/SQL code with syntax highlighting and direct PL/SQL debugging in the IDE.

Modelling functionality has also been enhanced in Oracle JDeveloper 10g, with adequate editors for the most important UML diagrams (including class-, activity-, and use-case diagrams). In addition, Oracle JDeveloper 10g introduces the first Model Driven Architecture (MDA) aspects into the program: You can now transform UML class diagrams, which are implementation-neutral, into Java class diagrams. Further transformations will be in future versions. A two-way synchronization between Java class diagrams and code is implemented, as well. You can even graphically model EJBs, Web services, and database tables. However, Oracle JDeveloper 10g does not yet completely support UML.

Most of JDeveloper's features are built as extensions, or plug-ins, in Oracle JDeveloper 10g, and can be configured via the extension manager. Turning off unnecessary extensions not only streamlines the IDE but also protects less-experienced developers from feature overload. This allows them to be slowly introduced to the entire complexity of J2EE in their daily work—a wise approach in the J2EE world. The extension mechanism corresponds to the accepted JSR #198, which currently has the status of Expert Group Formation.

Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date