Commercial and Open-Source Web Portal Solutions

INTRODUCTION

Web portals present an effective way to integrate applications, people, and business by offering a unique point of access to these resources within an organization and also with external business partners. Moreover, the integration of business processes, automation of daily tasks, and data integration contribute to cut down costs and accelerate business operations. However, Web portal development and maintenance imposes many challenges to developers, such as how to provide personalization features to users (organizations and individuals), how to control access from different users, how to integrate and present data from different sources, and how to maintain the content of the Web portal.

To overcome these problems, many Web portal development technologies, standards, and tools were created over the last decade to facilitate the construction, operation, and maintenance of Web portals. These tools offer a simple way to build a Web portal by automating some part of the complex code (concurrency, persistency, security) and also by offering APIs and wizards that facilitate development.

Considering the types of users and services provided, portals can be categorized into four main categories (Bellas, 2004; Wege, 2002). The following categories of portals are not mutually exclusive, and hybrid portals that combine different aspects of the categories can exist:

• Corporate or Enterprise (Intranet) Portals: Business to employees (B2E) portals: These portals are designed to improve the sharing of information within the enterprise and provide functionality to facilitate employees’ regular tasks, as well as to gather relevant data for use by project and senior managers. The idea is to unite the strengths of the organization, enabling effective execution of business processes.

• E-Business (Extranet) Portals: These portals integrate services and informationbeyond the intranet. Examples include business to consumer (B2C) portals, which extend the enterprise to its customers for the purpose of ordering, billing, customer service, and so forth, and business to business (B2B) portals, which extend the companies for their partners and suppliers.

• Personal (WAP) Portals: These are portals that are embedded in Web phones, cellular phones, wireless PDAs, pagers, Web televisions, and so forth. These kinds of portals offer services such as sales offers, weather information, and interactive TV shows.

• Public or Mega (Internet) Portals: These portals try to provide information and services to all kinds of users over the Internet. Examples of such portals are Yahoo, Google, AOL, and MSN.

The complexity in Web portal development increases with the level of detail and number of services the portal offers, as well as the intended audience. This article describes Web portal development solutions that help to overcome the challenges faced during portal development and maintenance.

COMMERCIAL PORTAL DEVELOPMENT SOLUTIONS

This section presents a summary of five leading vendor strategies for Web portal development (BEA WebLogic Portal 8.1 Web site; IBM Websphere Portal Web site; Microsoft Sharepoint Web site; OracleAS Portal Web site; Sun One Portal Web site) and compares them according to several dimensions (e.g., ease of use, infrastructure, etc.). The focus of these strategies is to offer a wide range of functionalities to facilitate the development of complex portal characteristics. The main focus of these tools is to provide simple ways (application programming interfaces, wizards, guidelines, frameworks, etc.) for the developers so that coding effort is minimized. A more detailed explanation of these approaches can be seen in Sampaio and Rashid (2005).

BEA WebLogic Portal

BEA WebLogic (BEA WebLogic Portal 8.1 Web site) tool is built on top of the J2EE architecture (Java 2 Enterprise Edition – J2EE Web site) and provides an effective set of functionalities to simplify the production and management of customized portals. Some functionalities provided by the tool are described as follows:

• Content Management Services: Provide basic services such as content locking, versioning, and approval. It also contains services to deliver and integrate personalized content from multiple content systems.

• Search Services: Include different search mechanisms for indexing files and searching content in Web pages, databases, and file systems.

• Collaboration Services: Provide easy mechanisms for creating discussion forums, whiteboard, and chats, and also integration with e-mail and calendar tools.

Regarding BEA WebLogic architecture, the presentation layer uses JSP (Java Server Pages—JSP Web site), Servlets (Servlets Web site), and JSP tag libraries. The portal core is implemented using EJB and the development framework also provides system services such as connection pools and MBeans. The portal information is persisted in a relational database and the configuration information is defined in XML.

There are also many third-party vendors that provide APIs that extend the WebLogic functionality, and also portlets that give access to applications in areas like collaboration, search, analytical processing, and content syndication.

The BEA WebLogic Server provides application services and functions such as load balancing, fault tolerance, Web services, network transparency, legacy integration, transaction management, security, messaging, multithreading, persistence, database connectivity, and resource pooling.

IBM WebSphere Portal

