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.
This Technology Preview release of 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.
This Technology Preview release of Oracle
SOA Suite 11g showcases
the support for the Service Component Architecture (SCA) standard in
Oracle SOA Suite through the new composite assembly editor in
JDeveloper as well as a unified service engine foundation for the full
set of SOA Suite components. Other key advances included in this 11g
preview are native support for eventing, rich AJAX Human Task forms
leveraging Oracle ADF, and Rules authoring usability improvements now
integrated with JDeveloper.
Key WebCenter components included in this
Technology Preview release
are WebCenter Framework, Oracle Composer, and WebCenter Services. The
WebCenter Framework augments the JavaServer Faces (JSF) environment
provided with JDeveloper by providing additional components,
integration, and runtime options. Oracle Composer is a browser-based
platform that enables information workers and business users to extend
and customize applications at runtime. The rich feature set provided by
Composer allows users to tailor fit their applications to business and
personal requirements. WebCenter Web 2.0 Services include Document
Library (file system only), Tagging, Links, Search (within WebCenter
only), and Portlets. The tight integration allows the services to be
accessible in the context of the task or business flow. An important
distinction for the WebCenter Framework and Services is that developers
need to add only those components that make the most sense for their
environments. When the components are added to a JSF application, the
dependencies are then included in the deployment profile. Components
that are not needed aren't deployed with the application.
 |
