The rapid development of different technologies drives users to constantly catch up with the requirements of the changing business environment. This is related to increase in the demands for resources to support the emerging software and thus increasing costs for keeping business up-to-date. Web Portal copes with these problems by offering a virtually no additional cost requiring environment for accessing an mPRM system from every host connected to the Internet. It provides to its customers the fastest way to mPRM administration.
Web Portal is a web-based application for administration of an mPRM system. It is virtually a Web site providing information about different components of the mPRM system. A component should have delivered administration means to Web Portal in order to make itself administrable. This is achieved by installing portal plug-in bundles. How to write portal plug-ins is described in detail in Web Portal Programmer's Guide.
Here is a list of Web Portal's main features:
Web Portal is comprised of two modules - Portlets Storage and the Web interface module. Here is a component diagram, which depicts the relationships between Web Portal's components:
Figure 1: Web Portal Architecture Diagram
The Portlet Storage bundle keeps track of all available portlets in the system. It makes them available to other bundles, through the Portlet Registry Service. It also keeps the mPRM users, which are allowed to log in mPRM.
Web Portal may be extended by portal plug-ins. They add sets of portlets to the portlet storage, which are later displayed in the portal. Portlets are Web components, based on Servlet, JSP and XML technologies. They are held by a portlet container, which is a part of the Portlet Storage Bundle. This container receives requests and correspondingly generates the content of the responses.
Portlets are based on the MVC architecture (Model View Control). It provides the plug-in developer with well-defined modular framework that separates the plug-in view from the underlying logics. It also maintains a reliable event notification system for dispatching action information among the components. This speeds up component development and relieves the developer from common tasks like log-in processing or data synchronization, by imposing a sustainable and proved architecture.
The second part - the mPRM Web Portal Bundle, is a set of JSPs, servlets and portlets, which generate the Web interface. It must be deployed on an HTTP server, which could be the ProSyst HTTP Bundle (distributed with mPRM's installation) or a third-party professional HTTP server. Once it is installed on the HTTP server, it allows access to the system from any host through a Web browser.
On installation, the Web interface registers the main
portal servlet - the
PortalLoader servlet, into the Web server.
It provides log-in functionality, maintains user profiles and takes care of
tracing user sessions.
When a request is send from a browser to the Web interface, it queries the Portlet Storage for available portlets and displays them to the requester. If the Web interface is installed on ProSyst HTTP Bundle, the query is accomplished through the Portlet Registry Service. If the interface is installed on a third party Web server, it connects to the mPRM system using RAC. Then the Web server dynamically downloads the necessary portlets to the portlet container provided by Web Portal, which generates the requested content.
When installed on the ProSyst HTTP Bundle, the mPRM Web Portal Bundle registers only one service - the HTTP Registration Service. This service is used by portal plug-in bundles as a bridge to the resource space of the HTTP server. When a plug-in is installed, it uses this service to register its Web components - its servlets into the servlet container and its resource aliases. Then the service performs the actual registration by differentiating between JSPs, servlets and other resources.
User interaction with the portlets generate actions. These actions are transmitted to the Web server through the HTTP request, which is then passed to the main servlet of Web Portal - its entry point. A request contains information about the user logged onto the requesting host and details about the demanded change in the portal's state. The user information is first processed by the portal's Profile Service to determine the user privileges and set profile preferences. The portlets visible for this user, are retrieved from the portlet storage and then the action is passed on to those of them, whose container portal plug-in(s) has registered itself as a processor of the action. The portlet requests the data, which should be presented, from the mPRM system. The result of this processed information is accorded with the portlet view descriptor and the generated view is presented in the portal's page. The following diagram visualizes the process:
Figure 2: Portlet Request-Response Process