SOA技术在企业信息资源目录交换中应用

[摘要]通过基于SOA架构的技术实现模式-WebService技术,研究了数据交换的统一实现模式,提出了企业信息管理系统中信息资源交换体系的总体框架、概念模型、交换模式、交换结点基本功能和应用参考模型。

目前,在我国各企业的信息化系统建设过程中,各职能部门大部分根据自身的情况与需要,建立了各自的信息和办公系统,这些系统往往是在不同时期、由不同的公司、利用不同的工具、在不同的开发平台、采用不同的技术标准开发出来的,并且运行在不同的操作系统和不同的数据库平台之上,而且客户端与服务器之间通常会有防火墙或者代理服务器,这些跨平台异构系统形成了一个个信息孤岛,随着业务需求的进一步发展,各个系统在数据交换与共享方面存在的局限越来越大,主要体现在无法适应企业发展的需要,无法实现真正的协作,无法实现在线业务处理,存在安全隐患等方面。

在以往的解决方案中,不同系统的数据交换,一般都是采用点对点的方案来实施的,即根据特定连接需求,满足特定问题。这样,对于每个应用,都要为每个需要的资源或外部资源编写连接代码,以使得应用得以运行。当增加了一个新的系统,就需要重新和所有的系统之间建立点对点的连接。由于每个应用都有其自己特有的基础架构,这些应用在部署、更改和维护上的代价都非常高昂。这就要求每套信息系统应用配置特有的专业技术人员,并保持与不同的技术供应商或解决方案提供商的密切联系。并且开发接口也是相当复杂,成本昂贵的。即使是只有一个企业信息管理系统的应用,其创建、维护和定制的代价及复杂度就已经非常高了,何况要涉及多个这样的应用,其代价之高是可想而知的。

这就迫切需要利用统一的技术,建立一个独立的连接系统,能够利用统一的方式,支持不同的平台,实现各系统之间不同结构和格式的数据的互相交换,并根据服务流程的定义统一协调各个部门业务系统之间的数据传输和消息通信。各个应用系统都通过这个连接系统与其他应用系统进行数据交换,才能够真正实现不同数据源的无缝连接,实现应用系统的数据交换和共享。

通过基于SOA架构的技术实现模式-WebService技术,研究了数据交换的统一实现模式,提出了企业信息管理系统中信息资源交换体系的总体框架、概念模型、交换模式、交换结点基本功能和应用参考模型。说明了交换体系的各组成部分。并给出了交换体系技术平台的概念模型和交换模式,根据我国跨企业部门交换的普遍需求,给出了在一个交换域内构建交换体系系统结构的参考模型。同时还提出了分布式系统间交换机制的交换体系在互连互通时所涉及的技术要求,主要是交换协议以及企业信息资源交换体系中对异构数据库访问的接口定义规范和企业部门间信息交换指标表示规范。

1 信息资源目录交换系统技术架构

企业信息资源目录交换系统分为编目、目录报送、目录管理目录服务四个子系统,系统架构如图l所示。基于四个子系统,实现目录生成、目录报送、目录管理、目录发布的完整流程。

(1)编目子系统。利用编目子系统,从不同形态的企业信息资源中抽取出元数据,生成企业信息资源目录。其主要功能有如下几项。目录生成,目录生成分为自动和手工两种方式。实现从网页、数据库等形态的企业信息资源抽取元数据,形成企业信息资源目录。资源编码,使用资源编码的前段码并赋予后段码,生成资源ID。资源分类与主题词提取,对企业资源进行分类,包括自动与手工两种方式,并实现主题词提取。

  图1 企业信息资源目录交换系统技术架构图

(2)目录报送子系统。基于统一、公共的信息管理系统信息交换平台,建立目录报送系统,实现目录传送。目录报子送系统的功能主要将各部门前置机的目录信息自动报送到所对应的目录服务中心中的接收服务器。

(3)目录管理子系统。目录管理子系统包括目录互访、目录管理、系统管理等功能,实现对目录数据服务的集中管理。目录互访,为了构筑逻辑上集中,物理上分散的企业信息资源目录体系,每个中心按照目录体系标准对外提供目录发现接口和目录管理接口。目录管理,用于管理各企业部门上报的目录,包括目录的审核、目录日常维护。系统管理,提供配置、备份、迁移、认证、用户管理等功能,提高系统运行可靠性和可维护性。

(4)目录服务子系统。目录服务子系统将目录按照多种分类方式发布到企业目录中心网站,供使用者进行浏览,并提供多种查询方式。

2 信息资源目录交换系统业务流程

在编目子系统中,目录生成工具对企业信息资源抽取目录,通过编、分类和主题词提取对目录进行加工处理,使之满足标准中的要求。编目完成的目录存储在编目子系统的目录库中。

