Oracle JDeveloper and ADF Release 11g (11.1.1.0.0) New Features

Oct 6, 2008

Introduction

Oracle JDeveloper and Oracle ADF Release 11g marks a significant milestone in the progress of application development. We spent more time than ever in this release listening carefully to what our customers need in order to make them more productive. We embarked on an intensive design and usability review by an external company. The result of these efforts is a huge leap forward in the speed in which developers can create, assemble, and reuse components to build rich, interactive applications that are highly performant and easy to maintain. And, the new approach to integrating Oracle WLS tightly with the development environment provides unparalleled productivity for developers on the Oracle WLS platform.

Oracle JDeveloper 11g showcases new features to provide a full development environment for Java EE 5 – including EJB 3.0 and JSF 1.2 – and rounded out with new features for AJAX developers, including an impressive new ADF Faces rich client set of components as well as Javascript editing and debugging. Web services development is greatly improved with updated support for JAX-WS, a complete Web services test framework, and a comprehensive WSDL editor. There are also many developer productivity enhancements to the IDE and Java development features to explore. And, building applications with Oracle ADF has been dramatically improved with the addition of ADF Faces rich client, a new JSF-based ADF controller framework, and countless productivity-boosting enhancements.

New Features

JDeveloper Core IDE

Enhanced user experience

There have been many updates throughout the product to make working with JDeveloper a pleasant experience. These improvements are not restricted to a particular type of development, but have been applied consistently to all areas of the design time.

  • Enhanced navigator: The Application Navigator has been enhanced to organize your application the way you want. New categories make it easier for you to find what you are looking for. Collapsible panels put common elements of your application within easy reach. Files that make up a composite node are conveniently exposed by simply clicking on the composite node.
  • Improved Component Palette: The component palette now features collapsible panels and divider sections to organize related components. A quick search field is provided to help locate components. You can now add commonly-used components to your Favorites list for easier access later, and another panel keeps track of your recently used components.
  • New Property Inspector: The Property Inspector has been redesigned with a new, user-friendly layout. Property categories have been used consistently throughout the product to make using the Property Inspector more predictable.
  • Application Overview: The new Application Overview window provides a convenient listing of all the sources for your application, grouped into helpful categories. From here, you can get a sense of the overall status of your application (which sources are incomplete, which have errors, etc) too. The Application Overview also functions as a way for you to learn about the various kinds of components you may use in your application, and easily launch wizards to create them.
  • File List: The File List makes it easier than ever to locate source files that are part of your project. You can search by file name, file extension, status, date modified and more.
  • Updated appearance: The JDeveloper development environment has been updated with a brand-new look.
  • Integrated modeless editors: Many editors for components have been converted to integrated modeless editors. These appear in the editor area along with the other editors, and allow for much more productive navigation.
  • Contextual linking: Contextual linking is the concept that as you are working on something, you should be able to easily get to relevant related resources. For example, as you are working on defining a page flow for databound pages, you should be able to easily get to the page definition of those pages. This concept is now employed wherever it makes sense in the development environment.
  • Go to File: In addition to Go to Java Class (Alt+Minus), there is a new option to Go to File (Ctrl+Alt+Minus) to allow you to quickly navigate to any file visible from your project.
  • Enhanced New Gallery: The New Gallery contains a search field to make it easier to find the item you're looking for.
  • Global Search: On the far right of the main JDeveloper toolbar is a new Global Search field. This field can be used to search across the entire IDE, the help system, and your project for a word or phrase.

Installer

JDeveloper now makes use of an installer to prevent errors during installation. Features of the installer include:

  • Platform-specific (native) installers for Windows and Linux, includind a bundled JDK.
  • Generic installer (without a JDK) for all other platforms
  • Install into a new or existing Middleware home
  • Perform a complete installation, or install just the components you need
  • Create shortcuts in the Start menu on Windows
  • QuickStart page after installation provides easy access to common tasks
  • Installer supports 3 modes: GUI/graphical, console, and silent

Updated Help System

The JDeveloper help system has been revitalized to make it easier to find the help you are looking for, and easier to use the help during the development process. Improvements to the Help system include:

  • Help runs in a separate window
  • New help window optimized for finding relevant help
  • Searching for phrases now returns a prioritized list of matches
  • Ability to search on resources from OTN

Shaping

Shaping allows for the JDeveloper environment to tailor itself based on the role of the user. It does this by removing unneeded items from the menus, preferences, new gallery, and even individual fields on dialogs. Shaping can even control the default values for fields on dialogs within the tool. When you first start JDeveloper, you are prompted to choose a role that describes how you use JDeveloper. If you choose a role of "Java Developer" versus "CRM Applications Developer" versus "Default Role" you will get a totally different experience!

Extension developers can define custom roles which can be made available to users on a given site. This would enable a JDeveloper deployment site to provide a customized view of the IDE for entire organizations. Likewise, ISVs could provide a role to enable their implementation sites to customize their applications using a streamlined version of the IDE.

Resource Catalog

The Resource Catalog is your window onto the many disparate resources your application may need to consume. It allows you to define connections to the resource providers, and drag-and-drop those resources into your application as needed. The resource catalog provides a search tool to search all the defined repositories in a single action. Connections can be created for the following types of resource repositories:

  • Application server
  • Database
  • File system
  • UDDI Registry
  • URL adapter
  • WebDAV

Dependency analysis

Ever needed to know what elements of your application you would need to change if you decided to add or remove a column from a database table? We bet you have! The dependency analyzer is designed to answer this and other similar questions regarding the inter-dependencies of various components of your application. The dependency analyzer allows you to determine impact analysis by searching for references for a given resource through the many files that compose your application. It also enables refactoring of composite application components and keeping all the referencing files in sync.

Improved New Application, New Project, and Application Templates

The dialogs for creating new applications and projects have been improved for ease of use. Additionally, application templates are now more flexible; you can define project templates and reuse them across application templates, or even just create a project based on a template in an existing application; and project and application templates allow you to specify the type of deployment profile that will be used by default (EAR, WAR, JAR, etc).

Extension development

This release introduces new tools for developers building extensions to JDeveloper. New wizards make it easier than ever to get started building extensions:

  • Extension project
  • Gallery Item
  • Preferences page
  • Project properties page
  • Data Model (for persistence of preferences or properties)
  • Action
  • Addin

There is also a new Overview editor for Extension.xml files providing a much more intuitive approach to defining extensions, dependencies, and hooks. And, you can now easily run or debug an extension by right-clicking on an extension.xml file, which results in a new copy of the IDE being launched (in run or debug mode) with your extension loaded.

New diagramming framework

The internal diagramming framework used to build the UML tools in JDeveloper, the Page Flow diagrams, and other visual editors has been re-architected to be more flexible for internal consumers. The result for end users is more consistent behavior between the different diagrams.

Java Coding and Agile Development

New code generators

New generators have been added for generating equals and hashcode and to simplify generating fields and properties with getters and setters and to generate constructor from fields

Additional coding aids

New coding aids have been incorporated in JDeveloper. Highlights include:

  • Code editor toolbar allows quick access to functions such as generate accessors, surround with, override method/implementation interface, reformat ...
  • Auto Code Highlight automatically highlights instances of the selectedi tem in the editor
  • Additional syntax color options for easier code readability
  • Quick Javadoc now also works on methods
  • Additional Code folding:
    • Initial comment blocks are now foldable (typically standard copyright notices, now conveniently folded by default)
    • Unfolding Blocks: Blocks can now be unfolded by double clicking directly on the folded section or by dragging an object onto a folded block. The drag is especially useful when adding components or text to a highly nested document
    • Folding Highlight: Expanded and collapsed blocks now highlight after a transition by briefly fading its background color. This is especially useful in documents where nested blocks can be hard to distinguish.
  • Show Whitespace Characters: Renders spaces, new lines, carriage returns, non-breaking spaces, and tab characters as alternate visible characters
  • Overview Popup: View the source at an overview mark by simply hovering the mouse cursor over the mark
  • Structure Pane Popup: View the source for a method by pressing 'ctrl' while the mouse cursor is over the desired method
  • Breadcrumb Bar: The breadcrumb bar shows the hierarchy of nodes from the current caret position up to the top of the file. Hovering the mouse cursor over a node pops up some information about the node, clicking on the node navigates the caret to the node location.
  • Quick Outline: A new method to quickly navigate to methods and fields of a class and its super classes. The 'ghost' window floats just above the code and contains a tree of the available methods and fields of the current class and its super classes. Start typing in a filter field to reduce the visible items, allowing quick and easy selection for navigation to the desired place.
  • Code Peek: The ability to view code in different files without navigating or opening new editors
  • Library search: You can now search the list of available libraries to find a given class or jar.

Compiler, Runner, Debugger enhancements 

  • Java SE 1.6 support: JDeveloper now supports the use of Java SE 1.6 as a target JDK for projects.
  • Debugger - Step Into Method: The Debugger now has a Step Into Method option. When the debugger has stopped, you can right click on a method and choose Step Into Method at Cursor.

