最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于SOA的企业异构资源的整合研究

来源:动视网 责编:小OO 时间:2025-09-30 01:07:47
文档

基于SOA的企业异构资源的整合研究

第27卷第1期计算机应用与软件Vol127No.12010年1月ComputerApplicationsandSoftwareJan.2010基于SOA的企业异构资源的整合研究邹江杨璐孙瑞志(中国农业大学信息与电气工程学院北京100083)收稿日期:2008-07-22。国家科技支撑计划项目(2006BAD10A0504,2006BAK12B19)。邹江,硕士生,主研领域:计算机网络和网络资源集成。摘要随着Internet的迅速发展,SOA架构和WebService技术被广泛地应用。由于Web
推荐度:
导读第27卷第1期计算机应用与软件Vol127No.12010年1月ComputerApplicationsandSoftwareJan.2010基于SOA的企业异构资源的整合研究邹江杨璐孙瑞志(中国农业大学信息与电气工程学院北京100083)收稿日期:2008-07-22。国家科技支撑计划项目(2006BAD10A0504,2006BAK12B19)。邹江,硕士生,主研领域:计算机网络和网络资源集成。摘要随着Internet的迅速发展,SOA架构和WebService技术被广泛地应用。由于Web
第27卷第1期   计算机应用与软件

Vol 127No .1

2010年1月  Computer App licati ons and Soft w are Jan .2010

基于S OA 的企业异构资源的整合研究

邹 江 杨 璐 孙瑞志

(中国农业大学信息与电气工程学院 北京100083)

收稿日期:2008-07-22。国家科技支撑计划项目(2006BAD10A0504,

2006BAK12B19)。邹江,硕士生,主研领域:计算机网络和网络资源集成。

摘 要  随着I nternet 的迅速发展,S OA 架构和W eb Service 技术被广泛地应用。由于W eb Service 可以在I nternet 上公开部署并

且提供统一的访问接口,为各种异构的、企业内部的或者是不同企业间的系统提供了整合的可能。提出利用S OA 架构和W eb Serv 2ice 技术,针对企业内部信息资源难以共享、使用效率不高,甚至出现的“信息孤岛”等问题,整合异地的、不同服务平台下的分布式系统,协同处理不同业务。

关键词  W eb Service  S OA  遗留系统 信息整合

O N I NTEGRAT IO N O F HETER O GENEO US ENTERPR I SE RESO URCES BASED O N S OA

Z ou J iang  Yang Lu  Sun Ruizhi

(Institute of Infor m ation and Electrical Engineering,China Agricultural U niversity,B eijing 100083,China )

Abstract   A l ong with the rap id devel opment of I nternet technol ogy,S OA fra me work and W eb Service technol ogy are app lied widely .Since W eb Service can be openly dep l oyed on the I nternet and p r ovides unified access interfaces,there is the possibility of integrating vari ous sys 2te m s of heter ogeneousness and intra 2enter p rise or a mong different enter p rises .The paper p resents a scheme of integrating all opatric distributed syste m in different service p latfor m s and collaboratively dealing with different business by using S OA fra me work andW eb Service technol ogy a 2gainst the p r oblem s of intra 2enter p rise inf or mati on res ources in sharing and l ow 2efficiency use or even “the is olated infor mati on island ”.Keywords   W eb service  Service 2oriented architecture (S OA ) Legacy syste m  I nf or mati on integrati on

0 引 言

随着企业信息化的深入与扩大,企业的需求从单一部门的应用上升到企业级的应用。由于企业的传统结构是按照职能来组织各个部门,各部门分别使用不同的系统来协助他们完成规定的职能,各个部门的I T 系统的开发者基本都是采用各自熟悉的开发平台和设计语言,导致不同企业内部系统在平台上的异构。在此基础之上,众多关键的信息被封闭在相互的系统中,信息资源难以共享,对企业整体而言无法实现高效的、完整的业务流程,在企业内部形成一个个“信息孤岛”。如何解决这些问题,更加高效地利用企业内部各系统资源,成为当前许多企业迫切需要解决的问题。

