随着计算机技术的发展和企业信息化建设的深入,人们在构建信息系统或进行已有系统整合的时候,普遍遇到如下一些问题:
分布:信息系统不再是一个单机独立运行的系统,它可能运行在网络上的不同地方,需要访问各种分布的数据资源,并与分布在不同地方的其他系统进行交互;
异构:信息系统需要在不同的软硬件环境中运行,需要访问的数据资源和应用系统也同样存在于不同的软硬件环境中;
可扩展和适应性:信息系统应该具有很好的适应能力,能够适应企业机构调整和业务需求的不断变化,以及信息技术的快速发展。
基于以上需求,目前一种比较成功的解决办法是基于中间件技术和组件技术。中间件技术解决系统、资源的分布异构问题和软件开发中的一些关键技术,而组件技术可以保证软件系统的快速开发、灵活部署以及适应需求的不断变化,并实现软件资源的重复利用。
每个中间件系统都能够解决软件系统中某方面的问题,但是在一个信息系统中或者整个企业的信息化建设过程中往往需要使用多种不同类型的中间件系统,这可能又会引起中间件系统之间的集成问题,并增加信息系统开发和企业信息化建设的复杂性。解决这个问题的办法是提供一个一体化的网络软件基础平台,由它负责集成各类中间件系统,实现不同中间件系统之间的交互与融合,满足信息系统开发和整个企业信息化建设的各种需求,中科院软件研究所的网驰运行支撑平台就是这样的一个信息化基础软件平台。
网驰运行支撑平台包括基础运行支撑平台、数据集成平台、流程集成平台和信息门户系统四个部分,主要有消息通信中间件ISMQ、分布事务监控器ISTX、应用服务器WebFrame、数据访问中间件DataAccess(DA)、数据集成中间件DataIntegrator(DI)、流程集成中间件
ProcessIntegrator(PI)、XML转换服务XTrans和信息门户OncePortal等系统。平台中的每个系统都能够完成某方面特定的一些功能,同时不同系统之间又能够充分的融合,形成一个一体化的中间件平台,共同完成网络分布应用的开发、整合和业务流程管理,满足企业信息化、电子商务、电子政务的各种需求。

