基于面向服务架构的遗留系统与领域需求匹配研究

2013-07-22 02:52李华
赤峰学院学报·自然科学版 2013年13期
关键词:遗留业务流程文档

李华

(贵州师范大学,贵州贵阳550001)

基于面向服务架构的遗留系统与领域需求匹配研究

李华

(贵州师范大学,贵州贵阳550001)

为了不重新开发基于面向服务架构的系统,充分利用遗留系统的价值,将遗留系统集成到面向服务架构中,本文研究基于面向服务架构的遗留系统集成模式.通过分析领域需求和遗留系统,将分析结果进行形式化表示,采用XML文档进行描述,设计一种匹配算法,计算遗留系统中各个节点和领域需求中各个服务的匹配程度,用以指导遗留系统向面向服务架构的迁移.

面向服务架构;遗留系统集成;匹配算法

1 引言

面向服务架构(Service-Oriented Architec2ture,SOA)是一种面向服务的分布式体系结构[1],是集成遗留系统的一个最佳的体系结构.它通过建立、合并、可重用的服务体系,为不同的开发平台、操作系统、数据库系统等信息应用系统提供了一个相互交织平台,充分利用和挖掘遗留系统的价值,将遗留系统迁移到SOA架构中,高效、重复地利用现有IT技术,避免重复性开发,降低集成成本,降低应用风险.

2 基于SOA系统架构

构建基于SOA的系统架构,关键是要结合需求,重新组合和使用松散耦合的粗粒度应用组件.如图1所示的基于SOA系统架构.一是,实现了“软件即服务”功能,可以直接调用使用服务层,降低了人对软件代理交互的依赖性.二是,可以根据业务需求集成具备传统管理业务系统功能的独立服务构件,系统管理各类业务系统,用户通过统一认证单点登录各业务应用系统,用户根据业务需求应用所需服务构件.三是,预留大量服务构件集成接口,以满足未来陆续增加新的业务服务需求和集成其他业务软件系统服务.

图1 基于SOA系统架构

其中,用户交互层通过统一的个性化服务访问接口,为每一类用户提供个性化的界面,访问系统的各种不同的子系统或服务,可以快速响应各种业务流程的变化,满足业务不断变化和扩展的需求以及异构环境下跨平台业务集成的需求.服务组装层实现了服务构件的用户级自由组装,除了可以根据一定的业务逻辑立体化聚合各个粒度服务构件,还可以按照一定的业务流程跨组织聚合各个聚合服务.数据资源层自动针对数据库的表关系、视图关系抽取出不同的数据实体,然后通过数据转换、数据过滤,完成异质数据库间的数据交互,在数据集统一集成整体集成架构,并保证各个业务系统的独立性.统一数据中心完全封装业务数据,提供数据实体所需要的所有公共数据,避免了数据的冗余,保证了数据的一致性和完整性.

3 遗留系统集成模式

基于SOA架构的遗留系统集成模式如图2所示.

图2 遗留系统集成模式

该集成模式,首先,根据业务需求中功能、接口等信息的描述,进行自上而下的分解,功能解析器根据业务功能的描述,在常用业务流程库中进行查找,没有查找到则根据领域知识库和领域词典对业务需求描述进行分析,并生成相应的业务流程,加入到业务流程库中,完成解析功能.其次,根据业务需求解析结果和遗留系统分析出可用的服务及其相关信息,用形式化方法表示业务流程分析结果和遗留系统的分析结果.然后,设计匹配算法对业务流程分析和遗留系统分析结果进行匹配计算,得到遗留系统和领域需求的匹配程度.最后,通过决策分析分析遗留系统向面向服务体系结构迁移的方式.

4 遗留系统与领域需求匹配

4.1 遗留系统分析和领域需求分析

遗留系统分析从数据信息、逻辑信息、实际应用信息、文档信息和代码信息等五个层面进行,分析结果用有向无环图表示,设每个节点带有相关节点信息由Nodefather、Infordoc、InforuMl、Inforcode、Infordata、Inforlog、Nodeson组成.为了将遗留系统的分析结果和领域需求的分析结果进行匹配计算,采用XML文档对遗留系统的分析结果进行描述,统一定义一个XML模版对遗留系统分析结果进行描述:

