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…

About these ads

25 Responses

  1. hi
    quite an impressive demo. I am currently working on the WebCenter Suite for Oracle 10g. I wanted to ask if there were any training sessions to be scheduled. Im a bit confused and kinda get lost on the oracle webcenter website. I was able to follow through some easy to go tutorials but was a bit lost in most of the things. Even though the framework guide is through, i get confused and was not able to learn much out of that.
    hoping to get a reply soon

  2. [...] JSF Portlets Posted on July 23, 2008 by Peter Moskovits In the previous post I showed how you can take any JSF application or ADF task flow and expose them as portlets. [...]

  3. Hi,
    Good to hear that you liked the demo.
    Most of the training we have at this point is available on OTN. We plan to roll out instructor led classes shortly after the 11g version of WebCenter goes production. One good source of information is our Tutorial, that walks you through a couple of interesting scenarios. I’ll keep posting demos as well – let me know if there’s a particular are of interest to you. Furthermore, taking a look at the demos and samples that we have under JDeveloper and ADF, may help you as well.

    Peter

  4. [...] new technology into your pages, you can use the JSF Portlet Bridge to build JSF/ADF portlets or “portletize” JSF/ADF applications. The ultimate promise of the JSF Portlet Bridge is to leverage the WebCenter Enterprise 2.0 [...]

  5. Hi,

    I am planning to build ADF faces application (Webcenter 10g) and portletise it and consume on the Oracle Portal (10132).

    This is to take advantage of the Portal’s inbuilt security and audit features.

    Is this a good approach ? What could be the possible bottlenecks of this approach? Is this a good approach for performance intensive applications?

  6. Priya,

    Portletized ADF applications can be consumed by any WSRP consumer, including Oracle Portal. This was one of the main use cases we built the JSF Portlet Bridge for.
    Just one suggestion: try to stay on the latest version of Oracle Portal, primarily, because 10.1.4.x supports WSRP, earlier versions don’t. Also, the upcoming 11g version or Oracle Portal will support WSRP 2.0, allowing the Ajax capabilities to be channeled through from the ADF Faces rich client components (that you saw in the demo) to Oracle Portal.

  7. Hi,

    I am new to portlet development using Oracle WebCenter. I was watching a live presentation on the following link:

    “http://download.oracle.com/otndocs/tech/webcenter/files/owc_r11_create_chart_portlet.html”

    I have Oracle JDeveloper Studio Edition Version 11.1.1.0.0. There is nothing such as WebCenter or Portlet in the whole IDE. How i am supposed to start developing a portlet???

    One more question, can i develop portlet using IBM Portlet Factory and deploy it on Oracle WebCenter. How much feasible this option is???

  8. Tanveer,

    Oracle JDeveloper Studio Edition Version 11.1.1.0.0 contains a subset of the Oracle Fusion Middleware capabilities, it doesn’t contain SOA and WebCenter functionality. Those will be part of the Fusion Middleware 11g release, scheduled for the first half of 2009.

    The Portlet Factory generates JSR 168 portlet code, which can then be deployed to Oracle’s portlet container. Alternatively, you can deploy the portlet to IBM’s portlet container, and consume it in Oracle WebCenter through Web Services for Remote Portlets (WSRP).

    • Peter,

      Today, If I want to create some portlets using ADF and JSF I need to wait until the next JDeveloper Release? Am I understanding right?
      This information is very important for me, once I’ll be part of a project where we need to deliver several portlets. At this time we are trying to figure out what software we need to do that. JDeveloper 10.1.3.X + PDK or Webcenter extensions. Any options using Jdev 11.1.1.2 ?
      Is there any Technical Preview for Fusion Middleware 11g?

      Regards,

      Luis

  9. Is OC4JC_WebCenter instance in WebCenter Suite contain Oracle Portlet Container for JSR168? Pls answer.

  10. Yes, OC4J_WebCenter has the JSR 168/WSRP portlet container pre-installed.

  11. Thank perter. Tell me one more thing, which version of Portlet Container comes with WebCenter 10G (10.1.3.2.0)?

    • WebCenter 10.1.3.2 ships with the 10.1.3.2 version of the Oracle Portlet Container. This version supports JSR 168, WSRP 1.0, a preliminary version of WSRP 2.0, and the Oracle-specific PDK-Java portlet standards and APIs.

  12. Thanks. I have posted few questions in wiki.oracle.com but noone is answering in that forum.

    Actually, i want to know support or workarround of following features:-

    1. Drag and Drop support in WebCenter Portlets
    2. How to move portlet(s) up or left if user remove and/or add any portlet?

  13. Hi,
    We are planning to use webcenter in 2 of our projects. I am new to webcenter framework. Can we develop the whole portal solution using WebCenter framework without using ALUI or oracle Portal?
    And how to use security in that case . I have found , adf based security every where which is fairly done at the time of developmentment but in runtime can we use theis secutiry ?Rntime role tagging with security?
    Is there any good document available?

  14. hi,

    can i consume adf portlet that i deploy at preconfigured oc4j with weblogic workshop (using remote portet maybe).. i just can’t do it altough the portlet i deploy in oc4j can be consume via wsrp portlet producer registration (in jdev)

    if you know can you tell me how to do it… i’m new to weblogic portal

    thanks….

  15. Hi Peter,

    This is a bit late and hoping you are still monitoring this post ;)

    I’ve successfully porltetized ADF application and consumed it on Portal 10.1.4.2. The problem I have is, how to pass a request parameter to this ADF application when it is portletized ? My understanding is portal 10.1.4.2 supports wsrp1.0 and it is not possible to pass any parameters to underlying ADF application . Is is right ? If not could you suggest me how to do it.

    Thanks
    -Venkat

    • Venkat,

      Your assumption is correct. Oracle Portal 11g supports WSRP 2.0 features, including navigational parameters, that allow you to pass parameters to bridge portlets.

      Hope this helps,
      Peter

      • Thanks Peter!! Certainly saved a lot of hair on my head! I’ll attempt this when we ugrade to 11g.

        Regards,
        -Venkat

  16. I need to call the ADF portlet in Weblogic portal 10.3 remotely. i want to clarify is this odd use case possible
    if so can you please give me the idea how to do that?
    i am using jdev 11g for ADF taskflow

    • Kiran,

      The recommended approach is deploying your ADF application, exposing the app through the JSF Portlet Bridge (deployed to the Oracle Portlet Container), and consume it in WLP through WSRP.

      Feel free to contact me if you have more specific questions or comments.

  17. Hi Peter,
    Thank you for the sample presentations. I am trying to communicate between portlets by invoking actions in Oracle Jdeveloper 11g (11.1.1.3.0). I tried the sample available on OTN, but it is not working. My aim is to change the view page (jsp) in portlet-2 when an action is performed in one portlet-1.
    Also, I am not able to run a JSF portlet that extends com.sun.faces.portlet.FacesPortlet (from jsf-portlet bridge). I do not want to use ADFPortletBridge as it does not let me override the default doDispatch().
    Appreciate your help in these issues.
    Thank you,
    Kumar

  18. Peter,

    Is there a way to create a link in a portlet to another page in the portal (which has other portlets on it)? The current portal page with portlets should be replaced with a new page with different portlets.. Appreciate your help.

    Thank you,

    Kumar.

    • Yes, you can definitely do it, but you have to keep in mind, that portlets are reusable components on your pages, and are typically not meant to be tools to navigate in your portal.

  19. Hi Peter,

    I’m building an ADF application and portletized it as two portlets. When I consume them in the portal page created in JDeveloper 11G, it works fine that portlet A can invoke event and pass parameter to portlet B as those in the demo code. But when I try to consume those 2 portlets from the portal page created with Portal Builder in Oracle Portal (version 11G), it doesn’t work. I have hard time to figure out how to wire the event and pass parameter in Portal Builder. Do you have any example or document I can follow?

    JH

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: