IBM WebSphere Portal6 最佳项目实践
郑文平
本书是关于企业门户项目实践的,核心内容是基于IBM WebSphere Portal产品(WPS6.0)的项目实施。作者是国内最早接触并将门户技术应用于生产的技术人员,作者花4个月时间以上参与或者领导的基于IBM WebSphere Portal的项目有十几个,同时负责多家公司大型项目的架构和技术顾问。本书最大的特色就在于所有内容均来自于项目实践,书中涉及内容和列出的代码均参考自实际项目内容。
本书的定位是立足于项目实施的开发者实践,所以本书80%的篇幅在于介绍如何基于产品IBM WehSphere Portal6.0(以下简称WPS或WPS6.0)实施企业门户项目。但是基于这个原则之下的一个尴尬是,在笔者带领团队实施此类项目和为多家集成商做开发者培训的过程中,大家即使学到了WPS的开发和实施,却不能回答一个最简单的问题:什么是企业门户?那么,到底什么是企业门户?企业门户能干什么?企业为什么要实施企业门户呢?企业门户的前景怎么样?我们拿出第一章来让大家首先在宏观上对企业门户技术有一个大致的了解。
既然知道了什么是企业门户,那么该如何实施企业门户项目呢?在第二章《企业门户项目管理与实施方法论》里,我们详细介绍了企业门户项目是如何来解决具体的企业问题的,从接手一个企业门户项目,到如何构架系统,具体到项目每个方面、每个模块的设计开发我们都做了详细的解析,最后从方法论角度对项目实施、项目控制方面给出一个总结。
项目构架设计好了之后,该安装产品了。在笔者的开发经历中,安装产品是比较复杂的,一般需要1-2周甚至更长的时间,所以往往吓住了很多项目组。那么在接下来的第三章和第四章我们分别介绍了WPS在windows平台和unix平台的产品安装。从对服务器的规划,最低配置要求、压力需求等方面,到WPS的基本安装,LDAP服务器的安装与配置,数据库产品(DB2和Oracle)的安装与配置,然后是如何配置WPS使用LDAP与数据库。相信在读了这两章后,安装、配置对您来说将不再是问题。
安装完成了,该进入开发了。我们知道企业门户是一个企业所有系统的出入口,对外它是企业形象的代表,对内它是唯一的办公桌面,可谓不折不扣的形象大使。这就决定了在门户项目的实施中,几乎所有的客户对门户系统的界面要求极为苛刻。既要大气沉稳又要灵活生动,页面设计者可谓煞费苦心,我们的美工经过了痛苦的几个不眠之夜,终于提交得意大作并经过客户方认可签字之后,却可悲的被程序员告知:这个界面实现不了。的确如此,WPS的界面开发历来是门户项目实施中最棘手的问题,按照我的经验,一般项目组要花费30%的时间用在界面的设计与实现上。因为WPS的界面开发实在是太复杂了,何况加上了那么多的封装和限制!但这种尴尬不是无法逾越的。当我第7个项目做下来的时候,我忽然发现:原来很多规律与规则在里面,如果您不按照这些规则来,恐怕几天几夜都解决不了,可是如果严格按照规则来的话,实现一个复杂的界面并没有想象中那么困难。而这些规则是开发者往往很难发现的。换句话说,开发者之间太封闭了,为什么不把这些经验公诸于众呢?让IT界的门户开发者都了解这些,这至少可以节省我们20%的时间。这忽然激发了我写这本书的最原始的冲动。既然能让大家接受成熟的东西,节省时间而把精力放在更好的规划和完成我们的项目上,为什么不呢?
提到Portal,就不能不提portlet。因为Portal是由Portlet组成的,从视觉上看,一个一个的portlet拼起来,似乎就是portal。所以我们所说的portal开发很多时候实质上仍然是portlet开发。借助IBM RAD(Rational Application Develop Studio,以下简称RAD)或者WSAD(WebSphere Application Develop,以下简称WSAD),几乎每个人都会开发Portlet,可是你开发出来的portlet是优秀甚至合格的吗?你的portlet部署到portal系统上后会给系统带来额外的开支、压力甚至导致系统性能下降、直至崩溃吗?难说!其实portlet的开发是有其标准的,也就是方法论,IBM提出了Portlet开发的标准,也就是基于状态模式转换的、符合MVC模型的portlet开发,借助于Portal Toolkit生成portlet基本骨骼后,就是如何在架构之下运用了,在第6章里,我们拿出了三十几页的篇幅详细的讲解了这种开发思想,并结合一个实例,进行了详细的描述,你完全可以按照这个实例做下来,相信你会深有体会!
如果读完这一章,您觉得按照例子开发还意犹未尽,那么我建议您跳到第8章和第十章阅读。我们知道办公自动化早已经普及,而在诸多OA产品中,IBM的Domino独树一帜,赢得了70%以上的市场,可以这么说,我们在实施100个企业门户项目中,可能会有70个甚至以上的需要与Domino进行整合,所以我专门拿出一章来讨论WPS与Domino的SSO配置,并以读取收件箱的的nsf文件为例,加深了对portlet开发的讲解。按照这一章的步骤来,您不仅可以学到如何集成Domino并实现单点登录、读取其中任意信息,而且再一次加深和印证了基于状态模式转化这种开发portlet的方法论。
早在2001年企业门户技术进入中国的同时,人民知道了一个新的概念,叫做单点登录。有人说单点登录炒作的概念甚至超过了企业门户,因为可能很多人知道单点登录而不知道企业门户,明显的佐证是市面上已经出现了很多单点登录的产品,例如HP的灵动SSO系统。可以夸张一点说,企业门户不能没有单点登录,一个没有单点登录的门户系统不能算作真正意义上的企业门户。可见单点登录在人们心目中的份量!想一想,进入所有的系统只需要登录一次,几乎是没有人想过而实现了的话又是多么美妙的事情!对大多数公司来说,通过多年的积累,已经开发了多套网站、应用系统等。但是,越来越庞大的系统建设,带来了使用上的极大不便利。不妨想象一下,一位公司的普通员工,大概有三套应用系统需要他登录并处理业务,同时,他还需要登录到邮件系统查收一下有没有新邮件,他还要登录到办公系统上确认一下有没有自己的收发文,甚至还有其他4-5套平时不怎么用的应用系统,也许领导发起了一项业务,流程正好经过自己呢?这可是他的待办工作啊!这么算来,这位用户需要至少打开7-8套的应用系统而且记住这7-8套应用系统得用户名和密码并完成登录。而单点登录是什么意思呢?您只需要登录一次,就可以直接进入所有您需要登陆的系统,而无需在提供任何必要的凭证,这是多么激动人心的体验!老实说目前国内实施的项目中,尤其是一些跟风而上的企业门户项目实施中,单点登录恐怕是最吸引人们的部分。那么,到底什么是单点登录?单点登录的原理是什么?如何实现?我们将在第五章中详细的向大家解释这个最重要的问题。
在为客户做咨询和开发者培训的过程中,经常听到大家抱怨:Portal中究竟应该设置或者放置哪些内容,才能使我的个人门户更丰富而且实用?这种需求各不相同,没法一概而论。作为本书的结尾,我在第十章里简单介绍了一些常用的portlet,以及它们的开发模式和方法。例如:天气预报、航班车次查询,常用工具箱,个人日程等。大家可以试着运用一下。
说到这里似乎本书要结束了,有人马上提醒我:WPS中还有一项非常重要的内容你没有提及!对了,您说的是不是WCM?没错!WCM确实是WPS中引以为傲的一个组件,而且这个组件的配置和开发是永无止境的。曾经有个项目,我们安排5位工程师在这上面花费了大约4个月的时间,才做到差强人意。作为优秀的宝贵的经验,在本书第七章我没有吝啬表现,希望对您有所帮助。
写到这里,似乎本书真的该结尾了。是的,书的内容就这些,虽然有些意犹未尽。但是开发永无止境。这本书是一个总结,更是一个鞭策,在祖国,在信息化建设,在企业门户,追求技术的脚步永不停歇。