编目子系统中目录库中的目录数据通过桥接功能,存储到部门前置机的数据库中。目录报送子系统将各部门前置机上的目录注册到相应的目录中心,存储到接收数据库中。业务流程见图2。目录管理子系统实现对接收数据库中的目录进行自动有效性审核。合格的目录则进入发布流程,实现目录的自动发布。不合格的目录反馈给中心管理员进行处理,管理员可以进行目录数据修改或者将目录退回给相应的企业部门。

目录服子务系统通过访问目录发现接口,实现目录的wEB发布。用户通过网页浏览与查询,实现目录的浏览与查询。

其他目录中心或应用利用标准的目录发现接口,实现目录的访问。

  图2 企业信息资源目录交换系统业务流程图

3 目录报送子系统结构

目录报送子系统主要完成企业部门前置机上的目录数据向目录中心的报送功能。同时,为了实现报送系统与编目系统之间的松耦合,明确划分系统边界,在编目系统与前置机系统之间,实现信息交换桥接功能。

目录报送系统包括信息交换桥接、信息报送引擎2个主要模块,具体结构见图3。

  图3目录报送系统结构图

3.1信息交换桥接

信息桥接系统在编目系统与前置机之间构建信息交换桥。主要完成的功能包括两个,一个是实现另编目系统目录库向部门前置机中目录库的转储,另一个是实现中心退回目录数据向编目系统目录库的转储。在桥接过程中的数据格式如表1所示。

表1桥接过程中的数据格式列表

3.2信息报送引擎

信息报送引擎在目录体系中用于实现企业部门与目录管理中心间目录数据的在线、实时交换,并为今后其他更多的跨部门应用提供企业信息资源交换与共享的基础设施。

信息报送引擎主要功能包括:完成从各个部门前置机中提取目录信息的信息提取功能;实现目录信息在企业部门与目录管理中心之间可靠、安全的、自动传输的信息传输功能;实现不可信数据自动分发,将为通过目录管理中心审核的目录信息分发给响应的企业部门前置机的信息分发功能;管理监控功能,系统提供基于B/S结构的管理与监控系统,提供远程部署和远程系统维护的功能。

信息报送引擎工作流程。信息报送引擎由位于目录中心的交换中间件以及企业部门前置机上的适配器组成。

各部门向目录中心报送目录数据的流程如图4所示。适配器从部门前置机中提取目录数据,并发送到中心接收服务器上的交换中间件。交换中间件接收到数据,并将数据转发给目录中心的适配器。目录中心适配器向中心接收数据库保存数据。目录中心向企业部门下发不合法目录数据的流程和报送流程类似。

4 基于SOA的信息资源目录交换系统采用的Struts框架

4.1软件框架概念

伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展,而且是经过良好测试的软件组件越来越受青睐。这意味着可以将充裕的时间用来分析、构建业务逻辑的应用,而不是繁杂的代码工程。于是将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这也就是所说的Framework。

  图4信息报送引擎数据流图

框架(Framework)是整个或部分系统的可重用设计,可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。

应用框架并不是包含构件应用程序的小片程序,而是实现了某个应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合,具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。

通过基于请求响应(Request―Response)模式的应用Framework,基本上有如下几个表现逻辑结构组成。控制器(Controller),控制整个Framework中各个组件的协调工作。业务逻辑层(Business Logic),对Framwork本身来说,这里仅仅只是概念和几个提供服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。数据逻辑层(Data logic),绝大应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。

4.2 Struts框架介绍

由于本系统采用基于MVC模式的Struts架构,介绍一下MVC模型。MVC(Model/view/Controller)模式是国外用得比较多的一种设计模式,最早是在Smalltalk中出现。MVC包括三类对象,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。采用MVC设计模式开发的应用框架也被称为MVC框架。

Struts是Apache组织的一个项目,它采用JavaServlet/JavaServerPages/Custom Tag Library技术,开发web应用程序的开放源码的Framework。基于Struts构架的web应用程序基本上符合JSPModel2的设计标准,Struts提供了对开发MVC系统的底层支持,是一个比较好的MVC框架。Struts也包含了丰富的标记库和独立于该框架工作的实用程序类,采用Struts能开发出基于MVC(Modelview-Controller)设计模式的应用架构。

Struts被称作web Framewbrk,因此它和jsp/Servlet一样主要基于web层的应用系统开发。Struts有其自己的控制器(Controller),同时整合了一些其他技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易与数据访问技术相结合,包括EJB,JDBC和Object ReIationBridgeo在视图层,struts能够与JSP,VelocityTemplates,XSL等等这些表示层组件相结合。

Struts Framework是MVC模式的体现,图5分别从模型、视图、控制来介绍Struts的体系结构(Ar.chitecture),显示了Struts Framework的体系结构响应客户请求时候,各个部分工作的原理。

  图5 StmtS体系结构

5 结语

所设计的基于SOA架构体系在矿上、电力等重点行业推广应用,取得很好的效果。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。