Portlets and Taskflows

An (ADF) Taskflow is a self-contained rendition with its own navigation control and mechanism to execute business logic along the way.  In ADF applications like WebCenter Portal, taskflows are heavily used. e.g. each WebCenter Portal service has one or more taskflows available out-of-the-box.  Refer to this excellent overview by my colleague, Frank Nimphius on his blog.

A Portlet, as you may all know, is similar to a taskflow in function.  The main difference being that they run remotely in a “portlet container”.  WebCenter supports both portlet standards – JSR 168 & JSR 286.

Via Oracle WebCenter’s JSF Portlet Bridge, one can also expose ADF Taskflows as a Portlets.  This capability is based on JSR 301 & JSR 329 standard and is very widely used.

Having both these options means that you have to make a decision on what to pick when you are building components for your Enterprise Portal.  There are various aspects to consider including deployment model, customizability, running remotely, availability of Application Context, eventing, etc.

I am curious to hear some of your experiences with these two technologies we provide when building your WebCenter Portal(s).


3 Responses

  1. Most of the WebCenter customers are coming from ADF background, at least from my experience it is so. Those customers usually prefer to deploy ADF Task Flows locally, together with WebCenter Portal application – on the same WebLogic server. They prefer local deployment, because they were doing the same before WebCenter, when they were running plain ADF applications (there is always one main ADF application and it integrates different ADF Task Flows from libraries). One of the main reasons – performance and usability. When ADF Task Flows are deployed locally, page load time is much faster.

    Main advantage of portlets – detached from main portal application, easy to redeploy, etc. However, people tend to think that usage of portlets will complicate infrastructure environment and will slow down portal system.

    I personally believe there are different use cases, some suitable for ADF Task Flows, some for portlets. Its good that WebCenter supports both.

  2. There may be performance considerations as well as outlined by Igor:

    Task flows on WebCenter pages (as on any ADF page) are processed sequentially. Remote portlets are processed in parallel.

    If one task flow is slow to complete, it will affect performance of a whole page. You need to keep this in mind when developing custom task flows or assembling portal pages with multiple task flows.

  3. Excellent post Manish,
    From my experience, many customers still keep asking if Taskflows or Portlets, and one sentence that helps to make them understand it is:
    “There are important difference but a Taskflow is like a local Portlet, and Portlets are remote calls”.
    We recommend the use of Taskflows and if the Taskflow needs to be consumed externally use JSF Bridge or expose some common services that is also used by the Taskflow as not to duplicate effort.

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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: