浅谈对遗留系统研究进展

时间:2022-09-26 05:41:03

浅谈对遗留系统研究进展

摘要:许多企业因为业务发展的需要和市场竞争的压力,需要建设新的企业信息系统。在升级改造的过程中,怎么处理和利用那些历史遗留下来的老系统,成为影响新系统建设成败和开发效率的关键因素之一。基于遗留系统近年来的研究进展,综述了处理和利用遗留系统的方法和技术,并探讨了遗留系统领域的发展与研究方向。

关键字:遗留系统;研究;综述

作者简介:谢刚,26岁,贵州人,贵州师范大学数学与计算机科学学院助教,西南大学计算机科学与信息学院计算机软件20__级研究生,主要研究方向:软件工程;张为群,56岁,浙江人,西南大学计算机科学与信息学院院长、教授,主要研究方向:软件工程。

1引言

计算机技术飞速发展,日新月异,许多企业因为业务发展的需要和市场竞争的压力,需要建设新的企业信息系统。在这种升级改造的过程中,怎么处理和利用那些历史遗留下来的老系统,成为影响新系统建设成败和开发效率的关键因素之一。文章称这些老系统为遗留系统。

目前,学术界和工业界对遗留系统的定义没有统一的意见。Bennett在1995年对遗留系统作了如下的定义[1]:遗留系统是大家不知道如何处理但对组织又是至关重要的系统。Brodie对遗留系统的定义如下[2]:遗留系统是指任何基本上不能进行修改和进化以满足新的变化了的业务需求的信息系统。

据认为,遗留系统应该具有以下特点:

(1)系统虽然完成企业中许多重要的业务管理工作,但已经不能完全满足要求。一般实现业务处理电子化及部分企业管理功能,很少涉及经营决策。

(2)系统在性能上已经落后,采用的技术已经过时。如多采用主机8终端形式或小型机系统,软件使用汇编语言或第三代程序设计语言的早期版本开发,使用文件系统而不是数据库。

(3)通常是大型的软件系统,已经融入企业的业务运行和决策管理机制之中,维护工作十分困难。

(4)系统没有使用现代软件工程方法进行管理和开发,现在基本上已经没有文档,很难理解。

在企业信息系统升级改造过程中,如何处理和利用遗留系统,成为新系统建设的重要组成部分。处理恰当与否,直接关系到新系统的成败和开发效率。

2国内外研究现状

遗留系统自二十世纪九十年代兴起,一些机构和个人从不同的方面进行研究。目前,从综合各国已发表的一些文献来看,研究主要集中在如下几个方面问题。

2.1遗留系统的再工程

软件再工程关心的是通过对遗留系统改造使它们的可维护性得到提高。再工程包括对系统重新建立其文档,组织并改造系统,用一种更先进的程序设计语言转换系统、修改和更新系统的结构和系统的数据。一般来讲,软件的功能不被改变,同时系统的体系结构也是保持不变的。

从技术的角度来看,软件再工程似乎是系统进化问题和一个次级解决方案;从业务角度来看,软件再工程可能是保证遗留系统能继续提供服务惟一可行的方法。再工程是一种相对新的软件进化方法,它界于系统替换和继续维护之间,它的一个系统的成本比替换一个系统的成本要低,能降低与替换系统和继续维护所带来的巨大风险。再工程不是从写系统描述开始,而是将遗留系统作为新系统的描述,因此你能降低由于丢失包含在系统中关键的业务知识所带来的风险。再工程的目的就是让你以低成本进化一个能满足用户新需求的系统。目前,在这方面的研究比较多。HarryM.Sneed[3]提出了以遗留系统分析开始的五步再工程计划过程。VijayK.Madisetti[4]等人对遗留实时系统进行再工程。EttoreMerlo[5]等人撰文得出一种再工程方法让遗留系统接口进化成新的接口技术,延长系统寿命并提高系统的整体质量。IanWarren[6]等人的Renaissance研究项目目的在于提出一个软件进化和再工程的动态方法,该项目定义了一系列活动和任务来支持全部再工程项目和识别活动之间的控制流。

2.2遗留系统的移植

在过去三十年间,大量使用旧技术(例如使用过程化语言)的软件得到了发展,这类系统已经经历了很长一段时间严格的代码修改。结果,不完整的设计文档和体系结构使得维护变得更加困难,花费时间更多,维护费用更高。另一方面,这些系统有着重要的经济价值。它们中的大部分对于企业来说都是非常重要的。对于这些投资高、专用性强的系统来说,简单抛弃它和重新使用新技术来开发新系统都不是一个好的选择。将遗留系统移植到新兴技术上来才是一个好的选择。虽然移植新系统到新技术上来是一个复杂的生活系统工程。但是如/!/果移植成功,它的长远效益远远大于再工程。移植使系统具有更多的灵活性、更易理解、更易维护、成本更低。

