JSF Portlet Bridge Presentations at the JSF Summit

Oracle’s Mike Freedman, the spec lead for JSR 301: Portlet 1.0 Bridge for JavaServer Faces 1.2 and JSR 329: Portlet 2.0 Bridge for JavaServer Faces 1.2 gives two presentations at the JSF Summit, in Orlando, FL.

Here are the abstracts:



Did you know that your JSF application is also a portlet?

The Portlet Bridge (JSR 301 or JSR 329) provides a Faces compatible runtime environment in a Java portlet environment enabling a JSF application to simultaneously be published as a web application and a portlet. This talk introduces you to the Portlet Bridge and shows you how to use it in your applications. Demonstrations are provided to illustrate concepts. Topics covered include:

  • The difference between JSR 301 and JSR 329.
  • Extending a Faces application so it also runs as a portlet.
  • An overview of the bridge’s configuration flexibility to adapt to differing Faces and application environments.

The Portlet Bridge and the 2.0s

In the recent past both Java Portlets and JSF have published their 2.0 versions. This talk introduces you to how the major new features in each of these 2.0s are managed by the bridge. The Portlet Bridge provides a Faces compatible runtime environment in a Java portlet environment enabling a JSF application to simultaneously be published as a web application and a portlet. As a technology that sits between two others (the Java Portlet API and Faces), its capabilities expand as the controlling technologies are revised. Demonstrations are provided to illustrate concepts. Topics covered include:

  • Portlet 2.0 shared render parameters
  • Portlet 2.0 eventing
  • Portlet 2.0 resource serving
  • JSF 2.0 Ajax support

Oracle Magazine Article: Turn Applications into Portlets with the JSF Portlet Bridge (JSR 301)

oraclemagazinebridgeVanessa Wang from the Oracle Fustion Middleware Documentation team published an excellent article in the September 2009 issue of the Oracle Magazine, walking through the steps of turning an ADF task flow into a portlet. The article comes with a sample project that you can use as a starting point for your experiment.

Hosted ADF Faces Demo

You can take a serious look at the 150 or so JSF view components that ADF offers. We have a hosted demo app that covers skinning, runtime skin selection, and drag and drop capabilities as well. You are one click away from it. Click now! 😉


Oracle Portal 11g New Features

We’re about to post the updated Oracle Portal Statement of Direction on the Oracle Portal page on OTN. Oracle Portal 11g is part of Fusion Middleware 11g, and will be released at the same time, currently scheduled for the first half of calendar year 2009. Here is the summary of the planned new features in the 11g version:

  • Oracle Portal 11g will be integrated with WebLogic Server.
  • Extend support for open industry standards:
    • WSRP 2.0 (Web Services for Remote Portlets)
    • JSR 301 (Portlet Bridge for JavaServer Faces)
      • Build new portlets with JSF
      • Turn JSF pages and oracle ADF task flows into standards-based portlets
      • Bring existing JSF applications into Oracle Portal 11g
      • Available with Oracle WebCenter Suite
  • Oracle Portal will be able to consume the Enterprise 2.0 services offered by Oracle WebCenter. These services include: Discussions, Wikis, Search, Presence, Instant Messaging, Email, and Document Library.
  • Content integration
    • Expose content from 3rd party document management systems in Oracle Portal via portlets (using WSRP 2.0 and JSR 301).
    • Build portlets in JDeveloper that utilize JCR 1.0 (JSR 170) adapters to connect to content management systems.
    • Available adapters (with Oracle WebCenter Suite): Oracle Universal Content Management, Oracle Content DB, Oracle Portal, and file system. Additional adapters (Documentum, SharePoint, Lotus Domino) are available from our partners.
  • Extend Core Portal Functionality
    • Omniportlet enhancements, including enhanced support for complex Web Services.
    • BPEL-based process content routing & approval
    • Support for new Document Type Declarations: HTML 4.01 Strict, XHTML 1.0 Transitional, and XHTML 1.0 Strict
  • Streamline management and administration
    • Performance metrics available in Enterprise Manager interface
    • Improved Lifecycle Support — Export/Import
  • Simplify and extend security
  • Deeper integration with Oracle Fusion Middleware 11g

Building JSF Portlets

In the previous post I showed how you can take any JSF application or ADF task flow and expose them as portlets. It’s a very powerful capability, and is used mostly when you have already built your page or application, and making a portlet out of it is more of an after-thought.

Using the same JSF Portlet Bridge (JSR 301) under the covers, you can use the portlet creation wizard in JDeveloper to build JSF/ADF portlets very easily. You don’t necessarily have to deal with the JSR 168 APIs, you can directly take advantage of the power of ADF.


  • 0:00-1:30 Building the JSF portlet skeleton using the portlet creation wizard.
  • 1:30-3:30 Creating the model for the portlet application: using ADF Business Components (BC) to access a back-end database, creating the data control
  • 3:30-5:50 Creating a stacked chart as the portlet view using ADF Data Visualization Technology (DVT)
  • 5:50-7:30 Deploying the portlet application
  • 7:30-9:46 Building a portlet consumer application: registering and consuming the producer


JSR 301: The JSF Portlet Bridge

When we decided that JSF is going to be the development platform at Oracle going forward, it became clear that we need a way to expose JSF applications as portlets. We looked at the open and not that open source JSF portlet bridges out there. While many of them looked promising, all of them failed when WSRP came into the picture; and we definitely needed one that can be deployed and consumed through WSRP.

To address this issue, Oracle initiated a new expert group: JSR 301, the Portlet Bridge Specification for JavaServer Faces.

I put together a screen cast to demonstrate where we are with the implementation. For this demonstration I used the Technology Preview version of JDeveloper/WebCenter 11g.

The demo walks you through the following steps:

  • 0:00-11:45 Creating an ADF task flow, a reusable ADF component (very much like a local portlet). Everything shown in this section is core ADF functionality, you don’t need WebCenter to do this.
  • 11:45-15:00 Turning the application into a portlet (sometimes referred to as: “portletize” or “portletizing”), and deploying the application.
  • 15:00-18:00 Consuming the portlet in a WebCenter application through WSRP 2.0.

While the actual steps show how to expose an ADF task flow as a portlet, it works very similarly for plain JSF and ADF pages as well.

Lean back, and watch…

What can I do with the Technology Preview 4 of WebCenter?

Just got back from my long vacation from Europe. I had several emails in my inbox asking: What are the types of things I can and cannot do with the Tech Preview of WebCenter? Here are a couple of simple things you can try out and provide us feedback on:

  • Portlet creation: build and deploy JSR 168 portlets
  • Portlet consumption: Consume WSRP 1.0 and WSRP 2.0 portlets
  • JSF Portlet bridge: JSR 301: Portlet Bridge Specification for JavaServer Faces reference implementation: expose JSF applications through WSRP
  • Content integration: test the new and improved JCR level 1 and level 2 support using the file system adapter
  • Runtime customization: build applications featuring Composer, which allows privileged business users to add new resources to the pages and re-arrange to contents of the page
  • Web 2.0 services: tagging and linking

If it sounds promising, give it a try!

Also wanted to make a note of things you cannot test without back-end services, which have not been released as part of the preview: threaded discussions, wiki, blog, presence, instant messaging, WebCenter Spaces.