导读

这是一本关于企业门户项目实施实践的书,核心内容是基于IBM WebSphere Portal、SAP EP、原BEA WebLogic Portal等产品的项目实施。作者是国内最早接触并将门户技术应用于生产的技术人员,作者花4个月以上时间参与或者领导的基于IBM WebSphere Portal的项目有30多个,2~4 个月的项目有20 多个,同时负责或参与多家公司大型项目的架构和技术顾问。本书最大的特色就在于所有内容均来自于项目实践,书中内容和列出的代码均在客户同意情况下,引用或参考自实际项目内容。

本书涉及对产品和项目的评价时,仅代表作者的个人观点,且仅用于本教材的探讨教学,不代表任何组织对产品或项目的评价甚至鉴定。

在涉及系统安装与门户开发时,主要以IBM WebSphere Portal为例,内容约占本书50%的篇幅。IBM WebSphere Portal历经了1.0到目前最新的8.0版本变更,我最早接触的是5.1。由于WebSphere Portal目前最新版本是8.0,所以本书以安装此版本为例进行讲解;但由于使用8.0版本目前在国内不超过3家客户,80%以上的客户还是6.*版本,所以对于实际的主题皮肤开发以6.1和7.0版本为主,Portlet开发和营运维护策略等其他内容适用于所有产品的所有版本,是通用的,跟版本无关。

本书的定位是贯穿门户项目实施的整个过程,不论甲方还是乙方,都有参考价值。从甲方的内部需求调研、立项、咨询规划,产品选型到乙方签约后的需求调研、蓝图规划,系统设计、开发与测试、上线之后的运维推广。

咨询规划有什么用?正如美好的人生需要规划,老师教育我们从小要立志一样,它使我们更有目标,更不会迷失方向。

我听过无数的甲方抱怨:企业门户该完成什么功能呢?它跟传统的软件项目有什么区别?是不是就是OA(办公自动化系统)?我们自己也不清楚,被几家软件公司一忽悠,我们就听他们的了。是的!如果你自己都不清楚要什么,那么只能接受别人给你的。好!让我们首先来解决这个问题吧。本书主要包含如下内容。

咨询规划与实施策略篇

第1章 企业门户技术入门。首先需要了解企业门户是什么,它的使命是解决企业的什么问题,通过企业门户项目的实施,我们能达到什么目的,带来什么投资回报,这就是企业门户咨询规划。当然,也有很多甲方选择专业的咨询公司,进行具体的业务需求分析,给出企业门户解决方案,这实质上也是一个可行性研究报告,它使甲方准确地知道接下来要做的事。而有了目标,你的工作将会变得更加清晰。

第2章 企业门户规划与咨询规划方法论。本章作者将结合多个客户的咨询和实施情况,详细地解说一个企业门户项目到底要做哪些事。通过内部的业务需求梳理,归纳出实施目标、建设内容。还会以某家在全球有超过7000名员工的制造业集团企业的门户咨询规划为例,介绍门户咨询规划方法论。门户项目咨询规划采用的是门户规划六步法,作者将介绍在此方法论中每步的工作内容、着重点、产出物等。本章会论述一个企业门户项目的项目规划,涉及要建设的内容,包括功能层面和非功能层面要考量的问题。

第3章 企业门户产品选型。有了实施目标和建设内容,就该考虑用什么产品来实施才是最好的,该如何去实施。本章将探讨这个话题。任何人不能从任何角度说,哪个产品是最好的,适合的才是最好的。基于功能需求和非功能需求,作者带你制作出一个详细的产品选型评分体系,包括一票否决项。打分吧!不要指望任何一款产品都会百分百地满足你,但是你可以知道哪个产品才是最适合的,分高者居之。

第4章 企业门户项目实施方法论。项目管理永远是意义深重而长远。所谓方法论,指的是做一件事情的方法,它会将你的每一步行为规范化、标准化。本章将针对企业门户(Portal)项目实施的每一个阶段、每一个步骤详细讲解其规范,以及建议的标准做法。门户项目涉及部门多,牵扯的系统多,数据流向复杂,在实施时所需的项目管理方法大大区别于传统的IT项目。本章会详细介绍门户特有的项目实施方法论,包括项目策划、项目实施、项目管理和实施策略,尤其是确保企业门户项目成功实施的保障策略。有了目标,有了依据,有了保障措施,就可以做到“手中有货,心里不慌”了。

