Pros and Cons – When to use a Portal and Portlets instead of just Java Web-Frameworks

I had to answer the following question: Shall we use a Portal and if yes, should it be Liferay Portal or Oracle Portal? Or shall we use just one or more Java web frameworks? This article shows my result. I had to look especially at Liferay and Oracle products, nevertheless the result can be used for other products, too. The short answer: A Portal makes sense only in a few use cases, in the majority of cases you should not use one. In my case, we will not use one.

What is a Portal?

It is important to know that we are talking about an Enterprise Portal. Wikipedia has a good definition:

An enterprise portal [...] is a framework for integrating information, people and processes across organizational boundaries. It provides a secure unified access point, often in the form of a web-based user interface, and is designed to aggregate and personalize information through application-specific portlets.

Several Portal server are available in the Java / JVM environment. Liferay Portal and GateIn Portal (former JBoss Portal) are examples for open source products while Oracle Portal or IBM WebSphere Portal are proprietary products.

You develop Portlets („simple“ web applications) and deploy them in your portal. If you need to know more about a Portal or the Portlet JSR standards, ask Wikipedia: http://en.wikipedia.org/wiki/Portlet.

 

Should we use a Portal or not?

I found several pros and cons for using a Portal instead of just web applications.

 

Disadvantages of using a Portal:

 

Advantages of using a Portal

Important: Many of the pros can be realized by oneself with relatively low efforts (see the "BUT" notes after each bullet point). 

BUT:

Several Java frameworks are available, e.g OpenSSO (powerful, but complicated) or JOSSO (not so powerful, but easy to use).


Good products are available, e.g. Atlassian Crowd (I love Atlassian products such as Crowd, Jira or Confluence, because they are very intuitive and easy to use).


BUT:

This is required without a portal, too.


Several solutions can be used, such as a database, messaging, web services, events, and so on.


Even „push“ is possible for some time now (using specific web framework features or HTML 5 websockets).

BUT:

CSS can solve this problem (the keyword „corporate identity“ exists in almost every company).


Create a HTML template and include your applications within this template. Done.

BUT:

Some of these features can be realized very easily by oneself (e.g. a simple role concept).


Nevertheless, GUI features such as drag & drop are more effort (although component libraries can help you a lot).

BUT:


A) Do you really need these Features?


B) Is the offered functionality sufficent? Portals only offer „basic“ versions of stand-alone products. For instance, the content management system or search engine of a Portal is less powerful than other „real“ products offering this functionality.

 

Thus, you have to think about the following central question: Do we really need all those features offered by a portal?

Conclusion:

The total cost of ownership (TCO) is much higher when using a portal. You have to be sure, that you really need the offered features.

 

In some situations, you can defer your decision. Create your web applications as before. You can still integrate them in a Portal later, if you really need one. For instance, the following Oracle blog describes how you can use iFrames to do this: http://blogs.oracle.com/jheadstart/entry/integrating_a_jsf_application

 

If you decide to use a Portal, you have to choose a Portal product.

 

Should we use an Open Source or Proprietary Portal Product?

Both, open source and proprietary Portal products have pros and cons. I especially looked at Oracle Portal and Liferay Portal, but probably most aspects can be considered when evaluating other products, too.

Advantages  of Oracle Portal 

Disadvantages of Oracle Portal: 

Advantages  of Liferay Portal:

Disadvantages of Liferay Portal:

 

When to use a Portal?

Well, the conclusion is difficult. In my opinion, it does make sense only in a few use cases. If you really need many or all of those Portal features, and they are also sufficient, then use a Portal product. Though, usually it is much easier to create a simple web application which integrates your applications. Use a SSO framework, create a template, and you are done. Your developers will appreciate not to work with Portlets and its increased complexity and restrictions.

 

Did I miss any pros or cons? Do you have another opinion (probably, many people do???), then please write a comment and let’s discuss…

 

 

Best regards,

Kai Wähner (Twitter: @KaiWaehner)

 

[Content from my Blog: Kai Wähner's Blog: Pros and Cons - When to use a Portal and Portlets instead of just Java Web-Frameworks]

 

 

 

 

Top