IBM WebSphere Portal (IBM Websphere Portal Web site) is part of the WebSphere software platform. The platform is organized into three areas of functionality:

• Foundation and Tools: Provides the necessary tools for building, running, and deploying applications.

• Business Integration: Integrates internal business processes, including processes that involve business partners.

• Business Portals: Personalizes Web-based content and makes it accessible to any device.

The WebSphere Portal tool is the central technology for portal construction, deployment, and maintenance inside the WebSphere Platform. It provides an extensible framework for the integration of enterprise applications, content, people, and processes. Besides, the Portal offers features that allow end users to organize their own view of the portal, to manage their own profiles, and to publish and share documents with other users.

The implementation of WebSphere is based on Java-based technologies and provides support for J2EE, Web services, and portlets. WebSphere runs on multiple hardware platforms and operating systems and has mechanisms for aggregating content from different sources and assembling the personalized content to multiple devices.

Microsoft SharePoint Portal Server

The SharePoint Portal Server (Microsoft Sharepoint Web site) is Microsoft’s platform for Web portal construction and support. It is based on Microsoft technologies such as the .NET (Microsoft .NET platform Web site) platform, IIS Web application server, Windows Server 2003 operating system, and the SQL server database.

SharePoint Portal Serverprovides flexible deployment and management tools, and facilitates end-to-end collaboration through data aggregation, organization, and searching. It also enables users to quickly find relevant information through customization and personalization of portal content and layout, as well as through audience targeting.

Like the previous technologies, Microsoft’s solution provides services for document management, personalization, and content aggregation. The Windows SharePoint Services is the engine that allows creating Web sites for information sharing and document collaboration. Windows SharePoint Services provides additional functionality to the Microsoft Office System and other desktop applications, as well as serving as a platform for application development.

SharePoint sites provide communities for team collaboration, enabling users to work together on documents, tasks, and projects. The environment is designed for easy and flexible deployment, administration, and application development.

OracleAS Portal

OracleAS (OracleAS Portal Web site) is another Web portal development platform based on the J2EE standard and other open standards such as LDAP, XML, SOAP, and HTTP. The strength of this platform is not only to support the cutting edge technologies regarding portal development, but also to provide easy to use tools that accelerate development and maintenance of the portal.

OracleAS portal is part of the Oracle Application Server that provides directory services, Web cache, J2EE services, and business intelligence services. The portal architecture includes a portal repository that contains metadata about the portal (this has to be stored in an Oracle database) and portlet content as well. The portal framework provides services for single sign-on, content classification, search, directory, integration, and access control.

Although OracleAS provides support for integrating JSR 168 (Java JSR 168 Portlet Web site) and WSRP (Web Services Remote Portlet Web site) portlets, the tools offer different portlet implementation for developers using OracleAS. This means that, different from IBM WebSphere, OracleAS provides support for integrating JSR-based portlets, but not for developing them.

Sun ONE Portal Server

The Sun ONE Portal Server (Sun One Portal Web site) is also a J2EE portal-based solution. It gives support to a variety of standards and technologies such as JSP, Servlets, Web Services, JSR 168 portlets, WSRPs, XML, HTTP, SOAP, LDAP, and so forth. Sun’s portal solution offers several important portal features, such as:

• Provides dynamic portal personalization and customization.

• Delivers integrated content, applications, and services through customizable portlets.

• Includes identity management with multirole support, user provisioning, and self-registration.

• Provides single sign-on for aggregated applications to the portal.

Table 1. Comparison of portal solutions

• Enables users to search content and receive only those results they are authorized to access through a secure search engine.

One advantage of Sun ONE Portal is that, besides having its own native application server, it supports the execution of applications running on IBM Web Sphere and BEA Weblogic application servers. Moreover, Sun ONE supports different operating systems: Sun Solaris, Microsoft Windows 2003, and Red Hat Enterprise Linux AS 2.1.

COMPARISON OF COMMERCIAL PORTAL SOLUTIONS

The five different vendors presented in the previous sections offer similar features for Web portal development such as connectivity, security, personalization, and search. The goal of this section is to provide a description of these platforms regarding certain characteristics such as technologies used, infrastructure requirements, and ease of use (Table 1). For a more detailed comparison, see Sampaio and Rashid (2005).

Table 1. Comparison of portal solutions


 

Base Technologies

Infrastructure Requirements

Ease of Use

BEA

