从新华社办公信息化三期开发谈起
来源:中国计算机报 更新时间:2012-04-15

企业应用整合被众多国外厂商、国内集成商炒得沸沸扬扬,市场上也推出了很多价格不菲的应用整合中间件产品,并宣称使用这些产品就可以消除企业信息孤岛实现现有应用之间的整合。但是现实的成功案例并不多。从新华社办公信息化三期项目中,新华社探索出了一条应用整合以及整合式应用开发的路子。本文将对该项目的技术相关部分做出阐述。

现有的中间件什么样

Gartner Group对应用平台套件的描述是目前为止从技术角度最为全面和权威的描述,也是全面阐述EAI所需的技术堆栈的描述,如图所示。

现有的EAI产品,以IBM、BEA、微软、SAP(Netweaver)、Webmethod等公司的产品最为著名,他们解决方案的共同点都是包括下列中间件(或提供如下能力的构件):门户、工作流产品、数据交换产品。

这些公司基本上可分为两类:

1.以微软、IBM、BEA、WebMethod为代表的是传统中间件厂商,他们的共同卖点是强调通用标准、能够整合第三方的软件,无论被整合的软件是谁在什么时候开发的。

2.以SAP(其EAI产品为NetWeaver)为代表的厂商是以自己做ERP出身的,特点是在通用技术标准之上(例如J2EE族标准)公布了自己的标准和实现(包括API),强调应用构件和整体的关系、强调开发和整合之间的关系、强调企业自己的应用整合标准。国内的产品如中软国际的ResourceOne就是这类产品。

比较这两类解决方案,笔者认为第二类更贴近应用、更容易实施,以新华社办公信息化三期为例阐述上述观点。

OA三期需求不简单

新华社办公信息化三期应用集成的总体需求概述如下:

1. 选择并部署一套应用整合平台,新应用基于平台进行开发并实现强整合,原有应用能够在一定程度上实现整合。

2. 由于本期软件中包含的人力资源管理软件、资产管理、图书管理软件等有专业的公司开发,本次拟集成其已有的产品,被集成的软件商应承诺根据平台要求进行集成改造;其他的软件也不限于一家公司开发,事实上最终的招标结果OA三期应用共有5家公司分别开发了6个不同的模块。

3. 集成后的应用系统必须能够安装在一套硬件系统上(.Net环境的应用在一套环境中,J2EE的应用系统在另一套环境中),不能一个软件一套环境,避免硬件、中间件软件的投资浪费。

4. 集成后的应用必须实现单点登录、统一管理(权限及系统配置、安全、日志、行为审计等等),同时展现在统一的门户里面,界面风格也应该一致。

5. 招标产生的集成商负责应用集成。

审慎的技术选型

经需求分析,并结合上文提到的Gartner Group对EAI的定义,对新华社应用平台和整合进行了如下实现:

1.共享的中间件基础设施。采用J2EE技术,招标采购了IBM Websphere应用服务器(群集版)、Oracle数据库、MQ消息传输中间件,运行在Linux操作系统上。

2.用户交互的门户集成平台。具体需求如下:

·单点登录、并且能够支持基于数据库(LTPA轻量认证)、LDAP、CA认证多种方式,针对不同类型用户选取不同的登录方式。

·基于部门的个性化。要求企业内针对部门的个性化。这种Portal我们称为“应用门户”,区别于传统的Portal针对个人的个性化的概念,传统的门户一般为“信息门户”。

·公布界面风格标准,使展现在统一的门户里面的界面风格保持一致。

·能够在双CPU的PC服务器上支持3000人的访问,当提升硬件环境配置时能够支持至少20000人的访问。

经过比较,本项目选用了中软国际的ResourceOne V3.2的R1 Framework(包含R1 Portal)实现了上述要求。

3. 应用集成的集成代理器:

·应用间隔离技术。由于不同公司开发的应用系统要装在同一套设备(包括J2EE中间件软件)上,需要解决的问题包括“应用根共享”问题、J2EE服务器配置文件共享和规划、服务器目录和空间规划等等,这些问题都需要在现有J2EE技术基础上制定专有的技术规范,使所有的开发商共同遵守以实现集成。

·经过对新华社需求分析发现,数据集成可分两个阶段完成:第一阶段的主要任务是采用 “数据抽取ETL+展现BI/Report” 技术从各应用采集数据,展现给领导或特定用户,实现各应用向某点信息公开、共享;第二阶段在充分梳理应用功能的基础上,进行切分、归并,部分可能还需要升级或重新开发,并采用数据交换技术实现应用间数据交换。

·新华社OA三期的任务中暂时没有流程集成的需求,但是采用R1 StarFlow技术支持的应用开发为将来实现流程对接提供了技术准备。

通过比较,本项目选用了中软国际的ResourceOne V3.2产品的R1 StarFlow工作流中间件、R1 BI数据分析和展现构件+中国式报表“润乾报表”、R1 DE数据传输通道构件等产品构件搭建了数据交换和共享环境。

4. 交易处理应用服务器:这部分本项目不涉及。

5. 共享元数据管理、建立了企业主数据库系统,目前把全社使用的组织信息、人员信息、基本编码等信息管理了起来,为其他应用系统使用提供了环境,新华社的主要业务是新闻文稿,文稿库也已经建立起来为全社共享,还通过“共享文件夹”技术实现部分数据在人和人之间的交换和共享;同时建立了数据共享的架构,为未来共享更多的数据提供架构支持。

6. 集成的企业管理平台,支撑运营和管理。事实上使用Portal把界面搭起来,同时实现单点登录还不能算是集成,还至少要实现系统管理的集成。即各应用系统的管理功能应可以集中管理,这包括统一的日志管理、统一的配置管理、统一的安全框架等等,只有这样管理员才能够通过同一入口对应用进行统一管理。ResourceOne V3.2的Framework提供了上述能力。

7. 集成的开发部署平台。开发工具使用了Eclips+R1.Studio。

整个项目选用了中软国际的ResourceOne V3.2产品为主体实现了上述集成。

不要对厂商有太高期望

企业应用集成都很难,社会上成功案例也较少。通过实施OA三期项目,我们总结出如下经验。

1.现有的产品和技术只是提供了可以实现应用集成的可能以及技术支持,完成集成还有大量的工作要做,另外,集成的成本和效果往往不成比例。

2.一般情况下厂家都会过度销售,使用户(特别是用户的领导)对应用集成的效果产生过高的期望,但是效果一般不尽如人意,特别在界面整合方面不能达到想像的效果。

3.企业中不是所有的应用都是非常有价值的应用,都需要保留并整合,部分应用升级改造(甚至重新开发)的成本实际上很低。实际上大部分企业都是这个情况。

4.企业的应用需求是渐进明晰的,不能一蹴而就,但最终是一个完整的系统。

所以,我们认为“一个良好的整合开发环境、一套现实指导工作的方法论、选择有经验的集成商”可能对于企业更为重要,采用集成式应用开发IAD(Integrated Application Development)方式完成企业应用开发:

·进行总体设计,明确企业的主业务体系、主数据系统,并进行模块的切分,制定整合方案;

·搭建一个整合式的应用开发环境,选用整合平台及相关的中间件产品,制定企业技术标准;

·建议采用原型法进行开发。明确一个功能模块需求就招标开发一个,由于集成平台的存在,开发后能确保能与原有的模块集成,日积月累就成为了一个完整的系统;

·对于原有的应用,能集成的就集成,不能集成的进行有计划的升级改版,通过升级改版逐渐移植到平台上来;

·对于在平台上开发的应用,如果升级则通过简单的“拔和插”动作——把旧模块剔除、把新版的模块插入,即可以实现升级。

综上所述,企业应用集成和集成式应用开发密不可分,只有明确了需求,选择适当的EAI+IAD平衡的思路,才是企业信息化的上选。

企业EAI基础架构