为了解决资源难以共享和“信息孤岛”等问题,提高信息化程度,本文利用S OA 架构和W eb Service 技术对企业内部系统进行改造和集成,在不修改企业内部各子系统(包括企业的遗留系统)原有架构的基础上,局部改变各子系统,实现跨地域跨平台的企业信息资源系统的无缝连接,更加高效地利用企业信息资源。

1 利用SOA 解决信息孤岛问题的研究

1.1 传统企业应用集成方案的不足

传统的企业集成解决方案是利用CORBA 、COM +、J2EE 等技术来构建企业分布式计算系统以达到目的。尽管这些技术给

互联网发展作出了很大贡献,但是它们有一些不足:(1)数据编码格式互不兼容。C ORBA 使用C DR (通用数据格式),DC OM 使用NDR (网络数据表示),不同的数据格式使它们之间的通信变得很复杂。(2)通信协议不同。C ORBA 使用的是II O P,DC OM 使用的是DCE 2RPC,EJB 使用的是R M I,这些协议要求系统客户端与服务器端紧密的耦合,即要求同一类的基本结构。(3)C ORBA 、DCOM 、J2EE 都是基于动态端口分配点到点的远程方法调用机制。大部分企业都在它们共用W E B 服务器和因特网之间放置防火墙,关闭了除W E B 服务端口之外的其他端口,所以它们之间难以穿越防火墙。(4)发现机制的跨平台性不好。CORBA 、J2EE 使用命名服务与交易服务的发现机制,只能实现部分的跨平台性;DC OM 使用注册表,只能应用于W indows 平台,没有跨平台性可言。

1.2 利用S OA 整合资源的优势和现状

面向服务的体系架构S OA 的本质是一切围绕业务对象或业务模型。至于“服务”,只是这些业务模型暴露出来的形式,因为以统一的服务形式暴露出来,更便于不同供应商和客户之间的信息交互[1]。使用S OA 架构和W eb Service 技术来解决企业应用集成问题具有以下优点:(1)简单性:W eb Service 具有统一的编码格式,便于设计、开发、维护和使用。(2)开放标准:W eb Service 是基于开放的一套标准如S OAP 、W S DL 、UDD I 、HT 2TP 等的。(3)灵活性:基于W eb Service 的集成是非常灵活的,

    计算机应用与软件2010年

因为它是使用UDD I,建立在发布服务的应用程序和使用服务的应用程序之间的松散耦合,而且W eb Service可以穿越防火墙。

(4)跨平台性:不管W eb Service用什么语言实现,在什么平台下运行,只需要知道W eb Service的W S DL即可调用W eb Service。因此,基于S OA和W eb Service技术的企业资源的集成得到了许多研究机构和企业的重视,并取得了一定的应用。如国有银行实现国有银行核心业务数据集中管理,支持银行业务创新及服务质量和管理能力的提高[2];对于电信行业,文献[3]提出了基于S OA的事件驱动电信企业应用集成的体系结构;在医学上面有建立医疗数据一致共享的虚拟数据库,使医疗信息系统能够进行统一的信息交互的医院信息系统的集成。

S OA为解决异构资源的统一访问提供了很好的构架,但基于S OA思想解决不同资源的相互访问和资源共享,尤其是遗留系统的信息访问,还有许多技术问题需要解决,主要包括:(1)数据异构性:许多遗留系统有内部私有数据,它们为满足所属系统需求而定义,设计时没有考虑日后与其它数据源间的交换和互操作,这些数据只能被自己对应的系统解释和处理。(2)平台异构性:遗留系统用不同语言开发,如:C/C++、JSP、ASP和PHP技术等,导致遗留系统对操作系统和安装的软件环境等的依赖,造成了遗留系统在平台上的异构性。(3)通信协议异构性:CORBA、EJB、DC OM、W E B系统等使用不同的通信协议,造成了各遗留系统在通信协议上的异构。针对以上问题,本文提出了一个利用S OA架构和W eb Service技术对企业内部系统进行局部改造,整合跨地域、跨平台的企业内部异构系统,更加高效地利用企业资源的解决方案。

2 资源整合的不同层次