…………

……

……

……

选择面向对象的分析方法,将领域需求分解成用户所需求的粒度服务,分析结果也用带节点信息的有向无环图表示,其中每个节点向量的相关信息定义为由Nodefather、Inforfunction、Infordata、Nodeson组成.分析结果用XML文档进行描述,分析结果的XML模版定义如下:

……

……

……

通过对领域需求和遗留系统分别进行自顶向下和自底向上的分析,将遗留系统划分为业务组件层、粗粒度组件层和细粒度组件层,领域需求划分为业务流程层、复合服务层和原子服务层,得到图3所示分析结果.

图3 遗留系统和领域需求分析结果描述

4.2 匹配算法

首先,对遗留系统和领域需求中的所有节点信息行成一个文档集.然后,将遗留系统和领域需求分析结果所形成的两个XML文档中的各个节点之间进行相似度计算,就可以得到遗留系统中各个节点和领域需求中各个服务的匹配程度.

计算遗留系统和领域需求中的节点在各自文档集中的权重,计算结果为一个由关键字和节点组成的权重矩阵,每个节点在有向无环图中代表一个向量,表示为

定义标记信息,遗留系统有向无环图的业务组件层节点集合SL={L1,L2,…..,Lt},遗留系统有向无环图的业务组件层每个节点的子节点集合Ss(Li)={Li1,Li2,……,Lil},遗留系统有向无环图的粗粒度组件层节点集合SLS={Ls1,Ls2,……,Lsk},领域需求的业务流程层节点用集合SD= {D1,D2,…..,Dm},用标记Ma表示遗留系统节点和领域需求的节点构成的M*N相似度矩阵,N=T+K.

算法输入为遗留系统分析结果文档XMLlegacy和领域需求的分析结果文档XMLDomain,相似度阈值λ.

算法输出为遗留系统中的节点和领域需求中的节点所构成的相似度矩阵Ma=M*(T+K)=M*N.

领域需求业务流程层的节点和遗留系统业务组件层的节点所计算出的相似度结果若小于λ,可将相似度值直接赋值为0.

4.3 案例分析

我们以某中学教育管理软件中的学生综合素质评价系统为研究对象.

对学生综合素质评价系统和SOA架构下学生评价领域需求进行分析,分析结果XML文档树形结构如图4所示.

图4 XML文档显示结果

读取分析XML文件,按照对应节点信息,将XML文档划分为若干个TXT文件,每个TXT文件存储对应节点的信息.根据生成的遗留系统文档集和领域需求文档集,利用海量分词软件进行处理,再根据向量空间模型计算文档集中任意两个文档之间的相似度,用以指导学生综合素质评价系统向SOA架构的迁移.

5 结束语

我们研究领域模型、遗留系统分析方法,分别对遗留系统和领域需求进行分析,并将分析结果用形式化的方式表示出来,用XML文档存储.结合遗留系统分析结果和领域需求的分析结果,设计一种匹配算法将两者进行匹配计算,可以得到遗留系统中各个节点和领域需求中各个服务的匹配程度,用以指导遗留系统向面向服务架构的迁移.

〔1〕毛新生.SOA原理.方法.实践.电子工业出版社,2007.

〔2〕邱岳,吴洁明.基于SOA的应用集成策略研究与实现[J].计算机时代,2008(02).

〔3〕姜文,李斌勇,黄义平.基于SOA的遗留系统集成研究与应用[J].软件导刊,2009,8(7).

〔4〕吕鸣剑,孟东升.基于SOA架构的企业集成系统设计与实现.现代电子技术,2009(9).

TP311

A

1673-260X(2013)07-0020-03

贵州省科学技术基金项目(黔科合J字LKS[2010]35)

猜你喜欢
遗留业务流程文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
RPA机器人助业务流程智能化
许林涛作品
企业财务管理、业务流程管理中整合ERP之探索
互联网+背景下物流公司的业务流程再造
基于单片机控制的小孩遗留小汽车内智能安全装置
基于财务业务流程再造的ERP信息系统构建探析
基于RI码计算的Word复制文档鉴别
静寂的故宫博物馆