遗留系统的移植必须将一个已存在的且能运行的系统移植到新平台上,同时要保持遗留系统的功能并且能使系统继续工作。这是一个非常大的挑战,它包含软件工程中许多领域,包括程序和数据理解、系统开发和测试。目前,有关这方面的研究相当多。JesusBisbal[7]等人对遗留系统移植方法进行调查研究,对各种移植方法进行了比较,并开发了一系列工具。LeiWu[8]等人对怎样降低遗留系统移植的复杂性进行研究。

3国内研究现状

3.1遗留系统的评价

遗留系统的进化方式可以有很多种,根据系统的技术条件、商业价值以及维护和运行系统的组织特征不同,可以采取继续维护、某种形式的重构或替代策略,或者联合使用几种策略

。究竟采用哪些策略来处理遗留系统,需要根据对遗留系统的所有系统特性的评价来确定。对遗留系统评价的目的是为了获得对遗留系统的更好的理解,这是遗留系统进化的基础,是任何遗留系统进化项目的起点。张友生[9]提出的评价方法包括度量系统技术水准、商业价值和与之关联的组织特征,其结果作为选择处理策略的基础。

评价方法由一系列活动组成,如图1所示

3.2遗留系统的包装

遗留系统要能够与新系统集成,做到即插即用,首先必须进行包装。包装实质上是用一个掩藏老系统不需要的复杂性和输出一个现代接口的软件层来包围遗留系统。每一个新系统的出现都会带来遗留系统包装的问题,WebService技术作为一种新技术,由于它能提供跨平台、穿越防火墙的访问能力,基于一系列的公开标准,因此WebService的应用成为研究的热点,很多大公司也推出了自己的WebService平台,例如Microsoft的.Net平台,IBM的WebSphere也提供基于J2EE的WebService平台,用WebService包装遗留系统也成为很多公司和机构研究的方向,在国外,加拿大Waterloo大学电子与计算机工程系的以Web为中心的企业遗留系统集成研究,采用CORBA包装从遗留系统中剥离出来的功能模块,然后利用一个中间层把CORBA对象请求包装成SOAP信息[10]。NoosphericsTechnologies公司提出了利用一个XML适配器来完成遗留系统包装成WebService的工作[11]。国内也有很多学校在做基于WebService的研究,其中有一些与遗留系统有关,例如清华大学自动化系开发了一个基于Web服务的企业应用集成系统,它利用服务器作为应用服务器和遗留应用之间的中间件。东南大学的卞永刚[12]等人在对遗留系统分析研究的基础上,研究了在.Net平台上利用WebService包装遗留系统的方法,分别在数据、事务、应用程序三个层次上包装遗留系统成为WebServcie,实现了一个自动包装的原型系统。该原型系统提供了人机友好的界面接受用户的包装需求,在得到确认后,原型系统调用自动包装方法、完成自动包装,并作为WebService。

3.3遗留系统的集成

目前,存在着众多的遗留系统,由不同的开发者,在不同的时期,采用不同的语言进行开发,并运行于不同的操作系统平台中,彼此之间很少实现信息的共享。因此,有必要把这些遗留系统集成起来,使它们成为一个运行整体,实现数据共享,同时也保证遗留系统的运行稳定性及安全性。而且,传统的信息集成技术,由于自身的限制,不能很好地解决遗留系统的跨平台集成,以及集成系统的安全可靠运行。基于以上原因,许多研究者对此进行研究。哈尔滨理工大学的姜晨[13]等人提出的基于CORBA遗留系统集成模型,并提出对遗留系统的解决方案。但是它们只是对结构遗留数据源进行集成。

CORBA虽然定义了一种语言无关的通信方式,但企业防火墙通常会阻止对象请求(ObjectRe2questBroker,ORB)的通信。东南大学李相育等人[14]提出了基于Web服务的流程工业遗留系统信息集成框架,较好地解决了传统信息集成技术构建的集成系统不易维护、缺乏扩展性及动态调整性以及应用范围狭窄等方面的缺陷。

3.4Agent技术在遗留系统整合中的应用

Agent理论和技术是从分布式人工智能的研究领域中发展起来的,面向Agent技术在实现上可以看作是面向对象设计的一种扩展,它对现代其它的计算机科学及其应用产生了重大影响。尤其是MAS(Multi-AgentSystems)可以在现代计算机科学及其应用领域扮演重要的角色。MAS和以Agent为主体的高层交互可以满足现代复杂计算和分布式信息处理系统的要求。利用Agent对遗留系统进行现代化改造,结合有关CORBA技术、SOAP技术等在软件再工程中是一个值得肯定的技术。一般而言,遗留系统分为两类:一类为处于孤岛运行状态,独立完成指定的动作,如单元控制系统;另一类是以数据库为核心的信息处理系统。两类遗产系统有一个共同的特征:即自成体系、封闭、独立地运行。而随着计算机软硬件的发展和用户业务的日益增长,迫切要求这类软件从单机构架到网络构架,从集中、封闭式系统到分布式、开放系统的转变。而在软件再工程中引人工作流机制和XML语言,采用和多的联合协助则能弥补这一缺憾。中国科学院软件研究所的詹剑锋等人[15]提出的基于MobileAgent技术的遗留系统再工程方法。该方法对遗留系统采用Agent思想重新建模,将频繁的需要与其他部分交互的组件实现为移动Agent,并且允许以定制的Agent的方式添加新的需求,使得目标系统能够更加适应因特网环境,通过一个单机环境下的单用户计算软件迁移到网络环境下,允许多个远程用户并访问的再工程尝试,为遗留系统引入新的需求和技术提供了一条可以选择的途径。杨光豹[16]提出提出了一种基于XML与Agent技术相结合的企业应用集成方案,解决了跨企业、跨部门、跨应用的分布异构平台与企业内部遗留系统的集成和互操作问题。他提出的体系结构在灵活性、可扩展性和对异构环境的适应性等方面做出了改进。

