Welcome to the Oracle JDeveloper 10g Quick Tour

Oracle JDeveloper 10g is an Integrated Development Environment (IDE) for building applications and Web services using the latest industry standards for Java, XML, and SQL.

Oracle JDeveloper supports the complete development life cycle with integrated features for modeling, coding, debugging, testing, profiling, tuning, and deploying applications.

A visual and declarative approach and the innovative Oracle Application Development Framework (Oracle ADF) work together to simplify application development and reduce mundane coding tasks, offering developers unparalleled productivity and their choice of technology stacks.

Take the Quick Tour to learn more about JDeveloper.


Contents of Quick Tour

Top of page


Introduction

Overview

JDeveloper supports the complete development life cycle, with integrated features for modeling, coding, debugging, testing, profiling, tuning, and deploying applications, either from scratch or using the Oracle Application Development Framework (Oracle ADF). Additionally, software configuration management support provides a useful infrastructure in which to develop applications in a team environment. Whatever implementation you choose, JDeveloper offers all the productivity tools you need to get the job done: UML modelers, visual editors, wizards, dialogs, and code editors.

This unique combination of productivity and flexibility enables you to precisely choose the technology you want to work with or, alternatively, to simply get started with a default set of technologies without investigating and evaluating all the available options.

Once a technology choice has been made for a project, the environment will adapt itself to show you only the relevant options as you work. You can extend your applications through custom code, and customize or add to the behavior of the framework using XML metadata and Java code. Applications can then be deployed to any J2EE server, and connected to any SQL database.

This flexibility is a substantial improvement over the traditional development frameworks, where developers were forced into a proprietary application model, with little or no possibility to work outside of the environment.

Key Features

JDeveloper includes enhanced Java coding capabilities, along with a more visual and declarative development environment, offering the ease and productivity previously associated with 4GL tools in an open and standard Java IDE. The result is both an improved development experience for current Java developers and a simplified transition to the Java environment for new developers.

Here are some of the features that support this productive development environment:

JDeveloper provides a single tool for building both J2EE applications and web services. It supports the latest standards, including generation of J2EE design patterns such as Data Transfer Object and Session Facade. The new administration tool for the embedded J2EE server helps you manage data sources, JAZN, and other settings for J2EE applications. And you can deploy J2EE applications with a single click to Oracle Application Server, BEA WebLogic, JBoss, and Tomcat.

JDeveloper's web services support has been improved to handle WS-I Basic Profile compliance testing, UML modeling and visualization of web services, one-click web service creation from Java classes, and the creation of complex PL/SQL web services.

JDeveloper includes both a new XML Schema Editor and an XML Editor. The XML Editor is a specialized schema-driven editor for editing XML languages, while the XML Schema Editor visually displays the structure, content, and semantics of an XML document. You can use the XML Schema Editor to edit an existing XML schema, and to author and visually design a new XML schema. XML schemas are easily registered through the preferences.

The new Database Schema Modeler lets you capture, create, and modify database schema objects using a visual diagram. The definitions of database objects can be included in projects for offline editing. From the diagram or offline objects, JDeveloper generates SQL CREATE or ALTER statements to create new objects or reconcile changes with existing objects. The Connection Navigator now supports materialized views (snapshots) and view logs. In addition, you can create custom filters to restrict the contents displayed in the Connection Navigator.

JDeveloper supports platform-independent UML modelers (UML Class, UML Use Case, UML Activity) to capture analysis and requirements, and platform-dependent UML profile modelers that are two-way synchronized with the implementation (Java, Enterprise JavaBeans, ADF Business Components, web services, and database).

JDeveloper 10g includes the new Oracle Application Development Framework (Oracle ADF), a comprehensive productivity layer for J2EE developers. Oracle ADF makes application development easier and more productive; it is flexible, extensible, and based on industry standards.

New and Updated Features

JDeveloper 10g offers an enhanced design-time environment to provide a consistent end-to-end visual development experience. Key features supporting rapid application development include:

A new Application Navigator helps you see all of your application sources in a uniform package organization. This simplifies the view of components with multiple implementation files and deployment descriptors to reduce clutter and improve usability for large application projects.

A new capability lets you configure the technology scope of your projects so you subsequently see only the options that are relevant to the technology you have chosen.

A new drag-and-drop approach helps you organize all of your windows more easily.

A new data binding palette allows consistent drag-and-drop data binding for all client display types.

A new visual page flow diagram for Jakarta Struts lets you build new pages and actions visually and connect them to design the flow of your web user interface.

A new database modeler allows you to design, visualize, and document your database schemas.