基于企业门户的技术特性,如:相互独立的Portlet、各种平台级别的设计,决定了企业门户项目的实施方法有别于传统企业IT项目的实施,其中最大的一个区别是,门户项目中更多的内容是可以并行的。根据多年的积累,以及在IBM、BEA等大型跨国企业的工作经验积累、学习,我们摸索出了适用于企业门户项目的实施方法论。本章就来讲解这个话题。

需求调研与蓝图规划篇

第5章 企业门户项目需求调研指南。从这一章开始,进入了项目实施阶段。在需求阶段,介绍门户项目适用的需求调研方法、需求调研的执行和需求阶段的提交物,然后基于这个需求输出,我们进行企业门户项目的系统设计,包括蓝图设计和系统实现设计。本章会涉及跟需求调研相关的所有主要活动。例如:企业门户需求调研方法论、原型建模方法、用例规约定义、需求与蓝图等。

原型建模方法是要构建一个真实的HTML版本的界面与操作原型,引导客户尝试操作,在操作中发现问题,然后不断修正、完善。注意:执行该方法的过程中,很多项目组偷懒了,采用JPG静态图片的方法来代替操作原型,这是很不可取的。门户技术对客户来说本来就陌生,单纯地使用静态的几个图片,根本引导不出客户的真实想法,等到项目开发差不多了,客户在试用过程中才会发现问题,所以很多项目组抱怨:门户项目难做,因为客户需求多变。实际上并不是客户需求发生了变化,而是一开始就没有把客户需求引导出来。本章会用较大的篇幅来详细介绍门户系统的原型建模方法。

通常人们认为撰写需求用例是个比较复杂的工作,所以这种需求调研的方法应该只用于大型的项目。错了!门户中的功能点本就烦琐,如果不用用例规约定义清楚,客户根本没法理解你的需求描述。毫无疑问,不采用用例规约,你压根就不会拿到客户的真实需求。本章也会用一大节的篇幅来详细介绍如何使用需求用例规约方法来撰写、沟通门户项目的客户需求描述。

另外,门户项目涉及部门、领导、用户之多,也是空前的。没有任何一个项目能像门户一样涉及企业内几乎每一个人,所以企业门户项目需求调研阶段的组织非常考验一个项目组的能力。本章也会着重介绍如何有序地组织门户项目的需求调研,使项目组快速、有序、保质保量地完成需求调研,准确地拿到客户需求,避免后期需求发生变化,降低项目风险,提高门户项目实施质量。

第6章 蓝图规划——功能与架构规划。使用正确的方法获取到真实的用户需求后,你就该考虑如何实现系统设计满足这些需求了。考虑如何实现的过程就是蓝图规划。蓝图规划分为功能规划和实施规划两部分。所谓功能规划,指的是准确理解了上面得到的用户需求后,应该设计一个什么样的软件系统来满足用户需求?这个软件系统应该具有什么样的功能?当然,非功能需求也要满足,我们将会在后面的章节探讨,本章首先考虑功能方面的需求设计。

在本章里,作者充分利用了已经实施过的50多家客户的项目实践,并且充分考虑了这些客户的需求,抽取共同点,然后分析这些客户分别采用了什么样的解决方案,系统运行后带来了怎样的效果,如何抛弃运行效果不好的设计方案,如何抽取和借鉴运用情况良好的经验。在此基础上,面向常见的门户需求,对接下来要执行的设计、开发和测试以及项目管理制定一个大体的解决方案,甲、乙双方就即将采用的技术方案、要实现的功能、满足的非功能需求以及项目管理方法方面达成一致意见,以避免在后期的工作执行中产生分歧。

注意

蓝图不是系统设计,蓝图会涵盖部分设计的内容,但没有像系统设计一样专注于系统设计。它还会包含主要采用的技术方案、达到的目标、采用的方法等。总之,就是对接下来要执行的所有工作进行一个轮廓性的定义。

第7章 蓝图规划——技术与实施规划。不要觉得实施规划不重要,尽管这是很多项目组曾经和正在使用的思维方式。你可能已经留意到,无论哪个咨询公司给哪个客户做的咨询规划中都含有“整体规划、分期实施”的执行策略。这不是套子,只有当你真正实施过几个企业门户项目后才会理解这样做的高明支持。Portal项目需要循序渐进,用户有一个逐步接受的过程,而包含在企业应用集成大范围中的Portal对于目前国内乱糟糟建设起来的IT系统的治理也必须循序渐进。本章的主要内容就是告诉你如何进行实施规划工作。