Feature Completeness
To comply with Oracle's strict revenue
recognition policies, the SOA
and WebCenter functionality is only available for preview to existing
Oracle customers with a valid Customer Support Identification (CSI)
number. Please visit the SOA
and WebCenter
OTN home pages for information on how to access the Technology Preview
4 functionality for those areas.
This release is not feature complete,
in the sense that 1) the
features shown in this release are not guaranteed to be in the final
production release, and 2) we plan to add features in production that
are not in the Technology Preview. This is intended as a stability and
performance update to the last preview (Technology Preview 3) and to
elicit further feedback from users on the product direction.
A denotes a
feature that was not exposed (or was still in development) for the
previous OTN Tech Preview (TP3)
|
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.
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!
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
- SOA-MDS
- Content Repository Connection
- Oracle PDK-Java Producer
- WSRP Producer
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.
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
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
- Memory Profiler
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.
Subversion Support
Team development working in JDeveloper is
enhanced through
- Upgraded support to Subversion release
1.4.3
- 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
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
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
- SXML definition generation
- Multiple database object cross
referencing (within or between 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 modeling 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.
Deployment
JDeveloper 11g supports direct deployment to
Oracle Application
Server 11g in a number of configurations, and a number of enhancements
have been made in this area:
Improved Application Server
integration
In addition to a lightweight, embedded
server, JDeveloper also now
supports the ability to specify an "Integrated OC4J". (By default, you
can easily use the OC4J installation that ships with JDeveloper as an
"Integrated OC4J".) This allows you to specify a full Oracle
Application Server instance to use as your primary run time environment
for development within JDeveloper. The environment can be configured
with the services you are using, allowing you to exactly simulate your
production server for testing. In this case, there is one Application
Server instance which you can leave running, and each run operation
deploys and runs the application in that Application Server instance.
This mode allows for complete configuration of the server, and is
recommended for developers who are building SOA applications. At the
same time, you retain the productivity features of the embedded server
for application development, such as implicit starting/stopping,
automatic deployment, in-place editing, and more.
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
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
Postponed Features
A number of modeling features that were
supported in JDeveloper
10.1.3.x will not appear in this release of JDeveloper. They will,
however, be added back in for the subsequent release:
- Conversion of Class to Interface (and
vice-versa)
- Conversion of Attribute to Association
(and vice-versa)
- Deep Copy to clone an element
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.
Improved WS generation
Generation has been enhanced so that
incremental changes are
immediately written to implementation files, eliminating long
(re-)generation cycles. In addition any edits you make to WSDL or
implementation are fully preserved.
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 OC4J 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 embedded server, but the location of the policy
store can be overridden at Application and IDE level to retrieve
policies from a file location (either a local file, or through a remote
mounted drive).
In TP4, only basic username/password policies have been tested.
UDDI support
You can now publish newly created WSDLs to
UDDI repositories and
browse and locate WSDLs that are hosted in UDDI repositories through
the Resource Catalog
Full support for JAX-WS
The wizards and editing tools for services
and client generation now
support the new JAX-WS 2.0 JEE5 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).
This includes support for defining stateful JAX-WS services
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
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.
Faces Config Overview Editor
This editor has been greatly enhanced to
provide a more declarative and user-friendly interface
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
OracleAS/OC4J 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
rich persistence capabilities. This enhanced support focuses on
improved support for JPA and POJO object-relational mapping as well as
introducing object-XML mapping with JAXB and EIS persistence using JCA
resource adapters.
TopLink JPA
The support for the usage of Java
Persistence API (JPA) entities and
associated XMl configuration files has been enhanced. While this
support includes leveraging extended object-relational features of
TopLink it can also be used in a specification-compliant manner for
portability across 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
TopLink POJO 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.
- 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
- The migration utility for upgrading
earlier OC4J CMP and WebLogic CMP to OC4J's EJB 2.1 using TopLink has
been integrated
TopLink Object-XML Mapping and JAXB
Support
JDeveloper now supports object-XML mapping
using either JAXB 2.0 or
TopLink's own OXM metadata. 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 in this Technology
Preview, see Oracle
TopLink Technology Preview 4 Release Notes
ADF
Framework
This release contains a number of new
features that apply to the ADF framework as a whole.
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 Extensible Security
(XS).
ADF customization using MDS
Metadata services (MDS) provide a framework
to support both user and design time customizations of ADF metadata.
User Customizations
Many ADF Faces Rich Client components allow
the user to customize
the look and feel of the component at runtime. Users can drag a column
and reorder it, they can change the splitter position of a panel
splitter, they can change the sort order of columns etc. The change
persistence framework and MDS allow for the persistence of these user
customizations across sessions. For example, a user may remove columns,
freeze columns, or reorder columns of a table. The next time they visit
the page, their changes will be retained. What customizations are
persisted is completely configurable at the application, page,
component, and attribute levels.
Seeded Customizations
ADF metadata can be customized when
JDeveloper is in customization
role. Customization is a mechanism through which metadata can be
modified to tailor it to different target audiences and business
domains. Customizations are stored in separate XML files, and thus
these customization changes do not update the "base" definition of the
application. An application can be configured to use multiple layers of
such customizations, with a precedence of how to apply the layers, and
each layer with a set of possible values (ex: verticalization and site
layers, each with relevant list of values). One can select the
customization context in JDeveloper and create/edit the customizations
at a specific layer/value. All these customizations can be deployed
with the application.
The following metadata can be customized in
JDeveloper :
- ADF View metadata (JSPX, JSFF files)
- ADF Model metadata (pageDef files)
- ADF Business Components metadata (View
Objects, Entity Objects etc)
- ADF Controller metadata (adfc-config
files)
The visual editor, Structure Pane and
Property Inspector is used to
update the metadata as usual in JDeveloper, and in this customization
role, these updates get saved as customizations.
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:
- 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 Service Oriented Architecture
(SOA) development and application integration support:
- Define
entity object business events that can notify external business
processes using standard Service Component Architecture (SCA)
- Simplify
application integration by declaratively enabling a Service Interface
that allows clients to work with an application module's data and
custom methods over web services
- 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:
- 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
- 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:
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)
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.
(Currently patches to Trinidad components
for ADF Mobile have not
been merged into the official Trinidad build. For instructions on how
to apply the patches and run ADF Mobile using JDeveloper technical
preview builds, please see here.
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
- 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.
WebCenter
Development
For more information on new features for WebCenter in this release, please refer to the Oracle WebCenter page on OTN.
SOA
Suite: SCA composite applications development
For SOA technical notes and discussion
forum, please see the SOA 11g
Technology Preview page available at the Service-Oriented Architecture
Technology Center.
SOA
Composite Assembly Editor
SOA composite applications are no longer
just a virtual concept:
using JDeveloper's Assembly Editor you can now assemble a variety of
technologies such as routing and transformation services (Mediator),
adapters, decision services and BPEL processes in a single deployment
unit.
SOA
Service Infrastructure
SOA Composite applications are deployed to a
single unified and
modular engine: the SOA Service Infrastructure. This service
infrastructure leverages pluggable engines, such as the BPEL process
manager and can execute any type of artifacts: from BPEL processes to
business rules or routing services. This translates into numerous
management benefits such as end-to-end tracking of messages as they
travel through many different engines as well as highly simplified
tuning and administration tasks.
The
Event Delivery Network (EDN): Uniting EDA and SOA
This release of the SOA Suite unifies
tooling and capabilities of
traditionally synchronous SOAP interactions with event-driven
processing. The foundation layer for this unification is the Event
Delivery Network, an abstraction of the publish-subscribe paradigm that
provides designer with the tools to graphically create, discover and
subscribe to events that are strongly-typed using XML schemas. In
addition, EDN provides refined subscription capabilities that enable
subscriptions to individual events, classes of events (using XML
namespaces subscriptions) and subsets of events (using XPath-driven
content-based filtering).
Advanced
Pattern Detection with the Complex Event Processor (CEP)
11g introduces a new component for advanced
data stream and event
processing, Oracle Complex Event Processing (CEP). CEP provides a rich,
declarative environment for the development of event processing
applications to improve the efficiency and effectiveness of managing
business operations. Key CEP features include pattern matching, time
and data-based windows for event evaluation and an extensible framework
to support user-defined analysis and functions. At the heart of Oracle
CEP is the Continuous Query Language (CQL) that supports all SQL'99
constructs, extending the power of SQL to streaming data analysis.
Java-based
Business Activity Monitoring (BAM)
Oracle Business Activity Monitoring (Oracle
BAM) is a complete
solution for building interactive, real-time dashboards and proactive
alerts for monitoring business processes and services. The 11g release
marks the completion of a completely Java version of Oracle BAM with
multi-platform support. The Java version of BAM preserves BAM's core
architecture and capabilities, including the original thin client,
web-based BAM applications, Active Viewer, Active Studio, Architect and
Administrator. A number of new additional features have also been
introduced including:
- Integration with Oracle Data Integrator
for ETL-based data updates
- Native BAM support for data acquisition
from both JMS topics and queues
- JDeveloper
design time experience through a BAM Data Control that enables any ADF
component to receive ActiveData from the BAM Server
- Integrated on-line help within the BAM
Applications
- Availability of shared JPS-based security
that is standard for Fusion Middleware
- Significant BAM report load time
improvements
- Seamless migration path from 10.1.3.x to
11g BAM using BAM metadata stored as xml documents
Enhanced
Rules Authoring Environment
11g introduces a JDeveloper-based business
rules editor, providing a
much richer and intuitive user experience. Some of the new features
include:
- Simplified and enhanced (e.g. nested
conditions) If-then else rules editing
- New Decision Tables for intuitive,
spreadsheet-like environment to design rulesets
- Streamlined BPEL integration via decision
service
- New Graphical Function Builder
- Support for dates and effectivity
- Capability for rulesets to span multiple
dictionaries.
ADF-based
Human Task Forms
Developers can leverage the full potential
of Oracle ADF, its
multi-page task flows and its wide library of drag and drop components
(drop list, tables, graphs etc.) to build rich Human Task forms. Task
forms include a task data control to bind to workflow operations and a
variety of pre-defined regions for rapidly creating a task form.
Human
Workflow Editor Enhancements
There are many enhancements available in the
task editor, such as
the ability to use the Business Rules component to define complex task
routing scenarios, define finer-grain access level policies for task
content based on the user profile (assignee, owner, initiator etc).
BPM
Worklist
The worklist has been completely redesigned
using ADF and now
supports new features such as "ToDo tasks", "Sub-tasks" and ability to
do "digital signature" based approvals. Additionally some key parts of
the worklist are available as standalone regions to embed in other apps
and portals.
Oracle
B2B
Oracle B2B, is the eCommerce gateway
component that manages the
automated exchange of documents with external entities e.g. Partners.
It provides Security, Transports, Messaging Services, Document and
Partner Management. In AS11, Oracle B2B is a binding component in the
SOA Suite. This platform enables the implementation of end-to-end
business processes.
New features:
- Platform: Migrated to
OC4J, integrated into fabric,
integrated into Enterprise Manager, moved to the Common Metadata
Repository, utilizes the Common Runtime store, and moved to an
ADF/DHTML based UI.
- Security: SSO Support
added,
certificate management moved to a common store, added a common user
& policy store, and added role & permission based
authorization.
- Document Management:
Enhanced large file support, added addition protocols and vertical
nomenclature to UI
- Partner Management:
Added document auto retry & re-submission, partner cloning, and
automatic agreement creation. Added partner specific: self-service,
reporting, document definitions and message & acknowledgment
processing.