针对企业内部为数众多的异构的W eb系统、桌面系统,解决各系统之间信息使用度不高的问题,实现企业系统应用层面上的集成,关键在于如何处理和使用各系统的信息。由于异构系统的多样性,遗留系统存在的数据异构、平台异构和通信协议异构等几个问题,资源整合和应用需要不同层次的处理,我们将其分成以下五层:

(1)资源层 由于企业内部各系统采用不同开发语言和不同开发平台开发,造成信息资源的数据格式的不同,为了统一各业务及信息资源的数据格式,将各种异构信息及业务包装成W eb Service,将不同的数据格式统一成X ML文件形式,实现了数据格式的统一;资源层包括用各种技术实现的W eb信息系统和桌面系统,这些系统提供相关信息及业务,是W eb Service所实现功能的主要来源,也是本平台所有业务功能的资源来源,作为包装层的支撑。

(2)包装层 为了解决企业内部各系统通信协议的不同,采用W eb Service技术标准的S OAP协议进行通信;为了动态调用时能穿越防火墙,平台采用可以穿越防火墙的W eb Service技术;为了实现各子系统的平台无关性,采用了基于S OAP协议通讯的,只需要知道W S DL即可调用的W eb Service技术,在一定程度上也解决了平台异构性的问题。所以设计了使用W eb Service技术实现的包装层。

(3)服务管理层 经过包装层的包装后,各信息资源和业务包装成了众多的W eb Service之后,需要对W eb Service进行统一管理,所以设计了服务管理层。服务管理层引入UDD I规范,UDD I规范是用于创建注册表服务的规范,该注册表服务可以对包装层的W eb Service进行分类,它提供了一套标准数据结构,它对提供W eb Service和访问这些W eb Service的技术要求方面建立了统一的模型。表现层可以搜索UDD I注册表来得到合适的W eb Service,用户在UDD I注册表中注册包装层包装好的W eb Service,在资源整合的实现过程中采用了JUDD I。

(4)数据管理层 包括各种连接在计算机上的、具有相同或不同数据模型的数据库。为了实现对众多数据库的管理,实现了一个异构数据库集成中间件,此中间件是一个逻辑上完整而又具有站点自治性,物理上包括企业内部各异构数据库系统,也在一定程度上解决了数据异构性。以较小的代价,使各种异构数据库之间实现数据的互访及共享,并对用户实现数据的透明访问。通过基于X ML与JAVA的异构数据集成中间件的设计具有跨平台、跨语言和跨领域的特性,在数据层面实现了平台无关性。

(5)表现层 根据企业使用者的需求,划分各部门的业务,对服务管理层UDD I中的服务进行调用和使用,完成相关业务功能,以W eb的方式展现出来。表现层相当于W eb服务中的服务请求者。表现层是对整个异构资源的整合和集成,提供一个展现平台。

因此,资源整合的体系结构,可如图1所示

图1 资源整合的体系结构

此体系结构的资源层、包装层、服务管理层和数据管理层是对遗留系统的包装处理,在这几层完成对W eb Service的管理及业务和数据的处理过程,我们把这部分称为服务模块;表现层是调用并且使用服务模块的服务,以某种方式展现出来,我们把这部分称为请求模块。一旦服务模块的服务(即底层各系统的业务内容和业务逻辑)改变,由于使用了W eb Service统一的接口,请求模块和服务模块可以不需要改变或者只需要做很小的变动(对输入输出参数个数或者类型的改动),即可正常运行。

3 关键技术的实现

资源整合的体系结构中核心是服务模块,由于主要是用W eb Service技术实现,所以服务模块各层中,包装层是最为关键的一层。包装层的基础是资源层,在资源层中包括很多基于不同语言和不同平台开发的系统,如何把这些异构系统的资源以某种标准的方式包装,并对外发布成统一的服务以及表现层如何统一调度和使用这些包装后的服务,成为本系统研究的关键,通过对资源层各系统的分类,我们把遗留系统分为W eb系统和桌面系统,包装层将分别对他们进行包装。

3.1 W eb系统的包装

通过对资源层各W eb系统的分析,包括ASP、PHP和JSP 等技术开发的系统,对这些系统进行归类,以是否基于MVC模式(即表现层、业务层和控制层分离的开发模式)开发为标准,