A new UML use case modeler helps you capture the requirements of a system, and describe its behavior. Use case diagrams visualize the relationships between the actor and use case documents required to describe the system.

JDeveloper now supports Model Driven Architecture (MDA) transformations from UML class models to Java and ADF Business Components models.

Development Framework

JDeveloper 10g includes the new Oracle Application Development Framework (Oracle ADF), a comprehensive productivity layer for J2EE developers. It simplifies building applications as a set of business services with web, wireless, and rich client interfaces. The framework accelerates development with ready-to-use J2EE design pattern implementations and metadata-driven components that you would otherwise have to code, test, and debug by hand. Since its implementation is based on standards, and its features embody years of experience from Oracle's own business application developers, your ADF-powered applications are high-performing, well-architected, and portable.

In contrast to traditional development frameworks, Oracle ADF not only makes application development easier and more productive, it is also more flexible, extensible, and based on industry standards.

You'll learn more about Oracle ADF later in this Quick Tour, in the J2EE Framework section.

Productivity with Choice

As you'll discover in the following sections, JDeveloper includes integrated visual design tools for application development, providing a single environment to model, test, debug, tune, maintain, deploy, and version all layers of your J2EE application.

Productivity

- Visual and Declarative

- Personalized for Your Choices

Choice

- Technologies

- Platforms

Oracle ADF provides a flexible, end-to-end application infrastructure that both accommodates your technology choices in each architectural layer and offers drag-and-drop ease of use throughout the life cycle, giving you productivity with choice.

Top of page


IDE

Design-Time Tools

The design-time tools provided by JDeveloper aid you with visual, declarative, and guided-code functionality to utilize the underlying runtime framework and J2EE architecture. For example, if you work with the following technologies, provided by Oracle ADF, you are relieved entirely of the need to code to the J2EE design patterns:

Visual Tools for the Framework

The following key design-time tools address the visualization requirements of J2EE application developers, while providing full support for the separation of model, view, and controller layers:

Window Management

JDeveloper provides improved window management to help you work with multiple editors and views. Optimal usage of screen real estate is critical to your productivity.

The new window management features optimize editor usage, provide editor splitting, manage multiple editor windows, and offer better window docking. You can easily switch between different views of your code and split the screen to watch multiple views of the application at the same time. This split screen feature allows you to work in both visual and code views separately or simultaneously.

You can display multiple Property Inspectors and Structure windows. The Property Inspector provides the ability to view, update, and edit properties for all clients. The Structure window lets you examine document and file structure of clients and provides productivity features for copying, editing, moving, and deleting elements.

With the window management capabilities, you can:

Application Navigator

The Application Navigator helps you see all of your application sources in a simplified organization, showing only relevant components but consolidating implementation files and deployment descriptors. This simplifies your process of creating, organizing, and viewing component source files, while reducing clutter and improving usability for large application projects.

The Application Navigator organizes your projects in terms of higher-level logical components. While the System Navigator is a type of file explorer, the Application Navigator is a type of application explorer. Everything you do in one navigator is reflected in the other, but the development paradigm of each differs. The Application Navigator provides an infrastructure that the different extensions can plug into and use to organize their data and menus in a consistent, abstract manner. Although the Application Navigator can contain individual files (such as Java source files), it is designed to consolidate complex data. Complex data types such as entity objects, UML diagrams, EJB, or web services appear in this navigator as single nodes. The raw files that make up these abstract nodes appear in the Structure window.

The applications displayed in this navigator are the equivalent of workspaces in the System Navigator. As in the System Navigator, each application will contain one or more projects, just as workspaces do. Within the projects are the root folders for the paths in that project. You can choose to view packages either as flat or cascading. And you can sort the nodes within packages and directories by name or by type.

Code Editor

JDeveloper continues to improve coding productivity for hard-core Java programmers. This release provides you with the capability to surround code with common coding constructs (if, for, try catch, etc.), to quickly access Javadoc with popup windows, to highlight syntax and semantic errors independently, and to sort and organize import statements.

Key features of the Code Editor include:

XML Schema Editor

New in Oracle JDeveloper 10g, the XML Schema Editor displays the structure, content, and semantics of XML schemas. The Schema Editor is fully integrated with the Structure window, Component Palette, and Property Inspector to support the creation and editing of XML Schemas using simple drag-and-drop operations. At the same time, this Visual Editor is completely synchronized with the XML Schema Definition (XSD) code. The environment allows you to view the code and the Visual Editor simultaneously. Contextual menus enable you to add appropriate elements to easily diagram in the XML Schema Editor Design View.