图1,网驰运行支撑平台结构图
1、 基础运行支撑平台
基础运行支撑平台处于整个网驰运行平台的底层,负责屏蔽分布环境中异构的硬件平台、操作系统和网络协议,并提供分布环境下的通讯服务和支持系统开发的框架及服务组件。基础运行支撑平台主要由消息通信中间件ISMQ、分布事务监控器ISTX和应用服务器WebFrame组成。
ISMQ是一个消息通信中间件系统,使用驻留在内存或硬盘上的队列作为消息缓冲,为跨越不同操作系统和网络环境的分布应用提供可靠、高效的消息传输和管理服务,支持分布式系统的开发、集成和运行。ISMQ主要由队列管理器(MQ服务器)、管理服务、编程接口、测试工具等部分组成。
ISMQ的核心功能主要包括消息的可靠传输和统一的传输环境两方面。消息的可靠传输能够保证消息在传输过程中不管遇见什么意外(如机器崩溃、网络断连等),都能够进行失败恢复,保证消息可靠的到达目的地。同时消息在传输过程中并不要求对方也处于活动状态,实现松散耦合的信息交互。统一的传输环境能够屏蔽网络、操作系统的异构性,提供一致的编程接口,应用系统无需关心对方所处的位置和环境。除了核心功能之外,ISMQ的其他特点主要有:
提供断点续传机制,保证数据的高效传输;
提供内存队列、持久队列、远程队列、事务队列,以及优先队列、FIFO队列等多种类型的队列方式,适应应用的不同需求;
内置拨号功能,可以进行自动的拨号和挂断,当同时有多种方式的网络连接时,自动选择高效的一种;
在ISMQ编程接口基础上,封装了一个基于文件的传输接口,可以方便的实现基于文件的可靠数据传输;
提供身份认证、数据加密等安全控制机制,并提供开放接口来集成其它第三方安全系统;
提供分级日志管理机制,可以动态调整日志级别;
提供层次结构的消息路由和转发;
基于Web的系统管理工具,可以远程对系统中的各种参数进行配置和优化;
提供多种编程接口,包括C/C++、Java、COM等;
提供多种系统平台,包括Windows 95/98/NT/2000/XP、Linux、Solaris、AIX等。
ISTX就是一个进行分布事务处理的中间件系统,它的主要功能包括分布事务的监控和管理、分布事务恢复处理、资源关联、系统管理等,保证事务处理中涉及多个同构或异构资源管理事务的完整性, 确保每个资源管理器都能正确处理事务的提交和回滚。ISTX当前的版本主要是遵循JTA/JTS规范,可以被集成到任何一个符合J2EE规范的应用服务器中,提供分布式事务服务。可独立运行的分布事务监控器正在开发中。
ISTX主要特点包括:
支持分布式事务,可跨越多个事务管理器。ISTX支持JTS规范,可以和其他支持JTS或OTS规范的事务管理器进行互操作;
在出现计算机故障、网络故障或全局资源死锁时能够协调全局事务的恢复,保证同一个事务中多个资源管理器更新的一致性;
通过XA接口与资源管理器进行互操作;
支持JDBC规范和JMS规范,可以与数据库系统、消息中间件进行互操作;
支持JDBC的自动资源注册;
支持连接复用,通过连接缓存保留最近的资源连接,并在将来复用到其他分布事务中,从而提高系统性能;
支持JMX管理规范,可以通过标准方式对其进行配置和管理。
WebFrame是一个基于J2EE1.3规范的应用服务器,支持J2EE规范中的各项功能,提供了一个创建、部署、运行、集成和维护多层企业级应用的基础平台。基于WebFrame进行Web应用开发,用户只需关心业务逻辑,应用所需的基础服务均由WebFrame提供,可以降低开发难度,缩短开发时间,节省开发成本,并保证应用系统具有高可扩展性、安全性和数据交易的完整性。WebFrame的特点主要包括:
支持多种客户端和异构平台:客户端支持Web浏览器、移动设备和传统客户端,如Java、VB应用等;应用服务器可运行在Linux、Unix和Windows等多种操作系统上;可访问多种不同的数据系统,如Oracle、DB2、Sybase、SQL Server和XML文件等;
高伸缩性和高可用性:提供WebFrame集群服务,支持横向/纵向的集群拓扑结构;支持多粒度负载平衡服务,连接池管理,构件和数据高速缓存机制;通过进程池、多线程池提高系统的并发处理速度,高效利用多种设备资源,如多CPU、内存等;支持HTTP会话、EJB构件的状态复制和失效恢复;部署服务和应用时不需关闭和重新启动系统,提高关键业务系统的可用性;
高可靠性:通过集成平台中的ISTX可以提供网络分布事务服务,保障数据处理的可靠和一致;消息服务保障异步消息在不同通信条件下的可靠传输;集群服务保障系统失效时自我恢复和调度;
灵活的部署机制:支持服务和应用的热部署,在运行期间可动态重配,如集群拓扑结构动态计算、负载平衡算法可替换等;支持多种应用类型,如资源适配器应用(RAR)、Web应用(WAR)、企业应用(EAR)、EJB组件(JAR) 和Web Service应用等;提供可扩展部署机制,支持新类型应用;
应用集成:通过XML转换服务XTrans实现XML与关系型数据的交互与转换;提供集成规范和框架、动态插拔资源适配器实现与遗留系统、ERP、CRM等应用的集成;基于Web Service的松耦合式业务过程集成;通过COM Bridge、RMI-IIOP集成不同分布对象模型的构件;
便利的汉字功能支持:缺省对汉字GB2312编码的支持;提供汉字编码字符转换接口。
2、 数据集成平台
数据集成平台对企业和政府部门中广泛存在的“信息孤岛”进行连接、交互与集成,实现对各种分布、异构的数据资源进行全局、统一、高效的访问和管理,为应用和决策支持提供一个良好的数据基础。数据库访问网关和数据复制是两种主流的数据集成技术。数据库访问网关不需要移动数据,对多个数据库进行即时访问,并通过自身的机制来实现对多个数据库的关联查询,是一种紧耦合的集成,适合对同一个组织内多个数据库的访问。数据复制将数据从一个地方迁移到另一个地方,并在此基础上进行转换处理,是一种松散耦合的集成,适合于不同组织之间数据的集成与汇总。针对这两种实现技术,数据集成平台分别提供了数据访问中间件DataAccess(DA)和数据集成中间件DataIntegrator(DI)进行支持。
DA是一个数据访问中间件产品,其目标是使应用系统能够统一、透明、高效地访问和操纵位于网络环境中各种分布、异构的数据资源,为企业实现全局数据访问、加快应用开发、增强网络应用和方便系统管理提供支持。DA主要由服务器、管理工具及客户端组成。服务器负责全局查询处理,管理工具负责全局数据模式的建立和维护,客户端负责与应用系统和开发环境的集成。DA的特点主要有:
提供灵活的多层数据访问结构,简化客户端管理,实现瘦客户体系;
提供基于标准的数据访问接口,支持ODBC、JDBC和OLE DB,可以方便的实现与其他应用和开发环境的集成;
支持主流的关系数据库系统,包括Oracle、SQL Server、Sybase、Informix、Access等;
支持全局模式和全局查询处理操作;
提供图形化的模式创建和系统管理工具。
DI是一个利用Intranet或Internet进行数据集成的中间件,为数据库、文件系统等异构数据源提供包含提取、转换、传输和加载等操作的数据集成服务,可以自动、方便、快捷地实现数据的上传下达。DI主要由发送服务器、发送管理器、接收服务器、接收管理器以及客户端开发接口等部分组成。
DI的核心功能就是支持数据提取、转换、传输和加载全过程的操作,通过任务定义的方式定义数据处理流程,完成在各种网络条件下的数据复制和传送。任务可以手工执行和自动执行,可以灵活定义触发条件,如确定时刻触发、确定间隔触发。用户一旦完成定义,就不再需要人工干预,系统会根据设定的条件自动地将数据从源数据端复制到目的数据端,并进行自动加载。除此之外,DI的特点主要有:
支持关系数据库、格式化文本文件、XML文档和普通文件等数据资源,通过ODBC接口可以集成当前主要的关系数据库系统,并自动实现异构数据管理系统之间的相互转换,如Oracle数据库到Sybase数据库、文本文件数据到关系数据库等。普通文件可传输整个目录,包括其中的子目录;
支持消息通信、Email、FTP等多种传输方式,通过与ISMQ的集成可以实现数据的可靠传输;
能够处理各种数据冲突,解决数据汇总过程中出现的不一致问题;
提供远程数据调度功能,数据接收方(发送方)可以完全控制发送方(接收方)的操作;
提供增量复制功能,每次只复制上次复制以来发生变化的数据,有效地提高数据传输效率和满足应用的需要;
基于向导的任务生成工具,非计算机技术人员都可以进行任务定义和部署;
提供完善的安全管理、日志管理、系统管理功能;
所有功能都提供C/C++编程接口,可方便实现与其它系统的集成。
3、流程集成平台
流程集成平台提供了构建灵活、高效、自适应流程的环境,可以实现与客户、供应商以及合作伙伴的电子化联接,缩短业务流程开发和部署时间,应对快速变化的市场与客户需求。流程集成平台由流程集成中间件ProcessIntegrator(PI)和XML转换服务XTrans构成。
PI引入面向服务的核心理念,通过将流程逻辑与实现该流程的应用相分离、协同流程参与者的相互关系、集成内部和外部流程资源以及监控流程性能,实现了对业务流程整个生存周期的控制。PI主要由开发平台和运行平台组成,开发平台包括流程建模工具、界面设计工具、组织建模工具、应用资源建模工具,运行平台包括流程服务器、任务服务器、管理监控工具、交互任务客户端,它们形成了一个有机的整体,实现了对业务流程的设计、部署、执行、操作和分析等全方位的处理。PI的主要特点表现在:
面向服务:将业务流程的组成活动抽象为服务,在运行时绑定到Java Class、EJB、命令行程序、Web服务或其他类型的具体应用。业务流程自身也可被包装为Web服务,实现业务流程的递归组合和重用。同时以Web服务为基本交互单元实现同供应商及其它合作伙伴的协作。
基于XML:业务流程模型用基于XML的工作流建模语言ISXPDL描述;资源、规则、任务项均使用XML语言进行描述;用户界面基于XML定义,并通过XSLT转换为Web界面。
流程集成:系统支持人工型和自动型任务,并通过应用集成适配器与Web服务提供了业务流程系统必须的集成与协作特征。资源模板和图形化资源定义方式便利了新应用到流程的集成。
分层结构:系统从应用服务、流程逻辑、消息传递三个层次,将流程逻辑与企业应用分离开来。企业应用的开发人员可以将精力集中于应用本身的开发,而业务流程管理人员则专注于业务流程自身的优化组合。
图形化流程定义:提供了灵活易用的图形化流程定义工具,通过鼠标的简单拖拽即可完成流程的定义、修改和维护。版本控制可以帮助用户实现对流程不同版本的维护管理。
复杂的流程逻辑表示:流程引擎支持顺序、分支、并发、选择、循环等多种控制逻辑。在分支上可以定义控制转移条件,实现按条件自动流转。
支持人工型和自动型任务处理:在人工型任务处理中,可以通过执行规则来定义灵活的任务执行方式,可以由多个角色的不同组合完成任务的执行,并支持任务的重新指派。
基于Java,XML, Web服务,J2EE应用服务器等平台和技术,具有优良的跨平台能力。
基于标准和规范,支持WFMC XPDL 1.0、J2EE 1.3、WSDL 1.1、SOAP 1.1、XSL 1.0等。
XML正在逐步成为Internet中描述数据的标准,XML文档将是电子商务中数据传输的主要载体。XTrans为一个XML消息转换服务,实现XML文档之间以及XML文档与其他数据格式之间的相互转换。当前版本的XTrans主要实现了XML文档与关系数据的相互转换,系统通过图形化的界面帮助用户定义XML文档与数据表的映射关系。转换引擎根据这一映射处理XML文档与关系数据的转换,并能够根据XML文档的DTD或Schema自动生成与之对应的关系结构和映射。系统提供了Java编程接口,可以集成到J2EE应用服务器中。
4、信息门户系统
信息门户系统主要由门户服务器OncePortal构成。OncePortal适应企业以客户为中心的运营模式,在Internet/Intranet环境下,把各种应用系统、数据资源和互联网资源统一集成到一个单一的环境中,根据每个用户使用特点和角色的不同,形成个性化的应用界面,保证了企业服务流程和数据的一致性。OncePortal主要由Portal Servlet、Portlet容器、底层服务支持和应用接口组成,功能主要包括Portal页面定制、Portlet定制和管理、Portlet用户管理。OncePortal主要特点有:
可集成多种类型的Portlet,包括JSP、HTML、RSS、WebPage、Database、Image、Applet、XML等,同时还可通过SOAP访问Web Service;
支持单点登录,系统提供一种统一的登录方式,用户只需要一次性的登录就能够访问不同来源的信息和应用;
不同类型的数据以统一风格显示,不同类型的数据库数据或不同格式的xml文档可以指定显示风格;
管理工作方便快捷:用户配置的管理、用户角色的管理及各种不同的安全控制的管理,均有可视化的界面帮助操作。同时提供对一些Portlet类型的定制界面和浏览界面,协助进行Portlet的布局和管理;
信息的实时反馈:由于本系统可以将各种动态网页、数据库信息进行加载,可准确及时的反映用户急需了解的信息;
灵活多样的用户定制功能:用户可以在Portal页面中添加自己感兴趣的信息,并可自行设计Portlet在不同页面中的排列方式,同时对于各portlet的显示风格,整个界面的风格、背景等均可进行个性化的设定;
网驰运行支撑平台通过融合以上系列的中间件系统,提供了一个信息系统建设基础环境,能够满足企业信息化建设、电子商务、电子政务等应用中的各种需求,如应用开发、系统整合、业务流程管理等。网驰运行支撑平台及其中间件系统已经成功应用于政府和金融、保险、电信、电力、石化、物流等行业中,形成了如“国家经贸委产业损害预警系统”、“中石化销售管理信息系统”、 “中国船舶重工集团远程财务管理系统”等一系列典型案例,它的推广必将进一步的为我国软件产业发挥出更大的作用。