Friday Sep 30, 2011

Oracle OpenWorld & JavaOne 2011 are almost HERE! (October 2- 6)

Oracle OpenWorld & JavaOne 2011 are next week and I want to take a moment to present to you my sessions and why you should attend. In addition, there are a number of labs that I'm leading or assisting with and I'll also provide you with a complete schedule list for Oracle ADF sessions at Oracle OpenWorld. So lets get started with this brief:

This first session discusses how Oracle ADF can be used with JD Edwards applications for a rich, dynamic user experience. We'll discuss how Oracle SOA Suite offers a platform for integrating Oracle and third-party applications and then flow into how Oracle ADF and Oracle SOA Suite can help you to create dynamic Web-based solutions that execute complex business processes on JD Edwards applications. There also will be a plug in here on executing these process from mobile devices. 

Co-Presenters here are as follows:

  • Bill Black Arcturus Realty Corporation Chief Financial Officer
  • Tom Carrell Oracle Product Strategy Director, JD Edwards World
  • Darryl Shakespeare Oracle Software Architect

For you hardened ADF Gurus, this session will not offer anything new from an ADF perspective but is an excellent session for your customers looking to integrate with JD Edwards.

Session ID: 12383

Session Title: Extending JD Edwards Applications with Oracle ADF and Oracle SOA Suite

Venue / Room: St. Francis - Colonial

Date and Time: 10/5/11, 11:45 - 12:45

My next session is one that I've delivered in the past on Data Visualizations but this year I have the honor of co-presenting with two members of the Data Visualization product management and development team as follows:

  • Katarina Obradovic-Sarkic Oracle Senior Product Manager
  • Jairam Ramanathan Oracle Principal Software Engineer
In this session, learn how you can visualize data in meaningful ways inside your Web applications. Learn to leverage the Oracle Application Development Framework (Oracle ADF) Faces data visualization components to display graphs, maps, and other visual representations of your information.

The first part of this session will be providing an overview of what currently exists from a Data Visualization Component perspective and then we'll follow-up with both design-time and run-time demonstrations followed by providing you with a look at what to expect in future releases.

Session ID: 08256

Session Title: Building Visually Appealing Web 2.0 Data Dashboards

Venue / Room: Moscone South - 305

Date and Time: 10/6/11, 12:00 - 13:00

This is an excellent session for anyone that is looking to get an idea of how to work with the DVT components and to get a glimpse at future components.

Now for the labs that I'll either be running or assisting with.

Session ID: 29860

Session Title: Introduction to Oracle ADF

Venue / Room: Marriott Marquis - Salon 3/4

Date and Time: 10/3/11, 17:00 - 18:00

Session ID: 29861

Session Title: Developing and Consuming REST Services

Venue / Room: Marriott Marquis - Salon 3/4

Date and Time: 10/4/11, 17:00 - 18:00

Session ID: 29862

Session Title: Web-Based Data Visualization Made Simple

Venue / Room: Marriott Marquis - Salon 3/4

Date and Time: 10/4/11, 15:30 - 16:30

Session ID: 29860

Session Title: Introduction to Oracle ADF

Venue / Room: Marriott Marquis - Salon 3/4

Date and Time: 10/6/11, 15:00 - 16:00

For all the sessions, labs. panels, bird-of-feather, User Group meetings and demos for Oracle OpenWorld 2011 in one single document please see the Oracle ADF Sessions List for Oracle OpenWorld 2011.

Wednesday Feb 25, 2009

Reusable ADF Library (RSSFeedReader): Updated to use the iterator component as opposed to the forEach.

In this blog entry I'll demonstrate the creation of a reusable component using JDeveloper/ADF 11g, Rome 1.0 RSS and Atom Utilities, and JDOM 1.0. First I'll provide the links to the required software.

Required Downloads:
JDeveloper 11g
Rome 1.0
JDom 1.1.2
FeedReader Application Workspace

Description of the FeedReader Application:
The simple description of the FeedReader Reusable Component is to create a Fusion Web Application (ADF) which creates both a Model and ViewController project for you. In the model project you want to add the rome.jar and jdom.jar files to your project libraries and classpath. The following steps outline the basic objects I've created for my application. is a simple object with setters and getters that describe the items to be displayed for a particular RSS Feed. The following image is a partial glimpse of the object. is an object with two methods processFeed which takes a url and creates a syndication entry that it then passes to the addEntry method which processes each entry 1 by 1 adding them to an ArrayList of Feed objects.

Also worth noting are a couple of test clients in the Model project, and, that you can take a look at. They were used to validate the data prior to creating the Data Control.

As for creating a Data Control I simply right clicked on the object and selected create Data Control. The Data Control is needed to expose the attributes and methods to the ViewController. Worth pointing out here is another aspect of the object. This object as used in exposes it's attributes through the Data Control.
Data Control

So now I'll move on to the RSSViewController project. The first thing to do is to create a ADF Bounded Task Flow and to drop a view component on it. The name of the bounded task flow is rsstask-flow-definition and the view is named rssFeedReader.jsff. After creating the bounded task flow I've added a parameter to it for the RSS Feed URL that I'll pass into it as you can see from the following image. The parameter name is RSSURL, it's a string and it is a required input.
ADF Bounded Task Flow

The next step is to set the NDValue for the argument being passed into the processFeed method to the same as that for the Value in the bounded task flow. But first, I must create the rssfeedReader.jsff jsf fragment. I do this by double clicking on the view in the bounded task flow and go with the defaults. I can now design the layout of the jsf fragment. Without going into all the details, I've basically created two outputText components for the titleHead and titleDesc by dragging those attributes from the FeedReader data control onto the jsf fragment. I've then used a For Each operation to iterate through the items of the supplied RSS Feed. Now that this is done, I can select the Bindings tab of the jsf fragment and select the rssFeedReaderPageDef | bindings | processFeed | arg within the Structure Pane and then in the Property Inspector, I set the NDValue to #{pageFlowScope.RSSURL}.
Rss Feed Reader JSF Fragment

I'm almost done. Now to create a deployment profile for the RSSViewController Project. This is done by double clicking on the RSSViewController project, selecting Deployment, selecting New, selecting ADF Library Jar File for the Archive Type, and give it an appropriate name. You should be able to go with the defaults from here but ensure that the Library Dependencies of the Model Project are selected.
Deployment Profile

Also in the RSSViewController Project is a untitled1.jsp jsf page to test out the new reusable ADF Library but I'll explain how to do this in a new workspace to simulate sharing this library with another developer perhaps.

The following image shows what the completed Application Workspace looks like.
Application Workspace

Sharing the Reusable ADF Library:
The first thing to do is to create a new Fusion Web Application Workspace as before. Ensure you've added the rome.jar and jdom.jar files to your project libraries and classpath as before. Then create a new File System Connection to the directory that you've copied the Reusable ADF Library to. After that, in your File System Connections under the Resource Palette, I simply right select the shared library and added it to my project. At this point, I can create a new jsf page and simply drag and drop the bounded task flow from the Component Palette onto my jsf page and supply a RSS Feed URL. Once I'm done with this I can run the page to test it out.
Feed Reader

Note: the jsf fragment is using the iterator component to iterator through the feed.

Feedback is appreciated.


I'm a Principal Product Manager in the JDeveloper/ADF product management team. I've been working with JDeveloper since 2004.


« July 2016