J2EE, XML, Web Services, and Portlets (JSR168 and WSRP).

Application Server: BEA WebLogic Server; Operating System: several versions of Unix, Linux, Windows, and Solaris; Web Server: Apache, HP Secure Web Server (SWS), IBM HTTP Server, Microsoft Internet Information Server (IIS), Sun Java System Web Server, and others.

BEA WebLogic offers tools to facilitate the work of all stakeholders involved in the portal life cycle. The tools help developers with prebuilt portlets and APIs, and help administrators with tools that facilitate integration and deployment of applications. However, the tools are not so simple to use and require a certain initial training effort before starting to use it in real projects.

IBM

J2EE, XML, Web

Services, and Portlets

Application Server: Websphere application Server; Operating System: several versions of Unix, Linux, Windows, and Solaris.

WebSphere provides support for advanced administration and programming features; however, the learning curve is not so easy. An initial effort is required for programmers and administrators to understand the tools and start using it effectively.

Microsoft

.NET, XML, and Web Services

Application Server: Microsoft SharePoint Server; Operating System: only Windows; Web Server: Microsoft Internet Information Server (IIS).

Compared to the other tools, Microsoft SharePoint is probably one of the simplest to use. It offers easy to use functionalities for developers and administrators. However, the number and complexity of services offered are not as advanced as the two previous ones.

Oracle

J2EE, XML, Web

Services, and Portlets.

Application Server: Oracle Application Server; Operating System: Windows, HP-UX, and Linux.

The tools in the OracleAs platform are also simple to use, especially regarding administration services. It not only incorporates a portal-building framework with easy-to-use publishing features, but also offers a variety of portal interfaces and configurations (e.g., from simple departmental-level publishing portals to Internet-accessible portals).

Sun

J2EE, XML, Web

Services, and Portlets.

Application Server: Sun ONE Application server, as well as BEA and Websphere servers; Operating Systems: Sun Solaris 9 and 8 Operating Systems (SPARC Platform Edition), Sun Solaris 9 Operating System (x86 Platform Edition), Microsoft Windows 2003 Red Hat Enterprise Linux AS 2.1.

The tools in the Sun One platform that offer support for administration and programmers are limited.

The tools presented previously provide similar functionalities and are structured in a similar way. Some are more complete than others in the sense that they provide a wider variety of services. The previous discussion, Phifer (2001, 2004) and Ruby and Christopher (2003) show that the platform that offers the most complete set of services is IBM WebSphere, followed by Oracle AS portal and BEA WebLogic. These platforms offer a wide range of services to facilitate development, maintenance, operation, and deployment of Web portals.

Microsoft solution presents good end user capabilities for document management but has the disadvantage of being tightly coupled with Microsoft technologies such as windows operating systems and Internet information server (IIS). On the other hand, Sun One platform is very portable and based on standards such as JSR 168, WSRP, XML, and on the J2EE platform, but has the disadvantage of providing limited tool support for programmers and administrators.

OPEN SOURCE PORTAL STRATEGIES

The second section presented five leading vendor portal platforms. This section presents open source strategies that offer similar services as the previous commercial platforms, but with some advantages, such as that they:

• Are free and based on other open standards;

• Are nonproprietary and can work with free databases, operating systems, and other tools; and

• Generally support several different operating systems, application servers, and Web servers.

For a detailed comparison between open source and commercial approaches see Sampaio and Rashid (2005).

Apache Jetspeed

Jetspeed (Apache Jetspeed Web site) is an open source implementation of an enterprise information portal, using Java and XML. Jetspeed offers services to facilitate Web portal construction, enabling personalization and aggregation of information from different sources.

The data presented via Jetspeed is independent of content type enabling integration of content such as XML, RSS, or SMTP. The actual presentation of the data is handled via XSL and delivered to the user, for example, via the combination of Java Server Pages (JSPs) and HTML. Templating and content publication frameworks such as Cocoon, WebMacro, and Velocity can be used with Jetspeed to facilitate content generation.

The idea of the platform is to provide built-in services for caching, GUI customization, user authentication, and persistence, letting the developer focus on building connections to other resources, such as Web services, databases, and content providers. Therefore, the developer concentrates on retrieving external data and formatting it, while Jetspeed provides the Web portal infrastructure services. Some features offered by Jetspeed include:

• Support for the Java Portlet API, JDK, and Servlets.

• Database user authentication.

