基于SOA的信息交换平台设计

2022-09-11

我国政府及企业的信息化在改革开发近二十年中得快速发展, 办公自动化系统、企业ERP系统、电子政务、商务等应用系统得到广泛推广及运用, 随着目前经济的持续快速增长, 现代政府、企业信息化的要求也更高了, 原有系统暴露出许多不足。在异构环境下不同政企单位之间信息的交换共享面临以下难题: (1) 原有的系统只能适用于局部范围, 不能适应需求的不断变更。 (2) 不能根据需要变化对原有系统进行快速整合或扩展。 (3) 信息共享代价太大, 成本过高。 (4) 缺乏对国际标准的支持, 系统之间的信息难以相互共享。

传统的信息集成中不同系统之间的信息交换经常采用点对点 (如图1左) 的交互方式, 这种网状结构在开发、维护上的代价都非常昂贵。因此在技术上迫切需要建立一个信息交换平台 (如图1右) , 各个应用都通过这个信息交换平台与其它应用进行数据交换与共享。

该信息交换平台有如下特点: (1) 连接和集成各种异构系统, 支持将不同应用系统的信息数据通过中心交换系统进行数据交换。 (2) 具有良好的跨平台特性, 可以部署于目前绝大多数系统平台, 比如W i n d o w s、Linux、Unix等。 (3) 具有强大的数据适配能力, 支持将不同种类的数据源 (例如数据库、文件、JMS数据、GIS地理信息数据) 以Web Service的标准格式对外发布。 (4) 采用模块化开发, 具有优良的扩展能力, 以针对不同应用的需要, 实现功能的快速、灵活定制。

1 SOA架构相关技术分析

1.1 SOA架构

SOA (Service Oriented Architecture) 即面向服务的体系结构。SOA将应用程序中的不同功能单元称为服务, 它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用, SOA本质上是服务的集合, 服务间彼此通信, 这种通信可能是简单的数据传送, 也可能是两个或更多的服务协调进行某些活动。

SOA实现了服务和实现的分离, 对外提供可重用的粗粒度的服务, 以达到松耦合、高内聚的核心架构目标。本信息交互平台所提供的服务之间是松散耦合的。松散耦合使得应用程序中某些服务被改变或者停止后, 其它的服务能够继续存在。SOA架构采用与实际业务本身相一致的粗粒度来对服务进行划分, 对外发布服务接口, 并且通过服务接口的标准化描述, 使得该服务可以提供给任何异构平台和任何用户接口使用。

1.2 SOA的相关技术

*Web Service

Web Service是构建SOA的核心组件, 它对具体的服务实现了封装, 客户端调用Web Service时, 需要知道其具体位置和传输协议, 它是由URI标识的应用程序, 其接口和绑定可以通过XML构件进行定义、描述和发现, Web Service使业务应用功能得以通过标准化接口 (WSDL) 提供, 并可基于标准化传输方式 (HTTP) 、采用标准化协议 (SOAP) 进行调用。

*XML

X M L是常用的数据格式, 在很多地方成为数据交换的中间格式或其它惯用格式。例如承载配置信息, 业务数据等。

*SCA/SDO

服务构件架构 (SCA) 是一组规范, 它描绘了利用SOA来构建应用程序和系统的模型, 它将业务功能作为一系统服务来提供, 这些服务组合到一起, 以创建满足特定业务需要的解决方案。服务数据对象 (SDO) 的设计是为了简化和统一应用程序处理数据的方式。利用SDO, 应用程序编程人员可以一致地访问和操纵来自异构数据源的数据, 包括关系数据库、XML数据源、WEB服务等。

2 基于SOA的信息交换平台设计

2.1 整体设计

如图1所示, 在实际应用的体系结构中包含业务应用系统和信息交换平台两大部分, 信息交换平台实现在异构环境下多业务应用系统信息交换, 是业务应用系统交换、共享、利用其它业务部门信息的核心。业务应用系统之间可以利用信息交换平台进行数据层面的集成, 从而达到数据的共享应用, 使数据得到及时的更新与同步。信息交换平台从功能上要整合多个业务信息系统内部及外部相关的数据资源、应用系统, 建立统一的数据资源管理体系和数据共享中心, 提供规范的通信标准和统一接口, 协调所有应用的业务关系以及实现数据传输应答的自动化, 并保证数据路由的建立和维护。该平台将各种业务应用系统联结起来, 抽取业务数据、转化格式、安全传输并隐藏技术细节。通过对数据的集成, 逐步实现针对业务主题的转换, 为建立数据仓库做好基础准备。平台还将提供管理和安全功能, 保证体系构架的稳定。这其中, SOA及其相关技术等标准协议的开放性使政企业务部门能够在所部署的所有技术和应用中采用SOA。基于SOA的信息交换平台系统结构图如图2所示:

2.2 服务管理组件

以服务为导向的SOA架构体系是通过业务来驱动的, 它通过业务来驱动服务, 再通过服务来驱动技术, 所以划分服务接口, 使之形成一个松散的服务系统非常重要。许多业务应用系统面临着很多分布在不同地方的复杂数据, 基于SOA的信息交换平台通过定义一个数据视图层, 然后将这些数据共享成基于业务的服务, 减少访问业务数据的复杂性, 进而给用户提供了一个快速实时访问异构环境下各个数据源的能力。服务管理包括服务注册、服务列表、服务修改等功能。通过服务注册功能, 可以将不同节点的Web Service服务注册到UDDI, 已注册的服务将被分配到一个WSDL URL地址, 业务应用系统可以根据这个URL地址访问Web Service服务内容以及调用该Web Service, Web Service描述语言 (WSDL) 是一个描述Web Service功能的协议。服务列表提供服务查询、编辑功能, 业务应用系统可以很方便的在该项功能中了解当前注册服务的各种信息。服务修改功能用于修改已注册的服务定义。

作为异构环境下多业务应用系统数据交换的基础平台, 通过提供数据交换、格式转化、安全等各种消息传输的服务, 以及用标准的Web Service接口形式发布服务, 可使各部门应用系统可在统一的授权管理下, 与其他部门或跨部门的系统进行数据交换, 实现互联互通、资源共享, 实现对分散异构信息资源系统实现无缝整合, 并在新的信息交换与共享平台上开发新应用, 实现信息资源的最大增值。

2.3 服务引擎

服务引擎是整个信息交换平台中的核心部分, 既是信息集成的服务器也是信息服务实现的主体, 能有效减少业务应用系统访问数据源的复杂性。服务引擎也是我们的指令处理引擎, 业务应用系统发起一次请求 (SOAP信息) , 服务引擎将找出相应的信息资源服务配置文件, 并执行后取得返回结果给客户端 (SOAP) 。服务引擎采用服务构件架构 (SCA) 设计规范, 它的基本思想是将业务功能作为一个系统服务来提供, 并且可以把已经存在的服务经过新的排列组合, 形成新的服务。服务引擎由数据校验、数据转换模块, 组合模块, 安全模块和路由选择等模块组合而成, 通过管道形式可以组合成多种服务:

1) 数据校验模块根据配置文件和相关标准对提供的数据进行校验, 包括格式校验、内容校验等, 丢弃校验出错部分, 并把正确的数据提交给下一个模块处理。

2) 数据转化模块是关键模块, 主要是解决数据匹配的问题。信息交换平台采集的数据不匹配业务应用系统的请求格式时, 服务引擎将采集数据交给数据交换模块, 数据交换模块根据配置文件调用对应的转换方式, 将结果集合返回给服务引擎。

3) 组合模块, 当一个数据请求同时需要几个业务数据时, 要安排规则对业务数据进行合理组合, 进行应用级的转换。