4结束语

在研究者和实践者的共同努力下,如今遗留系统的研究渗透到各种软件体系结构中,并取得了一些成果。本文总结了有关遗留系统的部分成果,在遗留系统的研究还在进行,希望能为遗留系统的进一步研究提供有益的参考。

随着时间的推移,遗留系统将会越来越多,怎样处理和利用这些遗留系统,从而将风险降到最低,我们认为还需要从以下4个方面对遗留系统进行深入探讨。

(1)在企业信息系统建设过程中,如何处理那些遗留系统,将会是越来越突出的矛盾,因为即使是今天看来很先进的系统在明天也会成为遗留系统。对遗留系统的处理恰当与否,直接关系到新系统的成败和开发效率。如何建立一套系统的、行之有效的方法论,以期望对实际工作有所指导,已成为一个迫切的问题。

(2)现在还不能用一个通用的Agent技术将遗留系统进行改造,使之成为一个能够“即插即用的部件”,在各种遗留系统的动态整合方面还需进一步探讨。

(3)怎样在遗留系统自动包装系统中将安全策略融合进到新包装后的系统。

(4)目前的遗留系统包装系统还不能够建立自动包装的需求模型,利用模型驱动来自动生成代码,实现自动包装。

(6)制定通用的遗留系统移植方法,来指导遗留系统的移植。

参考文献

[1]KHBennett.LegacySystem:CopingWithSuccess[J]

.IEEESoftware,1995(1):19-23.[2]MLBrodie,MStonebraker.MigratingLegacySystems[M].MorganKauf-mannPublishers,1995.

[3]HMSneed.PlanningtheReengineeringofLegacySystem[J].IEEESoftware,1995:(1):24-34.

[4]VijayK.Madisetti,Yong-KyuJung,MoinulH.Khan,etal.ReengineeringLegacyEmbeddedSystems[J].IEEEDesignandTestofComputers,1999,16(2):38-47.

[5]EttoreMerlo,Pierre-YvesGagne,Jean-FrancoisGirard,etal.ReengineeringUserInterfaces[J].IEEESoftware,1995,12(1):64-73.

[6]IanWarren,JaneRansom.Renaissance:AMethodtoSupportSoftwareSystemEvolution[C].26thAnnualInternationalComputerSoftwareandApplicationsConference,IEEEComputerSociety,20__:415-421.

[7]JesusBisbal,DeirdreLawless,etal.AnOverviewofLegacyInformationSystemMigration[C].FourthAsia-PacificSoftwareEngineeringandInternationalComputerScienceConference(APSEC’97/ICSC’97),IEEEComputerSociety.1997:529-530.

[8]LeiWu,HouariSahraoui,PetkoValtchev.CopingwithLegacySystemMigrationComplexity[C].Proceedingsofthe10thIEEEInternationalConferenceonEngineeringofComplexComputerSystems(ICECCS’05),IEEEComputerSociety.20__:600-609.

[9]张友生.遗留系统的评价方法和进化策略[J].计算机工程与应用,20__(13):29-35.

[10]MTWCorporation.LegacyWrappingInaComponentArchitecture[R/OL].

/cbd/docs/legacy wrapper.pdf.

[11]RedOaksoftware.LegacyTransactionIntegrationInaService-orientedArchitecture(SOA)[R/OL].20__.11./pdf/TransactionInt_inaSOA.pdf.

[12]卞永刚,徐浩,王茜.基于WebService的遗留系统包装平台的研究和实现[J].计算机代,20__(12):

26-30.

[13]姜晨,刘军.基于CORBA的遗留系统集成模型的研究与应用[J].计算机工程与科学,20__,25(6):46-49.

[14]李相育,钱宇,李秀喜.基于Web服务的流程工业遗留系统的信息集成[J].计算机集成制统,20__,11(10):1388-1391

[15]詹剑锋,程虎.基于MobileAgent技术的遗留系统再工程方法[J].软件学报,20__,13(12):2343-2348.

[16]杨光豹.Agent技术在遗留系统整合中的应用[J].广东广播电视大学学报,2OO6,15(1):89-93.

上一篇:关于农村信用社中间业务发展的调研报告 下一篇:法医学鉴定腹部术后止血钳长期遗留2例