第1期   

邹江等:基于S OA 的企业异构资源的整合研究53

 在包装过程中主要利用业务层内容,我们把底层资源系统分为

两类:可直接W eb Service 化的资源和不可直接W eb Service 化的资源。可直接W eb Service 化的资源主要包括基于MVC 模式的ASP .NET 和J2EE 平台下的系统;其他W eb 系统归为不可直接W eb Service 化的资源。

研究过程中采用Axis 开发W eb Service 。在Axis 下开发W eb Service 的过程是先需要写一个服务实现类,然后可以通过j w s 方式或wsdd 方式发布并部署W eb Service 。对于可直接W eb Service 化的资源中的J2EE 平台下的信息系统的包装,把除了表现层JSP 页面之外的整个工程打包成一个JAR 包,如新建工程fise,打包成fise .jar 。将工程fise 用到的所有jar 包和fise .jar 全部拷贝到t omcat 的lib 下,同时找到包含需要发布成W eb Service 的方法的类文件如:Ne ws M anage,在server 2config .wsdd 文件中加入需要发布的信息,主要是Ne ws Manage 编译后的文件,如图2所示。可把Ne ws M anage 里面的相关方法发布成W eb Service

图2 wsdd 中添加部分

对于用ASP .NET 下开发的系统[4],在已有系统的W eb 应用程序里面新建一个W eb Service,并在W eb Service 中写要发布为服务的函数,在函数前面加上[W eb M ethod ]可以把此函数发布为一个W eb Service 。此为ASP .NET 开发的系统在包装层的包装方法。到此即把可W eb Service 化的资源发布成为W eb Service 。

对于不可直接W eb Service 化的资源系统,由于所有W eb 信息资源都是以htt p 协议进行通信并以ht m l 文件作为其内容结构组织的,因此本平台采用模拟htt p 消息传递和解析ht m l 文件的方式实现与不可W eb 服务化网站资源的通信,通过对Java 程序的编译并把其发布为W eb Service 。包装不可直接W eb Service 化的资源系统的具体流程如图3所示

图3 不可直接W eb Service 化资源的包装

3.2 桌面系统的包装

企业内部同样存在很多以C /S 系统为主的桌面系统,开发

桌面系统的主要技术有.NET 平台下相关技术、J2EE 平台下相关技术和Del phi 技术等。目前桌面系统包含的大多数应用软件系统都是C /S 形式的两层结构,主要是由客户应用程序和数据库服务器程序组成,二者可分别称为前台程序与后台程序。在暂时没考虑前后台程序在特定的应用中需要特定软件支持的桌面系统这一情况下,我们可以用以下方式把一般桌面系统包装成W eb Service 。把.NET 平台下开发的桌面系统包装成W eb Service 的方法与在.NET 平台下包装可直接W eb Service 化的W eb 资源的包装方法类似,新建一个W eb Service 的工程,导入整个桌面系统前台程序和后台程序的DLL 文件并且在.NET 里

面引用,新写业务方法接口并在需要发布成为W eb Service 的方法前面加上[W eb Method ],把此方法发布成W eb Service,即可以把桌面系统的相关方法包装成W eb Service 。

把J2EE 平台下开发的桌面系统包装成W eb Service 的方法与在J2EE 平台下包装可直接W eb Service 化的W eb 资源的包装方法类似,导入桌面系统的整个前后台系统打包之后的JAR 包,新建一个实现类,并且利用JAR 包导入相关实现方法,编译包含此方法的类,同时修改W S DD 文件可把相关业务发布成W eb Service 。

通过对W eb 系统和桌面系统的包装,我们把资源层的大多数W eb 信息系统和桌面系统的业务内容包装成了W eb Service 。

3.3 W eb Serv i ce 的部署

在资源整合体系结构和资源层的资源系统被包装成W eb Service 的基础之上,在J2EE 平台下利用MVC 开发模式实现了一个资源整合系统。本系统实现过程是使用BE A 、I B M 和A 2pache 等公司大力支持的Axis 开发W eb Service 。Axis 开发W eb Service,首先需要写一个服务类,然后可以通过j w s 或wsdd 方式发布并部署W eb Service 。

目前部署W eb Service 的方式主要包括:即时部署和定制部署。即时部署是使用j w s 文件的方式编写W eb 服务,具有方便、快捷的优点,它可以很快地将已有的类文件发布成W eb 服务,但是这种做法引发的问题是我们必须要将已有类的源码发布出来,另外并不是类中的所有方法都想发布成可通过W eb 服务来访问,这时候需要将这些方法的修饰符改为非public 。而定制部署,又称为service 方式,发布一个service 方式的W eb 服务需要两部分内容:编译后的类文件以及W eb 服务发布描述文件,不像j w s 方式需要类文件的源代码。所以我们摒弃了以j w s 发布方式,采用了更加灵活的、动态的、只需要源代码编译之后的class 文件即可发布的wsdd 方式部署W eb Service 。

4 异构资源的整合实例

在研究关键技术的基础上和在项目应用背景之下,在农业领域选择了一些农业异构系统,这些系统和企业异构系统在技术实现上类似,同时都包括了各种技术实现的W eb 系统和桌面系统,对文中所提出的异构资源整合技术进行验证。选定课题组中新建的二个农业专家系统、七个国内知名农业信息系统和专家系统作为平台的资源层,严格按照本文所提出的资源整合的体系结构,在关键技术研究中所述的包装技术之上,把资源层的资源包装成W eb Service 并发布,通过表现层对服务的调用,初步实现了一个对用户提供业务信息的实时查询、图片的展示及更新、

病虫害的判断及交互处理和兽药管理等功能的信息协

图4 水稻种植主页面

同服务平台,此平台屏蔽了所有资源系统,并且把各个资源系统

(下转第123页)

 

  appStr.set ConcreteStrategy(clientTest,Service A.as pect O f());

  clientTest.contextI nterface();

在实例中,通过采用基于AOP的策略模式的方法,达到了实现J2EE“应用服务”核心模式的目的。

3 对比分析

基于AOP实现J2EE的“应用服务”模式不仅达到了提高业务逻辑的可重用性等效果[11],与面向对象的实现方法相比,基于AOP实现策略模式还有以下优点:

(1)避免了Strategy和Context之间的通信开销 在as pect 中,以Context中某个方法的调用为切入点,建立通知,完成对算法的选择。

(2)能减少策略类的数目 A s pect J支持类型间声明,类型间声明能用来代表其他类型提供域、方法和构造函数的定义,也能实现接口和声明超类型。在as pect中对现有的策略类进行类型间声明,就能满足一部分新的策略类的要求。

(3)解决了混乱问题 在我们定义的方面中,用接口定义角色,使得角色分明;以contextI nterface()方法的调用为切入点,使得我们认识到该方法的重要性;在具体as pect内,具体策略类实现接口,也使得策略类的作用一目了然;可视化的开发工具(如AJDT for ecli p se[4])使得程序更容易阅读。

(4)解决了间接影响问题 由于A s pect J支持对其他类型提供域、方法和构造函数的定义,这样就无需使用对某个对象的引用,可以直接在as pect中添加该对象的属性和方法。AOP实现方法使得程序容易理解,复用性和扩展性都增强。

(5)解决了封装破坏问题 A s pect J通过类型间声明或通知与切入点的关联,无需使用对某个对象的引用,避免了对封装的破坏。如AppStrategy方面的示例代码所示,AppStrategy方面以Client Context.contextI nterface()的调用做为一个切入点,建立一个关于算法选择的通知,并没有把strategyI nterface方法暴露给除Strategy类以外的其他角色。再者,在封装的粒度上,AOP也有效地控制在“方面”范围之内。

(6)增加了复用性 AOP实现方法不仅增加了类的复用性,而且抽象方面StrategyPattern增加了整个策略模式的复用性。

总之,由于AOP定义“方面”来支持“横切关注点”的模块化、局部化,使得需求和对象之间更加和谐一致,提高了代码的可读性、可追溯性、适应性、复用性、扩展性。

4 小 结

OOP成功的模块化了软件系统中的核心关注点却遗漏了繁琐的横切关注点,设计必然遍布交织和分散效应。AOP是在OOP基础上的进一步补充和完善,能有效分离出横切关注点。本文分析了策略模式的面向对象实现方法所存在的问题,设计了一种策略模式的AOP实现方法,能有效解决代码交织和分散所引起的问题,并将这种方法应用在J2EE的“应用服务”核心模式中,最后对策略模式的两种实现方法进行了对比分析。

参考文献

[1]Erich Gamma,等.设计模式:可复用面向对象软件的基础[M].李

英军,等译.北京:机械工业出版社,2000.

[2]Hachani Q,Bardou D.U sing A s pect2O riented Pr ogra mm ing f or Design

Patterns I m p le mentati on.Workshop on Reuse in Object2O riented I nfor2 mati on Syste m s Design,OO I S2002.

[3]金望正,李莹,徐江浩,等.面向方面编程技术研究[J].计算机应

用与软件,2005,22(8).

[4]A s pect J W eb Site.htt p://www.ecli p se.org/as pectj.

[5]Hursh W,Lopes C.Separati on of Concerns,technical report NU2CCS2

95203,College of Computer Science,Northeastern University,1995. [6]Kiczales G,La mp ing J,et al.A s pect2O riented Pr ogramm ing[C]//Pr o2

ceedings of ECOOP’97,Lecture Notes in Computer Science,1997,

1241:2202242.

[7]Bardou D,Dony C.Sp lit Objects:a D isci p lined U se of Delegati on with2

in Objects,Pr oceedings of OOPS LA’96,AC M SI GP LAN Notices,

1996,31(10):1222137.

[8]崔琳,许满武,杨群.一种Delegate机制的设计与分析[J].计算机

科学,2004,31(5).

[9]Baniassad E,Clarke S.A s pect2O riented Analysis and Design:The

Theme App r oach.Addis on2W esley,2005.

[10]M iles R.A s pect J Cookbook.O’Reilly,2004.

[11]Deepak A lur,John Crup i,Dan Malks.Core J2EE(t m)patterns:Best

p ractices and design strategies[M].2nd ed.Prentice Hall PTR,2003.

(上接第53页)

所提供的功能以统一的方式展现出来。图4所示为水稻种植的主页面。

5 结 论

本文提出了在企业内部整合异构系统、解决资源难以共享和使用效率不高等问题的一种思路,提出了一个资源整合的体系结构。通过对企业遗留系统的分析,主要研究如何把遗留系统包装成W eb Service及包装之后服务的部署和管理,初步实现了一个信息协同服务平台,验证了这种思路的可行性。在一定程度上解决了企业内部各个资源系统之间资源难以共享,使用效率不高等问题。

参考文献

[1]刑德海,齐二石,董旭源.基于S OA的国有银行数据集中管理系统

分析与设计[J].北京理工大学学报:社会科学版,2007,9(5). [2]蔡萍,华庆一.基于S OA/EDA电信企业应用集成技术研究[J].计

算机技术与发展,2007,17(11):12170.

[3]岳昆,王晓玲,周傲英.W eb服务核心支撑技术:研究综述[J].软

件学报,2004,15(03):4282442.

[4]刘英丹,董传良.利用W eb Service实现企业应用集成[J].计算机

应用,2003,23(7):1242126.

[5]王勇.W eb服务设计时系统的研究与实现[J].计算机工程与应

用,2008,44(1):87290.

[6]凌晓东.S OA综述[J].计算机应用与软件,2007,24(10):1222124.

[7]陈思,夏阳.基于W eb Service的虚拟社区平台的研究与设计[J].

计算机工程与设计,2007,28(10):244622449.

文档

基于SOA的企业异构资源的整合研究

第27卷第1期计算机应用与软件Vol127No.12010年1月ComputerApplicationsandSoftwareJan.2010基于SOA的企业异构资源的整合研究邹江杨璐孙瑞志(中国农业大学信息与电气工程学院北京100083)收稿日期:2008-07-22。国家科技支撑计划项目(2006BAD10A0504,2006BAK12B19)。邹江,硕士生,主研领域:计算机网络和网络资源集成。摘要随着Internet的迅速发展,SOA架构和WebService技术被广泛地应用。由于Web
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top