4) 安全模块是以拦截器方式存在, 用以解析安全信息并加以验证。安全框架同时负责维护消息层的会话有效性, 提供给插件模块会话更新、有效性查询支持。

5) 路由处理模块负责对信息处理与业务系统的路由选择。

其它还有数据加解密等模块等等, 通过把上述模块打包成为服务管道, 形成可插拔的组件架构, 把一些基本模块进行排列组合, 根据需求动态配置具体服务, 比如可把数据校验、数据转化与安全模块组合成一个组合, 需要注意的是其中必须包括数据适配器模块。

2.4 数据适配器组件

在信息集成中, 超过一半的人力是消耗在寻找正确的业务数据资源, 而业务数据是存储在多个部门系统或分公司中的, 针对这些复杂的业务数据资源, 必须开发丰富的数据适配器。适配器是指用来连接服务引擎和后台系统之间的连接器, 通过数据适配器, 可以建立一个数据抽象层来分离业务应用系统和数据资源。

基于SOA架构的信息交换平台将数据抽象成一个业务信息资源, 业务信息资源用XML来描述。一个业务信息资源代表一个政企单位的业务实体, 如用电量、视频信息、交易信息、个人信息等等, 通过可重用或组合基础服务来快速响应业务流程的变化, 节省运营成本。本系统采用了SDO的国际标准规范, 可适配各种异构类型的数据源。SDO作为一种数据编程架构和API, 统一了不同数据源类型的数据编程, 使得开发人员可以从不同的数据源以统一的方式访问和操纵数据。采用SDO标准, 可以适配以下数据源:

1) 数据库适配器支持DB2、Oracle、SQL Server、Sybase等常用数据库。

2) 文件适配器支持Word、Excel、Text、X M L等常用文件格式。

3) JMS适配器可以支持各种消息服务器所提供的消息数据。

3 结语

信息交换平台是一个基于SOA的产品, 提供了共享的数据抽象层, 将业务数据作为一个共享服务来对外提供, 大大降低访问数据的复杂性。由于在信息系统中一半以上的精力是花费在如何访问数据的, 本设计主要关注如何减低数据访问的复杂程度, 从而大幅减低成本, 缩短工期。基于SOA的设计, 更使得信息资源可以共享并重用, 快速集成各类应用系统。

创新观点:基于SOA, 实现了以Web Service为核心的统一资源信息共享与交换平台, 将信息资源通过Web Service进行服务化, 对外提供这种服务。改变了传统信息交换的点对点模式, 实现一对多 (星状结构) 的应用和信息交换模式的信息交换平台。

摘要:异构环境下的信息数据共享和集成是目前企业应用中的一个难题, 如何有效降低数据访问的复杂性, 提高开发效率, 降低开发和维护成本是一个亟需解决的难题。本文首先简单的介绍SOA架构及其相关技术, 接着讲述一个基于SOA的信息交换平台的设计, 包括信息交换平台的整体设计及其三个主要模块的设计。利用该平台达到数据层与其它业务应用系统分离的目的, 实现一个点对多个点的信息交换, 从而达到资源共享、信息资源的最大增值。

关键词:数据交换,SOA,Web Service,数据适配器

参考文献

[1 W3C.Extensible Markup Language (XML) 1.0 (Fourth Edition) .W3CRecommendation 2006-09-29 http://www.w3.org/TR/REC-xml.

[2] Seligman Len.XML’s impact on da-tabases and data sharing[J].Computer, 2001, 34 (6) :59~67.

[3] 陈海建, 茅忠明.XML本源数据库开放模型的设计与实现.微计算机信息, 2006, 4-1:21~23.

[4] 杨徽.基于实时数据库和XML的企业信息共享平台的研究[J].微计算机信息, 2004, 20-9:101~103.

上一篇:基于认知学习理论的团干部一体四翼培养体系构建与应用下一篇:对于当前企业思想政治工作创新的思考