JBoss, however, has strong Web content management and standards underpinnings. The CMS uses Apache Jackrabbit (an open source
implementation of the Content Repository for Java Technology API). Using the CMS Admin Portlet, I built various directory
structures, uploaded documents, and modified HTML files using the embedded WYSIWYG editor. Formatting text is easy because
the editor displays the current portal style sheet.
Beside the CMS portlet, JBoss offers a discussion forum. In JBoss’ PortletSwap community, I found portlets for news, stocks,
wikis, IFrame, and other useful items, as well as a few themes for download.
Designers create themes and page layouts using CSS, which can be assigned to portal instances, pages, and individual windows.
These theme and layout combinations are packaged as Java war files and automatically plug into the system. Further, JBoss
uses what the company calls Dynamicity, which basically lets administrators create, edit, or destroy portlet objects without
restarting the server.
JBoss makes it fairly easy for developers to navigate the portal’s object tree and specify that a portlet communicate with
another window or link to other pages. For portlet creation, JBoss lets developers use the framework they prefer, including
Struts, Spring MVC, Sun JSF-RE, AJAX, or MyFaces. To see how JBoss might be used in an SOA situation, I easily created a basic
portlet using JavaScript and XML that interacted with a Microsoft SQL database. Based on this trouble-free experience, I expect
developers to use JBoss Portal for fusing apps in a production environment.
As I finished testing, JBoss was readying Version 2.4, which implements WSRP (Web Services for Remote Portals) and a basic
CMS workflow (using JBoss jBPM). This version will also introduce a robust QA environment so enterprises can test new designs
or changes before they go live.
JBoss currently can handle large deployments because of its JEMS underpinnings. To make it even stronger, company representatives
indicated that in the near future, they’ll add index and search services and Portlet 2.0 support. Further, JBoss Portal will
have an Eclipse IDE Portlet Plug-in (easing portlet development) and will become application-server agnostic. So while JBoss
2.2.1 may not be the easiest to use, it’s hard to argue with its standards support, road map and JBoss professional services.
Liferay Portal 4.0
First released six years ago, Liferay Portal is the company’s flagship product. It works on anything from lightweight servlet
containers such as Jetty and Tomcat to full J2EE servers, including WebLogic and WebSphere; Liferay Portal Enterprise, designed
for building EJB (Enterprise JavaBeans) and distributing the transactions across multiple servers, requires a J2EE server.
Choice extends to how you construct portals -- from employing JSR 168-compliant portlets to publishing portlets using Web
services.
Version 4.0 is a major release that benefits administrators, portal developers, and end-users. Admins can now restrict access
to portlets and create separate portals or sub-portals for different parts of an organization. Portal developers may now use
Velocity (a Java-based template engine) for designing portal pages. Users post pages with public and private viewing rights
and also apply themes to different pages.