安装、开发与技术实现篇

第8章 企业门户产品的安装。毫无疑问,集成了企业内的所有应用,成为你办公桌面的企业门户系统是企业的最重要系统之一,这就要求你所安装的系统必须是一个高可用性的环境。换句话说,在产品架构中,你要保证一点,就是无论哪台机器坏掉(包括宕机、断电、运行失败等情况),都不要影响系统的正常运行,对用户来说,就跟没有机器坏掉一样。这个时间你可以悄然地修复它,这里面会用到集群技术(Cluster)、高可用性技术(HA)、负载均衡技术(Load Balance,包括硬件均衡和软件均衡,如F5和WebSphere LoadBalance产品)和缓存技术(Cache Server)。最保险和最可靠的集群架构大约需要13台机器甚至更多。本章以IBM WebSphere Portal 8.0为例,讲解如何构建高可用性集群,其中会涉及IBM WebSphere Portal 8.0的单机安装与升级、数据库服务器的迁移、LDAP(统一组织机构与用户)的设计与实现、WAS集群的创建、Portal集群的搭建、HttpServer的安装与搭建。另外,还会讲解搜索产品OmniFind的环境搭建和配置使用,以及企业协作产品Connections的环境搭建和配置使用。

第9章 单点登录与企业应用系统集成。如果你去问10个资深的企业门户售前咨询顾问或者项目实施者这样一个问题:什么是企业门户?企业门户最重要的功能是什么?单点登录!恐怕有10个人在列出的清单中都会有这个条目,而且把它放在第一位。因为企业门户技术从诞生以来,最吸引人的地方就是单点登录。试想一下:你有十几套或者几十套甚至上百套、几百套应用系统需要登录,打开20个浏览器,从脑袋里搜索出这20套系统的用户名和密码,输入到这20对小框框中(甚至多于20对),然后单击“登录”按钮,等着初始化主页面,再单击几个菜单进入到你要处理业务或者查看数据的页面,开始工作。

请计算一下:这个过程需要多长时间?

至少半个小时。

对于一寸光阴一寸金的你来说,这意味着你每年将要耗费150个小时左右的时间在无谓的登录过程上。这就是为什么很多抱怨时间不够用的企业或者分管信息技术建设的老总们听到我们可以使用企业门户技术2分钟完成这个过程,每天为他们节约28分钟的时候,他们正了正脑袋,对这个问题表现出了极大的兴趣。那么到底什么是单点登录?单点登录能带给我们什么?怎么实现?

本章将解决这个问题。首先介绍什么是单点登录,然后分别讲解如何使用统一认证产品TAM配置、LTPA令牌环机制、凭证保险库、JAAS认证等几种方法实现IBM产品(Lotus Notes)和非IBM产品(指运行在WebLogic、Tomcat等应用服务器上基于B/S架构的企业级业务系统)两类企业及应用的单点登录,以及几种方法的区别,分别适用于什么类型的单点登录场景等。

第10章 主题与皮肤开发。所谓主题与皮肤,指的是门户系统的界面风格与显示方式。在企业门户项目的实施中,主题与皮肤的开发是重中之重。因为作为所有的企业内外信息、数据与应用的统一入口,可谓是一个企业的脸面。从另一个方面讲,在一个企业内,没有任何系统比门户系统有更多的员工在使用,在项目实践中作者发现,花在主题与皮肤开发上面的时间往往占很大的比重,对美工的要求也比较严格。但实际上,Portal的主题与皮肤开发,说穿了还是普通JSP的开发,只不过大量使用了IBM自带的标签库,而且页面之间的调用非常复杂,初级开发者甚至找不到页面元素所在的文件及位置,所以开发起来显得比较麻烦。另外,各个版本的Portal的主题与皮肤构成元素都在变化,看起来似乎很难掌握。但是,如果你深刻洞悉了与主题、皮肤相关的几个文件之间的调用关系,并掌握了以不变应万变的开发方法论,你就能运用自如了。

第11章 标准Portlet开发。JSR168是Portal 1.0时代的Portlet开发标准,JSR286是Portal 2.0时代的Portlet开发标准。市面上各大厂商的产品如IBM WebSphere Portal和SAP Enterprise Portal、Oracle WebCenter Portal、BEA WebLogic Portal,以及大型的开源项目如JetSpeed、Lifry等,甚至国内的大型门户产品如金蝶的Portal产品、鼎亚科技的手机门户产品等均符合以上两大标准。换句话说,只要是遵守以上标准开发的Portlet,就可以在以上提到的所有Portal产品里运行,虽然它们的名称都不一样,例如:IBM和JetSpeed叫Portlet,SAP叫iView,Oracle叫WebPart,但开发者不必关心。按照本章内容开发出的Portlet,可以运行在以上所有产品中。

本章以IBM提供的Rational Application Development工具开发Portlet为例,详细介绍Portlet的开发。开发人员可以用来构建业务逻辑极为复杂的门户Portlet,状态模式设计为Portlet应用程序设计提供了一个很好的途径,可以帮助组织页面转换,并在模型-视图-控制器(Model-View-Controller,MVC)设计模式中实现职责的分离。如果选择使用IBM Portal API来设计Portlet,就需要用到类似这样的方法。

为了解决控制逻辑的这些问题,你可以把应用程序看成一组Portlet操作和状态,然后在给出了定义完善的状态转换的方法后,就可以删除Portlet应用程序中麻烦的控制逻辑代码了。本章以一个实现记录增、删、改、查的Portlet为例,讨论如何把这种相同的方法应用到Portlet开发的状态管理中,并创建可再用的状态模式以使这个问题得到一般的处理。

第12章 使用WCM构建企业统一信息发布平台。企业信息门户是企业门户建设过程中很重要的一个部分,它使得用户拥有了一个统一的信息发布平台。主门户下还可以建设子门户,用户不管在主门户还是子门户中都可以统一发布信息,用户不再需要建设其他的信息发布平台。本章以IBM WebSphere Portal中的WCM组件配置信息发布和信息展现、使用WCM API开发客户化的信息发布界面为例,介绍如何构建企业统一信息发布平台。

第13章 开发与配置技巧集锦。本章列出了在Portal系统开发和配置过程中的一些技巧或指南。这些技巧对应的内容都是每个项目中出现几率比较高的,几乎每个用户都有这个需求,如果不清楚如何实现,将会占用很多的时间,但是如果知道了,则会比较简单。开发者可以直接按照本章内容解决在项目实施过程中碰到的类似问题,以节省大量的时间。本章内容由“问题描述”和“解决方案”两部分组成,共积累了10个问题,供你参考。

第14章 门户系统测试。系统测试包括功能测试、性能测试和安全测试。如果采用IBM Portal或SAP Portal等大型产品,则基本不用执行安全测试,因为这些大型产品的安全设计基本都是非常完善的。我们所说的测试任务主要是指功能测试和性能测试,本章主要来探讨这两个话题。

本章主要包含Portal的功能测试和性能测试两方面内容。

运行维护与系统推广篇

第15章 系统性能调优。当读到本章的时候,你应该知道,一个典型的大型门户系统已经开发完成了。对于企业门户系统的开发与测试,相信你也感触良多。但是如果你以为到此为止系统可以上线了,那可就错了。

当前所有的门户产品都没这么容易交付。谁都知道,如果不做特殊处理,门户系统的速度永远逼得让人窒息。就以系统响应速度为例,可以负责任地说,市场上所有的门户产品,如果不做性能调优,速度绝对慢到用户骂娘。所以,本书专门用一章来讲解系统性能调优,包括操作系统资源分配策略调整、WAS本身的调优和数据库的调优,以及Portal组件的调优。

第16章 问题诊断与处理。系统上线到真正推广应用,要走的路还很长。有经验的维护者更懂这个意思。一些诡异的问题总是如期而至,显然上苍没放过孜孜以求试图掌控门户的探索者,每一次新的发现总是不断让人看到一点微茫的希望,但却无法解决。怎么办?领导说:不要告诉我问题诊断与处理是只有厂家和高手才能做的事,你就得解决。本章会列举出常见的问题及处理办法,期望给你一些帮助。

第17章 系统推广策略。系统上线不是项目组的结束,而恰恰是开始。只有使用门户系统的人越来越多,项目建设者才会越来越自豪。本章介绍一些企业中曾经使用过的推广绝招,希望助你一招制敌。这个内容放在最后来讲也是希望我们淡化这个问题,我不希望读者流于追求招式。踏踏实实做事,老老实实做人,始终是我们不变的宗旨。

本书的内容就这些,虽然有些意犹未尽,但是开发永无止境。本书是一个总结,更是一个鞭策,在祖国,在信息化建设中,在企业门户中,追求技术的脚步永不停歇。