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.

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.

Steps:

  • 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

Enjoy!

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…