Key features of the Schema Editor include:

Database Development

JDeveloper provides several new features that support database development, including a separate Connection Navigator to reduce scrolling and the ability to apply custom filters to any container node in the Schema Browser.

You can now also browse Materialized Views (Snapshots) and Materialized View Logs, and edit table definitions.

You can create and use database connections from within JDeveloper for a variety of tasks:

Audit and Metrics Tools

JDeveloper's new static code analysis tools help you write better code. The new audit tools help detect coding convention violations, as well as other common coding problems, while the new metrics tools help measure and report on code complexity. Both tools are fully configurable and customizable to work with company or team-specific coding standards.

With these tools you can:

HotSwap Debugging

The HotSwap feature, an enhancement to the Java Platform Debugger Architecture (JPDA) in Java 2 SDK v1.4, has been implemented in JDeveloper's default Java virtual machine, OJVM4. While debugging in JDeveloper, you can use HotSwap to fix errors and substitute corrected class definitions, without stopping and restarting your application. When the debugger is paused, you can recompile classes. When the debugger resumes, the new class definition will be used.

Team Development

JDeveloper offers improved source control support for CVS, Oracle SCM, ClearCase, and WebDAV, as well as an improved extension API to support other source control tools. The Compare, Version Tree, History, and Merge tools have been redesigned to simplify the management of large application development projects.

These features provide support for team-based development:

Open Source Integration

JDeveloper supports a number of open source utilities and frameworks:

This support lets you utilize the best open source technology and successfully apply these innovative frameworks, techniques, and products to your projects.

For systems management, JDeveloper seamlessly integrates two of the most widely used tools: Apache Ant for system building, and CVS for version control and software management. This integration enables JDeveloper to plug seamlessly into environments where these types of tools make up the back-end build/deployment infrastructure to a multi-IDE, multieditor development environment.

JUnit is a popular application-testing framework. JDeveloper provides you with built-in integration for using this framework to test your Java code. Struts is a widely used implementation of the controller layer for model 2 web applications. JDeveloper provides you with a visual interface to model Struts page flows. Struts is used as the controller layer for web applications when building applications with Oracle ADF.

JBoss is a well-established open source implementation of a J2EE container. Tomcat is a popular open source JSP/Servlet engine. JDeveloper 10g has added support for one-click deployment to both these servers in addition to the support available for the Oracle Application Server and BEA WebLogic. So you have the option of working with your favorite application server in an integrated environment.

And, this release of JDeveloper is supported on Windows NT, Windows 2000, Windows XP, Linux, Solaris, and HP-UX, so you can run JDeveloper on the platform of your choice.

Top of page


J2EE and Web Services Development

J2EE Development

JDeveloper 10g supports the latest standards in J2EE and web services, and provides easy-to-use visual tools for developing JavaServer Pages, servlets, Enterprise JavaBeans, and web services.

- EJB

- JSP/Servlets

- Deployment

All the components which make up J2EE web applications can be built and integrated in JDeveloper. A J2EE web application typically consists of a set of web components, JavaBeans components, and other static web content such as HTML, images, and CSS style sheets.

Developers will benefit from these features:

Web Services Development

JDeveloper provides powerful tools that help you develop and deploy web services. Web services consist of a set of messaging protocols and programming standards that expose business functions over the Internet using open standards.

JDeveloper supports developing and deploying web services based on the evolving J2EE web services standards, and deployment to the Oracle SOAP server. JDeveloper can interoperate with web services developed to Microsoft's .NET architecture to produce stubs, or proxies, to those services.

Features for web services development include:

You can create a web service based on a Java class, an EJB, an ADF Business Components module wrapped as an EJB, a JMS Queue Endpoint, and from a PL/SQL package containing program units. In addition, you can use JDeveloper's powerful UML modeling tools to visually create web services on a diagram, or create a web service based on a modeled Java class.

Visual Editor

The new WYSIWYG Visual Editor for HTML, JSP, and UIX XML lets you design web pages fluidly and interactively.

The WYSIWYG Visual Editor is tightly integrated and synchronized with the Code Editor, Structure window, Property Inspector, and Component Palette, providing an overall superior visual editing experience. When you make a change to a web page in one of these tools, the change is reflected in others as well.

The JSP/HTML and UIX Visual Editors are windows in which you can directly manipulate visual user interface components in a JSP, HTML, or UIX XML page using actions such as drag and drop. When you open a file in the Visual Editor, the page is rendered in HTML and associated web formats, just as it will appear in a web browser when deployed. That means that when you edit visual characteristics of the page in the editor, you immediately see the results of your edits, as they will appear in a browser.

TopLink Mapping Editor

JDeveloper includes complete life-cycle support for developing TopLink-based applications. You can use TopLink to model Plain Old Java Objects (POJOs) or CMP entity beans, and to generate, edit, compile, map, run, debug, and deploy applications.

The integrated TopLink Mapping Editor allows you to graphically configure TopLink deployment descriptors and map your Java classes and EJBs to database tables. With the TopLink Mapping Editor, you can define TopLink descriptors without using code. TopLink also supports numerous types of mappings, named queries, and runtime optimization properties like caching.

Deployment

JDeveloper supports the latest J2EE standard and provides tools to enable deployment to any J2EE-compliant application server, including OracleAS, BEA WebLogic, and JBoss. JDeveloper makes deployment easier with packaging wizards designed for each application type. It includes wizard support for creating all the types of J2EE deployment descriptors and profiles.

The new administration tool for the embedded J2EE server helps you manage data sources, JAZN, and other settings for J2EE applications. With a single click, you can deploy J2EE applications to Oracle Application Server, BEA WebLogic, JBoss, and Tomcat.

Top of page


J2EE Framework

Oracle Application Development Framework

Oracle's solution to the ever-increasing complexity of the J2EE platform is the Oracle Application Development Framework (Oracle ADF). Based on the Model-View-Controller (MVC) design patterns for interactive applications, Oracle ADF lets application developers focus on the application rather than on the underlying technologies. Oracle ADF increases the cooperation between the MVC layers, both in the design time and the runtime, while easing the incorporation of complex business services into the application model layer. By using visual, declarative, and guided-coding techniques, developers who are not necessarily J2EE experts can quickly become productive.

Specifically, ADF offers these benefits to J2EE application development:

Standards-Based

The framework is completely based on industry standards. In contrast to traditional development frameworks, Oracle ADF is also more flexible and extensible. Using standard Expression Language (EL) syntax for web clients and standard Swing components for Java GUI clients, Oracle ADF enables you to work seamlessly with many different server-side technologies, including Oracle ADF Business Components, Oracle Application Server TopLink, Enterprise JavaBeans, web services, and Java objects.

You manipulate the application's metadata using productive visual tools, while the framework executes the application in the most efficient manner, using proven design patterns. Not only can Oracle ADF applications be deployed to any J2EE server, and be connected to any SQL database, the framework itself uses standard J2EE APIs, design patterns, code, and metadata.

The role of Oracle ADF, in part, is to support deployed applications that fit into the robust, scalable, and flexible architecture of the J2EE platform. You can use Oracle ADF to build applications that target one or all of the tiers in the J2EE platform with your choice of implementation technologies. For example, using Oracle ADF Business Components to implement your business services, you are able to deploy them as JavaBeans, EJB session beans, or web services at any time without code changes.

Architecture

Based on the Model-View-Controller (MVC) architecture, Oracle ADF lets you focus your energies on the business problem, rather than on the underlying technologies needed to implement the solution. Oracle ADF offers pluggable technologies for the model, view, and controller, allowing you to make implementation choices at the various layers of the architecture.

All layers of the Oracle ADF framework offer declarative options for development, configured from XML metadata, while accommodating custom coding wherever necessary. You can choose to use all or part of the framework in the applications you build.

When you work with ADF, you and your application development team can quickly create an entire J2EE application with these supported components:

Technology Scopes and Application Templates

As you create and maintain J2EE applications, you configure the list of preferred technologies by customizing your project's technology scope. JDeveloper uses your preferences to simplify your design-time experience, with a number of built-in application templates, as well as project- and package-naming standards for the most common types of J2EE solutions.

Users new to J2EE can leverage the default templates to get started quickly with the highest level of declarative development. Advanced J2EE users can choose alternative templates, customizing the defaults if needed, or create their own templates to capture their team's preferred solution technologies for future reuse.

Technology scopes and application templates reduce complexity by persisting project technology choices and tailoring the environment to present only those options most relevant to a given project. Technology scopes increase productivity by presenting technologies relevant to a project when you are creating new elements.

Application templates simplify the creation of new applications and provide a way to partition applications into tiered projects with associated technology scopes. Instead of manually building each project, you can now quickly generate a complete foundation along with subprojects and technology scopes.

Within JDeveloper, you can create applications based on templates that specify a particular combination of technologies with which you want to proceed. The template that you choose when you create a new application workspace will determine:

