Portal Engine and Framework
Original Publication Date: 2004-Mar-26
Included in the Prior Art Database: 2004-Mar-26
Disclosed is a custom portal engine framework. Its unique and novel design is reflected in the following four main features: (a) It is lightweight; (b) highly customizable; (c) high performing; (d) allows for rapid portlet development
Portal Engine and Framework
The invention helps create portal sites, examples of which include http://my.yahoo.com and http://w3.ibm.com Portal pages are unique in many ways:
They are not typically developed by one developer. Instead, they consist of multiple portlets, and each portlet frequently has a different developer. This creates a need to clearly separate portlets as independent components They are typically quite complex, creating a need for a clear framework Typically, the user interface of a portal is subject to constant change. This entails a need for a highly customizable portal framework that could be quickly changed in response to changing business requirements. In order to sustain the constant change, the framework also needs to be simple, so that the developers can easily understand it. Non-functional requirements, such as scalability, performance, availability, as usually quite challenging.
These four considerations combined narrow the available architectural choices quite consederably. Unfortunately, most commercially available products were developed as extensions of pre-existing platforms and as a result, do not satisfy the four criteria very well. Our framework was developed from ground up. It addesses the issues as follows:
Our portlets are independent JSPs that do not have to share any components. They are typically customized from a number of pre-existing samples, but developers are entirely free to modify them in order to meet the business requirements The portal page is a small JSP developed from a sample JSP. It interfaces with a user profiling system in order to retrieve the list of portlets that needs to be displayed on the page and then proceeds to invoke their controllers. The amount of logic contained in the JSP is very small. The portal page itself is simply a JSP, which is easily customizable. Portlets are also JSPs developed from samples. We do not use rigid templates, servlets, or advanced APIs (such as actions, etc.) in the framework as they increase complexity and development times. Because of the slim design, the system requires very little overhead.
Below is a detailed description of an implementation of the current idea.
1. Overview The custom portal engine and framework, the subject of this disclosure, was used to power IBM's Intranet portal (http://w3.ibm.com) between 12/01/2001 and 6/1/2003. Below is a partial screenshot of the personalized w3.ibm.com portal. The Essential Links, News, Scorecard, Forums and Market report portlets are visible. The Scorecard portlet is minimized (its title bar is displayed, but the actual content is not shown).
2. The portal page. Below is a diagram showing the essential components of a portal page, their interactions and data sources.
The portal relies on an external (not part of the portal engine) profiling system to determine the identity of the user. Using this identity, it retrieves numeri...