Updated JUnit 4.0 support

JDeveloper now generates unit tests using JUnit 4 annotations. The integrated runner has been updated to support JUnit 4, including new instructions, such as @ignore.

New profilers

The new profilers leverage JVMTI and therefore run on any certified Java VM. Oracle's OJVM is no longer required for profiling.

  • CPU Profiler: The CPU Profiler allows you to visualize which methods your application code is executing most often, and includes method execution counts.
  • Memory Profiler: Displays which parts of the application are using the most memory and helps you detect memory leaks. It also enables you to investigate which objects are responsible for holding the most memory.

XML Compare

Comparing of XML files is now done using an XML-aware algorithm. In previous releases compare was done using a line algorithm with no understanding of the syntax of the file content. XML is used extensively within JDeveloper (projects, diagrams, ADF artifacts) and the characteristics of the file content will be understood by the tool. For example if an XML element's attributes are reordered the compare tool will not mark that as a change - the attributes (name and value) are the same, but in different positions.

The compare tool is used by all the version control extensions to compare file content with previous versions. Compare is also used by the local history feature to compare content between saved points.

Ant Debugger

You can now debug Ant build files. Simply set a breakpoint in the build file, right click on the target and choose Debug Target __. While debugging, you can step through build scripts, examine and modify the values of variables, set watches, etc.

Versioning Navigator

You can now connect to and use multiple versioning systems concurrently. In the Versioning menu you can configure multiple systems and customize the available menus. The Versioning Navigator displays a root node for each versioning system you have configured. You can set up multiple connections to different system repositories and use them from the single Versioning Navigator.

Subversion Support

Team development working in JDeveloper is enhanced through

  • Branch/Tag, Switch and Merge files, projects and applications versioned in an SVN repository
  • Support for Versioned Properties including svn:ignore
  • Incoming Changes to working copy now visible in the Pending Changes window
  • Support for Annotations

Enhanced Merge Conflict Resolution for Subversion and CVS

JDeveloper now provides an enhanced XML-aware interactive GUI to browse and update unresolvable conflicts reported during the merge process.

Database Development

Whether working connected to a database (online) or disconnected (offline/file based) JDeveloper 11g provides substantial new features.

Additional online database object support

The new Database Navigator provides you with a complete editing environment for online databases. You can create, update and delete database objects using the navigator. Much of the functionality available standalone in SQLDeveloper is also available in JDeveloper. Highlights include:

  • SQL Worksheet enhancements: script execution, explain plan, autotrace, code snippets (drag and drop), DBMS and OWA output
  • Creation of external, index organized, temporary, partitioned (range, hash and list) tables and materialized views
  • Extensive context menu options to modify objects (for example table rename, column additions, compilation, index rebuilds, database link testing)
  • Browse, query, update, delete, sort, and filter data including CLOB and BLOB and tracking of changes through message log
  • Export data in multiple formats; export DDL; import data
  • Database reports

You can also browse live (online) database connections through the Resource Catalog and drag them into your application

Database Diagrammer supports modeling online database objects

In addition to copying database objects offline when you drag them onto a diagram you can choose to work with the objects directly in the live database connection. If you choose this option, you will not create any offline objects and you will be able to visualize and edit the live database object directly from within the diagram. The validation of the object is done directly against the database catalog. This prevents such actions as changing the Primary Key, re-ordering columns: all not supported DML actions.

Additional offline database object support

Offline database object modeling in projects has been extended to provide for:

  • Index-organized tables
  • External tables
  • Partitioned tables and indexes
  • Materialized (including partitioned and indexed) views and view logs
  • Object Collections
  • Triggers
  • Domain indexes
  • Storage properties (tablespace etc)
  • Auto-generated column values
  • Multiple database object cross referencing (within or between projects)

Default Template Objects

When you create an offline database you can now choose to initialize a set of default template database objects. These appear in a Templates schema. The objects are completely customizable and can be shared across databases and projects.

Offline user defined properties

You can create user defined properties in libraries (stored as XML files) and use them with Offline DB Object providers

Multiple offline databases per project

Multiple offline databases of different types can exist in a project. You are no longer restricted to one offline database type (e.g. Oracle 10g, MySQL etc) per project.

Offline dependency analysis

Browse usages of offline database object references, such as tables used in view select statements, and references to tables, views and object types from within PL/SQL.

Query builder

