Monday, April 03, 2006

The Role of Open Source in Enterprise Portals by Colin White

When evaluating open-source solutions there are four main areas to consider: features provided, development effort, product cost and support.
An enterprise portal has evolved to become the technology of choice for providing users with a single web workspace for handling and managing all of the business information and content they need to do their jobs. Companies evaluating and deploying an enterprise portal have a wide range of product options to choose from. They can buy an independent best-of-breed portal that works in a number of software environments, or they can use portal capabilities that have been integrated into software solutions such as web application servers, integration software, packaged applications, content management systems and business intelligence tools.

A third option is to build a custom enterprise portal in-house. One starting point for a custom-built portal is a commercial or open-source web HTTP server such as Apache. The problem with this approach is that without a significant amount of development work, the result is likely to offer little more than that provided by a corporate intranet or extranet. Key features such as publishing, search, categorization, personalization, single sign-on, etc., are usually missing from portals that are custom built using a web HTTP server as a foundation.

Another option for custom building a portal is to use an open-source portal solution. Many open-source portals provide not only the key portal features outlined above, but also other capabilities such as content management and collaboration. My objective in this month’s newsletter is to take a quick look at open-source portal products, and review the pros and cons of using them.

When evaluating open-source solutions there are four main areas to consider: features provided, development effort, product cost and support. I suspect the last two—product cost and support—may puzzle you. After all isn’t open source free? When I gave a presentation on the topic of open-source portals at a recent conference, I split so-called open-source portal products into three categories. The first category consisted of products that were being offered free of charge, but the organization offering them made its money by offering fee-based support and consulting. The second category consisted of products where license fees could be offset by contributing extensions back to the organization authoring the product. The third category contained products with no license fees and no support other than provided by the community of users who were developing and/or deploying the product. I guess, strictly speaking, only the third category is really open source.

Some people at the conference commented that they would have liked more details about the open-source licenses for each of the products. As I result, when I started writing this newsletter I decided to take a more detailed look at this topic. I quickly learnt that this subject was quite a mine field and could become the subject of several newsletters, or even a book! Suffice it to say that if you are going to develop an enterprise portal using an open-source product, take a close look at the license. You need to consider issues like whether the license can be revoked or whether you have to make code modifications public. Two points to note before I take a quick look at some of the open-source products. The first is that most of them are designed for a Java environment, rather than for the Microsoft .NET platform. The second is that there are some very good web sources on the topic of open-source portals. One blog I like here is: Manageability - Open Source Portals Written in Java.

There are a considerable number of open-source portal products, but four that demonstrate the type of capabilities offered are: Liferay, Jahia, Gluecode and Pluto.

Liferay is a portal made available under the MIT license, which is similar to the Apache and BSD licenses. It includes a web content manager, provides a connector for Yale’s single sign-on engine, has internationalization and personalization, and supports both the JSR 168 and WSRP portal standards. It is both DBMS and application server agnostic. The Liferay organization creates revenue through custom development, and product support and training.

Jahia is an integrated portal server and content manager. It is made available under a collaborative source license, i.e., a pay or contribute your enhancements model. It places strong emphasis on content management and supports internationalization, content workflow, versioning, WebDAV and web services, and is integrated with the Apache Lucene Search engine. Jahia Solutions is the founder, the official maintainer and also the major contributor to the Jahia project. Like Liferay, Jahia Solutions provides both development and training services.

Gluecode SE is a free Java-certified application platform and portal framework. Product support is available on an annual subscription basis. It uses Apache-based technologies including the Apache Geronimo application server, the Apache Derby integrated Java DBMS (contributed by IBM and based on the Cloudscape DBMS, which was acquired from Informix), and the Apache Pluto portal framework. GlueCode Software was acquired by IBM in May of this year. IBM’s positioning of the acquisition is that “customers and business partners can tap into the low cost of entry of open-source technology to quickly develop and deploy applications, and migrate to WebSphere software as business needs expand.” Note that this acquisition demonstrates how the status of “open source” software can change.

Pluto is one of several portals offered by the Apache Software Foundation. Others include Jetspeed-1 and JetSpeed-2 and WSRP-4J. Pluto is a reference implementation (provided by IBM) of the Java Portlet Specification (JSR 168). Pluto serves as portlet container that implements JSR 168 and offers developers a working platform from which they can test their portlets. Pluto only supports the portlet container and the JSR 168 specification. In contrast, the more sophisticated, JetSpeed project concentrates on the portal itself, rather than the portlet container.

In addition to the four products discussed above, it is also worth mentioning that universities and educational bodies are also working together to create open-source portal-related solutions. Projects here include uPortal and Sakai.

As you can see, there is a lot of activity in the area of open-source portals. The use of these products often involves trading off license fees for development effort. Many of these products require significant development and support effort. This effort varies by product, however, and to be fair many products do contain some very useful and usable capabilities. Even if you don’t intend to put an open-source portal into production, it may be useful for education purposes, prototyping and in some cases for testing whether your program code meets portal standards such as the JSR 168 Java portlet API specification or the OASIS Web Services for Remote Portlets (WSRP) specification.

(http://www.b-eye-network.com/view/1016)

No comments: