Oracle JDeveloper and ADF Release 11g (18.104.22.168.0) New Features
Oct 6, 2008
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.
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.
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 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.
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:
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).
This release introduces new tools for developers building extensions to JDeveloper. New wizards make it easier than ever to get started building extensions:
Project properties page
Data Model (for persistence of preferences or properties)
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.
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.
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.
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.
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.
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.
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
You can also browse live (online) database connections through the Resource Catalog and drag them into your application
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:
Partitioned tables and indexes
Materialized (including partitioned and indexed) views and view logs
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.
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
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)
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.
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.
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
Error underlining and audits
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
More audit rules
CSS 3.0 is now supported along with the new pseudo-elements, pseudo-classes, declarations and properties.
Code Insight now works for:
CSS Pseudo-elements and Pseudo-classes
@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)
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 (22.214.171.124.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
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
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.
This release contains a number of new features that apply to the ADF framework as a whole.
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.
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:
ADF business components
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)
Drag and Drop Framework
Dialog and Popup Framework
Navigation Menu Framework
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
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:
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
Graphs and maps
ADF Business Components
Business components have been further enhanced to provide extensive new and improved functionality:
Define Lists of Values (LOVs) on view object attributes declaratively, including the ability to:
Configure the display style (including both inline dropdowns for shorter lists and popup windows for longer lists)
Filter the choices in the list based on user input
Autofill the attribute value if user input indentifies a unique match
Automatically use other attribute values in the current row to parameterize "cascading" lists
Derive default values and calculated attributes using standard
Groovy language expressions (
JSR-241), with automatic recalculation
Simplified development and maintenance of View Objects:
Define and apply named view criteria "filters" declaratively, allowing multiple alternative custom queries on a single view object
Create outer joins declaratively
Define default where clause and order by without typing SQL or referencing underlying column names
Create static view objects, based on a translatable set of static values.
Eliminate code for even more kinds of common business validation scenarios with enhanced declarative validation rules support
Control when a validation rule is executed by specifying a conditional execution expression or triggering attributes
Create parameterized error messages and warnings saved in external resource bundles
New validation rule types simplify:
Checking an attribute value against a computed aggregate (sum, average, count) over composed child entities using the "Collection" rule
Testing existence of a foreign key value using the "Key Exists" rule
Guaranteeing an attribute value is unique (both for primary keys and new "alternate keys") using the "Unique Key" rule
Authoring more complex rules in the standard Groovy scripting language using the "Expression" rule
Comparing one attribute value to another in the same entity
Business logic groups allow you to encapsulate and reuse a set of related control hints, default values, and validation logic.
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:
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.
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 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 animation effects on initial display and data change
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 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
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:
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
Row and Column Sizing
Drag and drop pivoting
Support for automatic totals and subtotals against ADF BC Data Control
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 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.
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.