When you begin your development task with an application template, you can get started more quickly. For example, when you want to create a web application for the Struts controller, the default web application template selection will create the workspace, create several project folders, add the Struts library to the appropriate project folder, and open the Struts Page Flow Diagram.

Data Binding

Oracle ADF provides a consistent drag-and-drop data binding experience for many different server-side technologies, including ADF Business Components, TopLink, EJBs, web services, and Plain Old Java Objects (POJOs).

Client developers use the Data Control Palette to create databound HTML elements (for JSP pages), Oracle ADF UIX elements (for UIX XML pages), and Swing UI components (for JClient panels). In addition, developers who use TopLink as the persistence architecture for their custom Java classes can leverage the common data binding features in the ADF Model layer to simplify building JSP, UIX XML, and Swing application user interfaces.

Visually, the palette comprises two parts:

Page Flow Diagram

With the Page Flow Diagram for Jakarta Struts, you can build pages and actions and then connect them visually to design the flow of a web user interface. The Page Flow Diagram delivers a 4GL-like feel to developers of traditionally complex J2EE applications.

You can use the Page Flow Diagram to assemble databound applications that rely on Oracle ADF data controls to access business services and on the Struts controller to manage page navigation. Your databound web application works with the ADF data action class through an action mapping in the Struts configuration file. This action mapping is created for you when you insert the data action element from the Component Palette into your Page Flow Diagram.

UML Tools

JDeveloper includes UML tools that help you model and generate business logic. JDeveloper 10g introduces use case and database schema modelers, while the ADF Business Components modeler now includes support for application modules and view objects.

Additional usability and scalability enhancements that have been implemented for the modelers include fast autolayout of diagrams, a thumbnail overview, the publication of diagrams in Javadoc format, and the ability to insert links to other diagrams, external files, and generic URLs. Three kinds of platform-independent modeling are available in JDeveloper to capture analysis and requirements:

Certain technologies are supported by profiles, or specialized implementations, of the class modeler. These are referred to as Platform Specific Models (PSMs). You can create PSMs in JDeveloper for the following:

UML classes, UML use cases, Java classes, EJBs, Business Components, database objects, and web services can all be modeled on the same diagram.

Consolidated Framework

Oracle ADF has simplified Java development by evolving proven Oracle technologies such as Business Components for Java, UIX, and JClient to a new level of productivity and flexibility. These technologies have been consolidated into one comprehensive and powerful J2EE framework, with a consistent user interface for application development. If you are currently using these technologies, you will be able to seamlessly take your applications forward.

The ADF Business Components and ADF JClient technologies have been internally refactored to cleanly separate the business services features from the data binding features. This means that JSP and UIX XML pages, as well as Swing/JClient panels, now all share a common data binding technology in the ADF Model layer, which can work consistently against back-end business services of all kinds.

You get a new, consistent approach to visual data binding and new flexibility to accommodate services implemented as ADF application modules, custom JavaBeans, EJBs, and web services. These improvements have been implemented with upward compatibility in mind, so that applications built using existing, production versions of BC4J, UIX, and JClient just open and run in JDeveloper 10g on top of the enhanced Oracle ADF framework.

Top of page


Next Steps

Overview

There are many resources available that will help you learn to use JDeveloper:

JDeveloper Viewlets

Viewlets provide online demonstrations of many features described in this Quick Tour. Watch these animated presentations to help you understand more about JDeveloper's capabilities.

You can see the complete list of JDeveloper 10g online demonstrations on the Oracle Technology Network (OTN) at
http://otn.oracle.com/products/jdev/viewlets/viewlet.html

Oracle by Example

The Oracle by Example (OBE) series provides a step-by-step learning opportunity. Proceed through these tutorials at your own pace to gain hands-on experience in building applications.

You can see the complete list of JDeveloper Oracle by Example (OBE) lessons at
http://otn.oracle.com/obe/obe9051jdev/index.htm

JDeveloper Online Help

The JDeveloper online help includes overview, procedural, and reference information about all product features and capabilities as well as a guidelines manual and end-to-end solutions for building applications.

To browse through the Help, choose Table of Contents from the JDeveloper Help menu.

JDeveloper Documentation on OTN

Additional JDeveloper information can be found on the Oracle Technology Network (OTN) at http://otn.oracle.com/products/jdev/index.html

Documentation and other resources on OTN include:

Training

Oracle offers comprehensive training for Java development, including both JDeveloper and Oracle Application Server. Both classroom courses and web-based training are available.

To see detailed information on the available training, choose Oracle Java Training from the JDeveloper Help menu.

Top of page