The query builder diagrammatically builds simple SQL queries in both online or offline mode. Giving you a quick start PL/SQL environment

Editing of file-based PL/SQL scripts

Open PL/SQL scripts stored on the file system and edit and compile them against a live database connection. Files can then be resaved to the file system. You can use the Database Navigator to create a new PL/SQL script, compile against the online database and save to the file system.

Enhanced database diagrammer support

The database modeler has been rewritten (see UML Development). In addition it is now possible to display materialized views, view joins and table indexes on a diagram. You can also drag and drop fields between objects.

For instance drag and drop a Primary Key to another table creates a Foreign Key relationship between the tablesdrag and Ctrl+drop columns between tables creates copies of the columns in the drop tabledrag and Shft+drop columns between tables moves then between the tables

Deployment

Improved Application Server integration

As in previous versions, Oracle JDeveloper 11g ships with a lightweight, embedded application server for the purposes of test running, and debugging your applications that require a middle tier server. This release, though, introduces two major enhancements in this area:

  • Oracle WebLogic Server as integrated container: WLS is now the integrated server used for testing and debugging web applications from JDeveloper. In fact, when you install JDeveloper, you also install a fully-functional WLS server and a domain "DefaultDomain" preconfigured for running ADF applications. When you right click and run or debug a web project, the IDE will use this domain as the test container.
  • Integrated WLS: The Integrated WLS container is now used in a new way with subtle, but important impact to users. Most notably, when you run or debug an application, rather than starting the entire server, the IDE simply deploys the application to the integrated server. This is significant because during the lifecycle of testing, fixing, debugging an application, the IDE need only undeploy and redeploy your application rather than the relatively expensive operation of stopping and starting the server, thereby decreasing time spent waiting on the server during the development lifecycle.

Updated Security Configuration Support

New support is provided for the new Oracle Application Server Java Platform Security deployment descriptors through a flat editor.

Improved Application Server connection browser

The Application Server Navigator allows you to define connections, browse deployed components, and manage starting, stopping and undeploying of applications deployed to the container.

The Resource Catalog also supports browsing of Application Server connections. It enables the definition of connections, browsing the contents of the server, and adds the ability to use AS resources directly from the palette in the JDeveloper workspaces. For instance, WSIL nodes display the available web services, and you can use these to generate WS clients in JDeveloper projects.

Application and Project level deployment profiles

Deployment profiles can now be defined and stored at application or project level giving you more flexibility and enabling direct referencing and sharing. Application level deployment profile were added so that users can more closely model a Java EE application where the projects represent modules (e.g. WAR, RAR, EJB JAR...) and the application level deployment profile can be used to aggregate the modules into an application archive(EAR) which "assembles" the JEE modules.

The UI for editing Oracle Application Server deployment plans has been enhanced to provide a richer editing experience.

Command line deployment

Command Line deployment is supported through the ojdeploy command line. This enables developers to create Ant tasks to package applications from the command line based on the deployment profiles defined in JDeveloper applications or projects. This feature has parameters such as

  • -nocompile (to skip compilation of Project or Workspace file)
  • -nodatasources (to exclude datasources from the IDE)
  • -forcerewrite (to rewrite output file even if it is identical to an existing file)
  • -updatewebxmlejbrefs (update EJB references in web.xml)

UML Development

Re-engineered Graphical Modeling Framework

The UML class modeler (and the Java, DB and ADF modelers based on it) has been rewritten on a new graphical engine that provides better performance and scalability. Future releases will see other modelers being re-hosted on this new framework.

Display of Attributes and Operations

Enhancements have been made to allow the Show and Hide of individual attributes and operations and to allow their reordering to user-defined sequences using the wizard or by means of drag and drop on the diagram surface.

Editing improvements

Improvements to the editing environment include:

  • Graphical error feedback when a shape no longer maps to a semantic element
  • Improved visual feedback through the highlighting of shapes when the user defines relationships between those shapes
  • Improved Handling of in-place edit and create - the user can re-enter the edit rather than having to create a new shape
  • Visual properties can be set using the property inspector
  • Support for setting default preferences over multiple objects
  • Multi-level Undo/Redo for shapes and relationships
  • Semantic undo/redo support in the Java Class Diagram
  • Increased integration with refactoring in the Java Class Diagram, such as renaming an attribute
  • Copy and Paste of Visual Properties
  • New Visual Properties Panels
  • New Group Shape
  • Enhanced Note Shape
  • Bridge and Tunnel Crossing support for relationships

Printing and publishing functionality

Printing and publishing has been enhanced to provide more flexible options in the print setup dialog (header, footer, fit to pages). In addition you are able to define a Print Area, Print Preview and Copy/Paste as image to external programs

Web Services Development

Improved WSDL editor

The WSDL editor has been improved to provide better layout handling, including collapsible columns and validation and error feedback in design and code views. Other features to improve the WSDL editor are:

  • Fast track navigation to all files implementing a WSDL through a drop down menu
  • Extensive drag and drop operations for typical use cases
  • Extensive binding options including EJB and Pojo
  • Editing features to Find Usages, Go to Declaration, broken reference warnings and various WSDL refactorings

Addition of new WS Tester

The new WS tester provides you with a form based UI for quickly filling in payload details, the ability to edit and re-send messages and full integration with WS-I logging of messages. The tester also allows you to define the values for headers for security (username and password) and addressing.

Improved HTTP Analyzer

Improvements to the HTTP Analyzer include the ability to "stub" out a running WS by replacing it with automatic message responses for testing and development purposes. In addition you can stub multiple services for complex WS projects simultaneously. Messages are recorded and played back from a virtual "tape" based on response rules. This features supports both HTTP and HTTPS scenarios, and works for JAX-RPC, JAX-WS and REST web services.

WS Annotation support

JDeveloper 11g provides full JSR-181 JAX-RPC and JAX-WS annotation code-insight & auto-import, and Property Inspector support for annotation parameters with full validation and error handling

Support for WebLogic Server 10.3 new style WS policies

WS policies can be entered through annotations (with code insight for annotations and parameter values), through the Property Inspector, or through the WS Property Dialog. Policy definitions are by default picked up from the integrated server.

UDDI support

You can now browse and locate WSDLs that are hosted in UDDI repositories through the Resource Palette.

Full support for JAX-WS

The wizards and editing tools for services and client generation now support the new JAX-WS 2.1 Java EE 5 standard, providing a simpler programming model than JAX-RPC, and using JAX-B 2.0 for its data binding. The code editor has been improved with a number of Quick Fixes for common WS coding errors, and for configuring a project for WS support (auto import of libraries, web.xml generation and annotation import).

Support for asynchronous services

Asynchronous clients and stateful services can be created for interacting with BPEL processes (or other asynchronous services). These processes are themselves often long-running and asynchronous. The WS Proxy wizard will generate a client proxy, as well as a callback service that will be called to deliver the result. BPEL processes (or other clients) may also call a service in an asynchronous way.

Web / Ajax Development

JavaScript editor and debugger

JDeveloper now features an integrated editor and debugger for JavaScript, supporting JS 1.6, 1.7 and 1.8 features. The editor sports advanced features such as:

  • Syntax highlighting
  • Brace matching
  • Code folding
  • Code insight
  • Error underlining and audits
  • Find usages
  • Refactoring
  • Surround-with support
  • Go to declaration
  • Structure pane integration
  • Code reformatting in standalone .js files
  • Code editor support for showing deprecated properties as striked-out
  • Code editor support for showing unused variables/functions/labels are greyed-out
  • Audit transforms
  • Improved preferences panel for better support for different JavaScript versions
  • More audit rules

The debugger provides traditional debugging support (set breakpoints, stepping, watches, modifying data, etc), as well as the Classes window which shows a list of files loaded by the browser, and the ability to debug remotely by launching the browser with a special command-line argument. The JavaScript debugger is available for FireFox only.

CSS support

CSS 3.0 is now supported along with the new pseudo-elements, pseudo-classes, declarations and properties.

Code Insight now works for:

  • Html selectors
  • CSS Pseudo-elements and Pseudo-classes
  • Nested selectors
  • @media media types

CSS editor support for ADF Faces skins

Oracle JDeveloper 11 now comprehensive development support for skinning in ADF Faces and Trinidad. Not only that ADF Faces and Trinidad skin selectors are recognized by the CSS source editor, code completion and syntax help are provided as well, making it easy for web application developers to create a custom look and feel for their ADF Faces and Trinidad applications.

New JSP features

  • Audit and transforms for invalid, required and duplicate attributes
  • incorrect closing tag reset to default (for tags with size/width/height attributes)
  • Brace matching
  • Code insight to show file references to html/jsp/image targets

JSP Preview in Browser/Embedded Browser

Previewing pages in a browser is significantly enhanced as users can now preview JSP pages in a browser in addition to HTML pages. The new Embedded Browser allows users to view pages in a browser that is embedded within the JDeveloper IDE

Faces Config Overview Editor

This editor has been greatly enhanced to provide a more declarative and user-friendly interface

New flat editor UI for web.xml

A new flat UI editor has been added to Oracle JDeveloper to provide developers with a task oriented view onto the web.xml deployment profile structure. Unlike previous edit screens that simply followed the structure of the web.xml file, the new editing environment groups related configuration settings on a single tab menu for easy access.

EJB 3.0 Development

JDeveloper's support for EJB 3.0 development has been greatly improved to deliver greater productivity tools for the definition, generation, and migration of EJB applications. In support of EJB 3.0 compliance JDeveloper enables access to all features of the specification and many Oracle specific extensions.

  • Simplified configuration of EJB 3.0 session beans and message driven beans leveraging annotation insight and property inspector
  • EJB 3.0 diagramming support
  • Support for JSR 109 Deployment model
  • Web Services support via JSR 181

Oracle TopLink Development

JDeveloper now offers more comprehensive support for Oracle TopLink. With the Oracle TopLink 11g (11.1.1.0.0) release including EclipseLink 1.0.1 customers will find enhanced support for EclipseLink's JPA and MOXy components within JDeveloper as well as continued support for the native Object-Relational and Object-XML available in previous releases of JDeveloper.

Java Persistence API (JPA)

The support for the usage of Java Persistence API (JPA) entities and associated XML and annotation configuration files has been enhanced. While this support includes leveraging extended object-relational features of EclipseLink JPA it can also be used in a specification-compliant manner for portability across all JPA providers.

  • Definition of persistence units (persistence.xml) with graphical or XML configuration support including configuration of TopLink JPA extensions
  • JPA Entity generation and re-generation from online and offline schemas as well as through diagram creation
  • Definition of JPA Object-Relational Mapping (orm.xml) files with graphical editor or direct XML configuration
  • Attribute mapping is supported through annotations and XML
  • JPA entity generation from online and offline tables with persistence unit generation
  • Assistance in configuration of JPA entities in code with annotation insight and completion

Native Object-Relational

Support for TopLink's object-relational persistence of POJOs has also been enhanced in this release reducing coding through additional declarative configuration capabilities in the mapping editor. These features can be used through TopLink's session API or in conjunction with JPA to provided extended functionality.

  • Support offered for mapping with TopLink original packaging (oracle.toplink.*) as well as new support for the EclipseLink packaging (org.eclipse.persistence.*)
  • Query configuration support added for Report query as well as result ordering and batch and join optimizations
  • Additional mapping type support added
  • More flexible mapping converter support added to facilitate usage of custom data types or conversion operations between database values and domain model representation
  • Support for configuration of additional optimistic locking policies which can be used when relational schema changes are not an option
  • Returning policy configuration enabling the usage of trigger or stored procedure assigned values being reflected in the TopLink object cache
  • Cache configuration now supports shared/isolated, expiration, and cache coordination modes on each persistent type's descriptor
  • The sessions configuration (sessions.xml) has been enhanced to include application server platform selection, additional data source options, cache coordination usage, exclusive connection pooling for use with VPD/OLS, and more detailed logging configuration

Object-XML Binding

JDeveloper now supports object-XML mapping using either JAXB 2.0 or EclipseLink's native MOXy functionality. This provides developers with great flexibility in their approach to XML binding. Starting from an annotated domain model they can generate an XSD and starting from an XSD they can generate an annotated domain model. Or, they can use the graphical mapping editor with TopLink's own XML formatted metadata to define how their domain model relates to an existing XSD for a meet in the middle solution. In addition to the graphical mapping editor, developers can hand craft their JAXB 2.0 annotations leveraging insight and a property editor.

For more information on Oracle TopLink features, see the Oracle TopLink 11g (11.1.1.0.0) Release Notes 

ADF Framework

This release contains a number of new features that apply to the ADF framework as a whole.

ADF Debugging
 
The JDeveloper debugger contains a number of enhancements to simplify the process of debugging an ADF application:

  • Pagedef and task flow breakpoints: Create a breakpoint on a task flow activity or an iterator or binding in a pagedef file.
  • ADF Structure Pane and ADF Data Window: During a debugging session, the ADF Structure Pane shows the pages, regions and task flows that exist within the current view port. When you select an item in the pane, the ADF Data Window shows the data within the selected pagedef, page, region or task flow, as well as within the ADF context and scoped variables.
  • EL Evaluator Window: Evaluates any arbitrary EL expression. 

ADF Libraries

An ADF library is a library of components that can be shared among development teams. In JDeveloper 11g, developers can quickly package components into libraries; browse existing libraries; and import libraries into their applications. The following types of components can be packaged in an ADF library:

  • Page templates
  • Declarative components
  • Task flows
  • Data controls
  • ADF business components

ADF Security

Security has been enhanced to include:

  • Permission enforcement for task flows, page definitions and ADF business components.
  • Support for Oracle Platform Security (OPS).

ADF Faces Rich Client

Building on the success of the open source Apache Trinidad Project, Oracle ADF Faces Rich Client extends the Trinidad component framework to provide a rich set of AJAX-enabled JSF components that radically simplifies rich internet application development.

  • Over 100+ AJAX-enabled components (See bali for complete list)
  • Complete JavaScript API, providing client-side support for components
  • Drag and Drop Framework
  • Dialog and Popup Framework
  • Navigation Menu Framework
  • Increased reusability:
    • Support for Page templates, reusable page regions, and declarative components.
  • Built-in Internationalization and Accessiblity support
  • Partial Page Rendering
  • Active Data Framework--Oracle's AJAX "server push" technology
  • Advanced Data Streaming
    • Improves performance of data delivery to the browser
  • Support for Skinning
  • JSF 1.2 Support
  • Integation with ADFc to support TaskFlows and bookmarking
  • Integration with ADFm to support data bindings.
  • Oracle ADF Security Support

ADF Databinding

Enhanced Databinding Experience

A number of changes have been made to enhance and simplify the experience of using ADF databinding to create databound user interfaces. These include:

  • Data control picker simplifies the process of binding data to existing UI components.
  • Improved binding editors make the process of creating and modifying bindings more intuitive.
  • New bindings overview editor streamlines navigation between UI components and their binding information.
  • Refactoring allows you to safely rename, move and delete bindings.
  • "Design time at runtime" allows site managers and end users to customize bindings at runtime.

New data control types

Additional data control types extend the data control functionality:

  • JMX data control, based on MBeans deployed to a JMX server.
  • Placeholder data control: a new data control based on simple, dummy data. Enables a "UI first" development model where user interface developers use drag and drop databinding to build pages that can later be modified to bind to real application data.

New databound components

These new databound components simplify the creation of frequently required data objects:

  • Dynamic form
  • Regions, containing task flows:
    • Task flow can be specified at design time or run time (static or dynamic)
    • Contextual event framework for event-based communication between regions in a page
  • List of Values (LOV) dialog and choice list
  • Search form
  • Quick search
  • Graphs and maps

ADF Business Components

Business components have been further enhanced to provide extensive new and improved functionality:

  • Test and debug your application modules more easily using new enhancements to the Business Components Browser:
    • Test LOVs (lists of values)
    • Show translated strings for different locales
    • Test application module custom methods
    • Apply named view criteria
    • Test polymorphic view objects
  • Define shared application module instances so all end-users can share common lookup list data
  • Edit business components more flexibly
    • New modeless "overview" editors allow multiple objects to remain open for editing
    • Source view of ADF Business Components XML descriptors is now editable, with schema-driven code-insight assistance and error highlighting
    • Click on hyperlnks to navigate to related objects
    • Undo support allows you to undo edits made both to the source or "overview" editors
    • Improved editing of component settings and application module configurations via the property inspector
  • Define property sets to reuse groups of UI hints and custom properties across multiple business components and/or attributes
  • Improved flexibility for translatable resource strings, with support for:
    • Property files
    • XLIFF files (Standard XML-based resource bundles), or
    • Java resource bundles
  • Automatcally handle data that is effective only for a specific period of time
  • Customize business components at runtime using "design time at runtime"