• Supports remote XML content feeds via Open Content Syndication.

• In-memory cache for quick page rendering.

• Rich Site Summary support for syndicated content.

• Integration with Cocoon, WebMacro, and Velocity.

• Wireless Markup Language (WML) support.

• XML-based configuration registry of portlets.

• Web Application development infrastructure.

• Local caching of remote content.

• Profiler Service to access portal pages based on user, security (groups, roles, acls), media types, and language.

• User, group, role, and permission administration via Jetspeed security portlets.

Zope

Zope (Zope Web site) is an open source Web application server that provides some basic infrastructure portal features. Other open source products extend the basic functionalities of Zope by offering features such as content management, document management, database connection management, and so forth.

Zope is written in Python and includes its own HTTP, FTP, WebDAV, and XML-RPC serving capabilities, but can also be used with the Apache or other Web servers. Other capabilities of Zope are:

• Transactional object database, which can store content and custom data, as well as scripts, a search engine, dynamic HTML templates, and relational database (RDBMS) connections.

• The transactional model applies not only to Zope’s object database, but to many other relational database connectors as well.

• Strong Web-based development model, allowing updating Web sites from anywhere, which is enabled by a tightly integrated security model. Zope’s security architecture also allows turning control over parts of a Web site to other organizations or individuals.

Liferay Portal

Liferay Portal (Liferay Portal Web site) provides various benefits and simplifies development, configuration, administration, and maintenance of the Web portal. Some features that are provided by this framework are:

• CMS: Liferay provides content management system functionality via a set of portlets that give a flexible templating tool. This allows one to build a site cleanly separating content from the look and feel.

• Application Server Agnostic: Unlike portals that come from application server vendors, Liferay is designed to be application server agnostic so that developers are not bound to a specific server. Liferay operates on lightweight servlet containers like Jetty and Tomcat, or on J2EE compliant servers like Borland ES, JBoss + Jetty/Tomcat, JOnAS + Jetty/Tomcat, JRun, OracleAS, Orion, Pramati, RexIP, Sun JSAS, WebLogic, and WebSphere.

• Operating Systems: Liferay can be used with many operating systems: BSD (FreeBSD, NetBSD, OpenBSD), Linux (Fedora, Novell), Solaris, Mac OS X, and Windows.

• Database Agnostic: Liferay uses Hibernate for the persistence layer, which enables pluggable databases (DB2, Firebird, Hypersonic, InterBase, JDataStore, MySQL, Oracle, PostgreSQL, SAP, and SQL Server).

• Administration: Liferay allows administrators to easily manage users, groups, and roles through a GUI interface. Groups represent a collection ofusers. Roles represent permissions that a group or user can be bound to. Access to portlets is also restricted to users based on roles. Administrators can also create community pages so that all users who belong to a certain group see the same page.

• Out of the Box Portlets: Liferay provides many useful portlets: Blogs, Calendar, Document Library, Journal (CMS), Image Gallery, Mail, Message Boards, Polls, RSS, and Wiki.

CONCLUSION

Specific portal development tools are necessary to facilitate the construction, operation, and maintenance of Web portals. These tools are based on technologies and standards and offer a simple way to build a Web portal by automating parts of the complex code (concurrency, persistency, security) as well as by offering APIs and wizards that facilitate development.

In the second and third sections, many tools for portal development were described ranging from commercial tools (e.g., BEA, IBM, Microsoft, Oracle, and Sun) to open source tools (e.g., Jetspeed, Zope, and Liferay). All these technologies offer similar functionality and features that facilitate portal development, but they can differ in their implementation, technologies used, prices, and required infrastructure. Therefore, each company has to consider what the advantages and disadvantages of a tool are and what suits best for its purpose before deciding to use the tool.

KEY TERMS

Commercial Portal Solutions: Products that offer a wide range of functionalities to facilitate the development of complex portal features such as content management, access control, and personalization.

Open Source Portal Solutions: Provide a similar set of features as the commercial solutions and have the advantage of being available for free and based on open standards and technologies.

Portlets: The JSR 168 specification defines portlets as Java-based Web components, managed by a portlet container, that process requests and generate dynamic content.

Web Portal: A Web application that offers an integration point of access to information, services, applications, and people.

Web Service Remote Portlets (WSRP): Portlets implemented remotely that can be called by consumers that reside in different servers.

Next post:

Previous post: