Friday, December 28, 2007

Portlet Tutorial - Web Portals and Portlets

This post is a part of the Portlet 2.0 (JSR 286) Tutorial series

Introduction to Web Portals

A Web portal is a website that acts as a single point of access for a wide variety of information. Think of a site like Yahoo.On Yahoo, you can check news, shop, read your emails, chat, play games etc. You also have access to a wide varietyof other content and services provided by Yahoo. Yahoo is a good example of a Web portal.

Web portals need not always be accessible to everyone. They can exist within the confines of an organization, accessible to only people who are a part of the organization like employees, contractors, partners, suppliers etc. These portals are called Intranet Portals.Portals like Yahoo, that are open to all, are called Internet Portals.

Web Portal software

While it is possible to build a web portal like any other website using technologies like Servlet/JSP, ASP, PHP etc, today there exists a wide range of software that help build a web portal pretty quickly. For instance, If you are a .Net developer you could consider using the Microsoft Office Sharepoint Server

The advantage of using portal server software is that the software would already have most of the common portal functionality in place. All portal software will offer some means of managing your users (user management), login/logout (authentication), skins/themes (customization), creating multiple user profiles (personalization), search etc. Most portal software will offer significant out-of-the-box functionality like RSS feedreaders and email/calendar applications. Thus portal software, in general, will reduce the amount of code that you need to write to have a portal up and running. It reduces your design/code/test/debug cycles and also makes your portal easier to maintain/upgrade.

The disadvantage of using portal server software is that sometimes it might not be as flexible as you want it to be. All portals offer only a certain degree of customization. If you require something beyond that, you might be better off writing your own solution. Most portals are bulky, loaded with features and functionality. If you are looking for something that's simple, the size and complexity of the portal might come as a pain.

Java Portlets

While all portal software offer many useful out-of-the-box functionality, sometimes it is necessary to write your own custom code and "plug it" into the portal. Java portals allow you to do do this by writing a standardized plugin component called a Portlet. The Java Portlet , defined by the JSR 286, allows you to write your own code and put it into any compliant portal server. Just like you can write a servlet and deploy it to any web server/servlet container , you can write a portlet and deploy it to any portal server/portlet container.

There are a wide array of vendors that support the Portlet spec. IBM, BEA, Sun, Jboss, Liferay, Apache, Exo are a few examples.

7 comments:

Anonymous said...

Vignette is another porltet container. You can found more information about portlet containers in the Vignette Developer Community.

shamesh said...

Isn't there any site which compares pre existing Portal vendors like BEA, JBoss, IBM etc?

Anonymous said...

Can somene please tell what language is mostly used to develop portal applications?
I am interested in developing career in IBMportal and wondering what exactly is used to develop its applications or whateve. Is it only Java or something like C, PHP can be used?

Anonymous said...

Language used to develop portlet is very dependable on the portal itself.

For IBM Websphere Portal, it uses (Java)JSR 168, JSR 268 spec for the development of the portlet.

Anonymous said...

In general, you want to use an IDE as a platform to develop portlets, the same as you would building a servlet. IBM provides such a framework in its Rational product line. There is a charge for this. You can also use .net or eclipse. Eclipse is opensource (eclipse.org) that you can download for free. You can look around for a portlet plugin. Liferay supports a tool that builds a portlet project that you can import into Eclipse. IBM WebSphere and IBM WebSphere Portal are built on Java and your application should also be written in Java.

swetha said...

Hi,
Can anyone of you please help in finding the Portal tables for Navigation items and portlets???
Thanks in advance

Anonymous said...

Hi there,

Can anyone please describe with reasons which portal is better liferay portal or websphere portal.

Thanks in advance.