ADF Task Flow

  • Bounded (nested) task flows. A bounded task flow represents a reusable block of task flow functionality with a single entry point, defined exit points, and its own memory scope (pageFlowScope) and transaction boundaries. Bounded task flows can receive parameters from, and return parameters to, a calling task flow. A bounded task flow can be incorporated in an application in various ways:
    • As a set of pages and other activities in a larger application flow;
    • As a region, providing navigation between page fragments in a single containing page;
    • Within a modal dialog, launched from a page.
  • Trains. A train is a progression of related pages guiding the end user through a series of steps; each step in a train contains a UI component showing the user's progress and allowing them to return to earlier steps.
  • Router activity: Provides conditional routing depending on the outcome of an expression.
  • Method call activity: Invokes a Java method from within a task flow.
  • Wildcard control flow: Allows a developer to add a global (wildcard) navigation rule to a diagram.
  • Parent action: Allows a task flow in a region to navigate the page containing the region.
  • Save for later: Allows incomplete transactions to be resumed at a later time.
    • Explicit save for later: End users save incomplete transactions and resume them later.
    • Implicit save: An end user resumes a session that has timed out or otherwise ended without saving data.
  • Task flow templates: A base task flow that can be reused as a template for new task flows.
  • Declarative bookmarking: Automatically constructs a URL (with optional parameters) for bookmarking a page.
  • Declarative transaction management: Specify whether a bounded task flow starts a new transaction or inherits an existing transaction.
  • Declarative support for browser back button navigation.
  • Declarative support for exception handlers.
  • Automatic merging of task flow files at run time, enabling developers to add to an existing task flow by creating additional task flows in a well-known directory.
  • Support for customization of task flows at runtime using "design time at runtime".
  • Support for running independent instances of the same task flow in different browser windows.
  • Support for calling a BPEL process from an ADF task flow.

ADF Swing

  • Runtime support for three new data-bound UI components: Shuttle Panel, Tree Table, and LOV button
  • ADF Business Component Browser has been rewritten as a showcase of ADF Swing functionality

ADF Data Visualization

ADF Data Visualization components are a set of rich interactive ADF Faces components that provide significant graphical and tabular capabilities for analyzing data. Data Visualization components provide the following common features:

  • First-class ADF Faces components
  • Design time creation using data control palette, JSF visual editor, property inspector and component palette
  • Support for data binding to standard rowset as well hierarchical data controls

The following list identifies the data visualization components:

Graph

Graph supports more than 50 types such as bar, pie, line, scatter, and stock graphs that allow you to evaluate data points on multiple axes in a variety of ways. Part of JDeveloper since 10g, Graph is now a JSF component. New features for Graph include:

  • New look and feel
  • New graph types: Funnel, Floating Bar Graph, Fit to Curve
  • Flash rendering
  • Flash animation effects on initial display and data change
  • SVG rendering
  • Interactivity: zooming, scrolling, time selector window, line and legend highlighting/fading, dynamic reference lines and areas
  • Advanced JSF graph tag as well as simplified tags for 17 commonly used graph types
  • UI for design time data binding and editing

Gauge

Gauge is a Data Visualization component that focuses on identification of problems in data. The available Gauge types are:

  • Dial: standard and threshold
  • Status Meter: standard and threshold
  • Vertical Status Meter: standard and threshold
  • LED

Geographic Map

Geographic Map is a new Data Visualization that provides functionality of Oracle Spatial within the ADF framework. This component allows users to represent business data on a geographic map and to superimpose multiple layers of information on a single map. The following map types are available:

  • Thematic
  • Pie
  • Bar
  • Point

PivotTable

PivotTable is a new Data Visualization component that supports multiple layers of data labels on a row or a column edge and automatic calculation of subtotals and totals. Pivot tables allow you to switch data labels from one edge to another to obtain different views of your data.

The following features are supported:

  • Virtualized data fetching
  • Horizontal & vertical scrolling
  • Cell level formatting support
  • Skinning support
  • Row and Column Sizing
  • Drag and drop pivoting
  • Support for automatic totals and subtotals against ADF BC Data Control

Gantt Chart

Gantt chart is a new Data Visualization in JDeveloper R11 that provides ability to track tasks and resources on a Time axis to assist in project planning. The following Gantt Chart types are supported:

  • Project Gantt (focuses on project management)
  • Scheduling Gantt (focuses on resource management)
  • Resource Utilization Gantt (focuses on resource utilization) 

ADF Mobile

ADF Mobile extends ADF applications to mobile device browsers. It allows developers using JDeveloper to rapidly mobilize an JSF/ADF application by supporting rendering of the UI components on mobile browsers. Developers simply need to develop new views specifically target mobile browsers, without having to re-write application logic components for the mobile application.

New features:

  • Additional mobile device browser support:
    • BlackBerry Browser version 4.x or above
    • Windows Mobile Pocket Internet Explorer (Windows Mobile 5 and 6)
    • Nokia S60 Browser(PPR does not yet work)
  • Trinidad component support: ADF Mobile UI components now supports Trinidad components, which are supported by the Apache MyFaces Trinidad project. This means:
    • A richer set of UI components are available for ADF Mobile that provides advanced feature such as partial page rendering.
    • Any developer or mobile device vendor can contribute to ADF Mobile via Trinidad to enhance ADF Mobile features and platform support.
 
false ,,,,,,,,,,,,,,,