搜索
您的当前位置:首页正文

基于SOA的ERP系统体系结构的研究

来源:意榕旅游网
第27卷第2期

 

2007年2月

文章编号:1001-9081(2007)02-0413-02

计算机应用

ComputerApplications

 

Vol.27No.2Feb.2007

基于SOA的ERP系统体系结构的研究

汪清明

(广东轻工职业技术学院计算机工程系,广东广州510300)

(wangqm@gdqy.edu.cn)

摘 要:分析了现有ERP系统的局限性,指出现有ERP系统不能适应企业的业务流程重组、不能灵活地支持供应链管理功能,在分析了面向服务架构(SOA)的特点后,提出了面向服务架构的ERP系统体系结构,给出了基于J2EE平台的面向服务架构的具体实现技术。

关键词:面向服务架构;ERP;体系结构中图分类号:TP302.1  文献标识码:A

StudyofSOA2basedERPsystemarchitecture

WANGQing2ming

(DepartmentofComputerEngineering,GuangdongIndustryTechnicalCollege,GuangzhouGuangdong510300,China)

Abstract:AfteranalyzingthelimitationofcurrentERPsystems,thispaperpointedoutthatthecurrentERPsystemscouldnotsatisfytheneedsofenterprisesincludingthebusinessprocessreorganizationandthesupportforsupplychainmanagementfunction.InspiredbythepropertyofServiceOrientedArchitecture(SOA),anewSOA,whichwasspecializedforERPsystem,wasproposedinthispaper.Inthemeantime,aJ2EE2basedimplementationsystemwasalsoillustratedinthispaper.

Keywords:ServiceOrientedArchitecture(SOA);ERP;systemarchitecture1 现有ERP系统的局限性企业资源计划ERP是由美国GartnerGroupInc提出的一整套企业管理系统体系标准,在近二、三十年来,ERP系统的应用得到了极大的发展。ERP系统首先成为制造业提高管理水平、降低成本、缩短交货期的有力工具,并进而在其他行业都得到了广泛的应用。现有的ERP系统主要是面向企业内部管理的,其体系结构缺少灵活性,主要问题是[1]:

1)不能适应企业经营管理模式的变化,企业组织架构、经营管理模式的变化导致原有的ERP系统要重新开发或做较大的改进,造成投资浪费。

2)不能灵活地支持供应链管理功能,不能实现企业与供应商、企业与分销商之间的信息集成,以及不同软件之间的互操作。

为了解决现有ERP系统难以重构,难以与企业之外的供应商、分销商集成的问题,本文提出了基于面向服务架构(SOA)的ERP系统体系结构。

其服务发布到服务注册代理的一个目录上,当服务请求者需要调用该服务时,它首先利用服务注册代理提供的目录查找服务,服务注册代理返回调用该服务的信息,服务请求者根据返回的信息调用服务提供者提供的服务,当服务请求者从服务注册代理得到调用所需服务的信息后,通讯在服务请求者和服务提供者之间直接进行,无需经过服务注册代理。

图1 SOA体系结构

面向服务架构最流行的一种实现方法是WebServices技术[3],WebServices技术使用一系列标准和协议实现相关的功能,其中XML作为WebServices技术的基础,是开放环境下描述数据和信息的标准技术,服务提供者可以用WSDL(Web服务描述语言)描述Web服务,用UDDI(统一描述、发现和集成)向服务注册代理发布和注册Web服务,服务请求者通过UDDI进行查询,找到所需的服务后,利用SOAP(简单对象协议)来绑定、调用这些服务。

2 面向服务架构的特点和实现技术

面向服务架构[2](ServiceOrientedArchitecture,SOA)是

一种面向服务的企业应用体系结构,是一种分布式的软件架构模型。在该模型中,任何业务功能都被作为提供的一个服务使用,应用程序的不同功能(服务)通过这些服务之间定义的结构和合约联系,应用系统可以看作是一系列服务的集成。

SOA的体系结构由三个参与者和三个基本操作构成,三个参与者分别为服务提供者、服务请求者和服务注册代理,三个基本操作分别是发布、查找和绑定,如图1。服务提供者将

3 基于SOA的ERP系统体系结构

为了实现互连网环境下企业之间的供应链集成和响应企业内部流程重组的变化,要求ERP系统具有给外部企业提供服务和从外部企业获取服务的功能,为了能够灵活地实现企

  收稿日期:2006-08-04;修订日期:2006-10-23  作者简介:汪清明(1965-),男,湖南益阳人,高级工程师,副教授,主要研究方向:ERP系统、企业信息集成、Web服务.

414    计算机应用2007年

业内部流程重组的要求,可以把ERP系统功能分解成粗粒度和细粒度的服务,通过服务组合实现ERP系统的整体功能。当重组企业业务流程时,通过重新组合已编写的服务部件即

可容易的实现。为此,本文提出了基于SOA的ERP系统体系结构,如图2所示。

图2 基于SOA的ERP系统体系结构  在图2所示的ERP系统体系结构中,ERP各个业务模块的功能作为粗粒度服务发布,而每个模块的功能又是由多个子功能组成,我们把这些子功能作为细粒度服务发布。一个粗粒度服务由多个细粒度服务组合而成,如销售管理服务就由销售报价、客户订单、客户出货、客户档案等细粒度服务组合而成,每个细粒度服务利用数据访问逻辑组件对数据库表进行查找、更新、保存等操作。本地企业提供的服务在本地服务注册中心注册,可由本地企业客户端访问,而需要提供给合作企业访问的服务,则发布到公共注册中心,供外部合作企业访问。请求服务的客户端通过Web环境显示用户界面,利用SOAP客户接口实现与服务提供方和服务注册中心通讯,达到查询服务和绑定服务的目的。

来实现,JSTL标记将辅助完成条件处理和对WEB服务所返回XML数据的分析。服务请求方包括一个servlet,负责解释客户端输入的HTTP请求,根据HTTP请求,利用JAXR发现

UDDI服务注册表中的服务,然后根据请求内容创建一条SOAPMessage,利用JAXM把SOAPMessage提交给服务提供方

调用相关的Web服务,由Web服务程序处理数据库,最后把结果返回到服务请求方。

4 基于SOA的ERP系统的实现技术

SOA的主要实现方法是WebServices技术,而实现Web

服务的主流开发平台有J2EE平台和Microsoft.net平台,由于用J2EE平台开发的系统具有平台无关性、安全性、可伸缩性、不同供应商实现方案之间的可移植性等若干优点而得到了广泛的应用。图3是采用J2EE平台实现ERP系统的Web服务体系结构。其中JAXR(JavaAPIforXMLRegistries,用于XML注册表的JavaAPI)使得应用程序能够在注册表中注册、或者查询其他公司提供的Web服务,JAXM(JavaAPIforXMLMessaging,用于XML消息交换的JavaAPI)提供了Web服务环境中的异步和消息交换功能,并可以通过内部网和Internet进行XML文档交换,JAXM是基于SOAP1.1规范和SOAP附件定义的消息交换协议的一种API框架。

服务提供方用JAXR向UDDI服务注册表发布Web服务,客户端的用户界面用浏览器形式表示,使用JSP和JSTL

图3 基于J2EE的Web服务体系结构

5 结语

基于SOA的ERP系统体系结构,把ERP系统模块表示成粗粒度服务,而每一个粗粒度服务又可以分解成多个细粒度服务,每一个细粒度服务完成一项单一功能,通过调用数据访问逻辑组件直接操作数据库表,通过细粒度服务的不同组合可实现ERP系统的不同业务功能和业务流程,从而达到企业业务流程重组的目的。另一方面,把需要向外部企业提供的服务发布到公共服务注册代理供合作伙伴访问,同时也通过公共服务注册代理查找合作伙伴提供的服务,实现企业之

(下转第417页) 

第2期

间耗费T(qi,pj)为:

胡乃静等:基于低耗费调度的网格数据库查询中间件的设计

3)子查询涉及6个数据库节点中的数据。

k

417    

T(q,p)=Tcomm+Tque=

ij

∑BW

i=1

ωi

(i,j)

u+proj

实验与文献[9]中的DAG调度方法和文献[8]中min2

(4)

min任务的调度相比较,结果如图2所示。

4)最优耗费模型

从图中可以看出,在只涉及一个节点的情况下,本文的

LCQM略低于网格中的DAG和min2min,但差别不大,随着子

因此,(qi,(pm,…,pz))中确定最优的节点的方法是计算查询qi分别在节点(pm,…,pz)中各自的耗费T(qi,pj)(m≤j≤

z)中选择最小的耗费,即:

p(优)=min(T(q,p),…,T(q,p),…,T(q,p)),1≤j≤k

i1

ij

ik

查询涉及节点的增多,在涉及三个节点时,由于考虑了通讯等情况,LCQM的查询效率要优于网格中的DAG和min2min,在涉及6个节点时,LCQM的查询效率优势明显,说明查询中间件对于分布式的查询有明显的效率提高。

(5)

3.2 优化调度算法

5 结语

网格数据库中的子查询的执行节点的调度大多采用网格的计算任务的调度方法,本文在分析子查询与网格节点的数据关联的基础上,建立了最小查询耗费调度模型,并设计了

LCQM中间件,实现了低耗费查询调度计划算法,给出了有关

输入:存放各个子查询的数组q[]、存放qi的相应的各个节点p1,…,pk的数组q[][]、有关的耗费参数s[]。

输出:查询调度计划算法:

1.2.3.4.5.

 fori=1tomdo

z=󰂡,s=0//取第一个子查询,并进行有关的初始化

forj=1tondo

compute(T(qi,pj),qi[],[])

//取qi的一个执行节点,计算T(qi,pj)的时间耗费ifcompute(T(qi,pj),qi[])z=pj;s=compute(T(qi,pj),qi[])

的实验验证,丰富了网格数据库中子查询的调度方法。

网格数据库中网格环境的动态变化,存在局部代价参数不可得、不精确、不完全或变化的情况,本文的下一步工作是根据环境参数的变化,对正在实施中的子查询的调度计划进行动态的适应性优化调度。参考文献:

[1] 王珊,张坤龙.网格环境下的数据库系统[EB/OL].www.china2

grid.net,2005.[2] CZAJKOWSKIK,FOSTERI,KARONISN,etal.AResource

ManagementArchitectureforMetacomputingSystems[A].Springer2Verlag,2004.62-82.

[3] RAMANV,NARANGI,CRONEC,etal.ServicesforDataAc2

cessandDataProcessingonGrids[A].GGFDocumentGFD.14[C].GlobalGridForum,2003.

[4] ZHOUYL,OOIBC,TANK2L,etal.Anadaptabledistributed

queryprocessingarchitecture[Z].DataKnowl.Eng.,Toappear,2005.

[5] BARUC,MOORER,RAJASEKARA,etal.Thesdscstoragere2

sourcebroker[EB/OL].http://www.npaci.edu/SRB,2006.[6] SMITHJ,SAMPAIOS,WATSONP.Thedesign,implementation

andevaluationofanodmgcompliant,parallelobjectdatabaseserver[J].DistributedandParallelDatabases,2004,16(3):275-319.[7] ZHOUYL,OOIBC,TANK2L,etal.Anadaptabledistributed

queryprocessingarchitecture[Z].DataKnowl.Eng.,Toappear,2005.

[8] BLYTHEJ,JAINS,DEELMANE,etal.Taskschedulingstrate2

giesforworkflow2basedapplicationsingridsClusterComputingand

In4th

WorkshoponJobSchedulingStrategiesforParallelProcessing[C].

//若在pj的耗费比最低的小,则替换为最低值,并选定

该节点为最优节点

6.7.8.

Endifendforendfor

算法分析:算法分为两重循环,外重循环为针对q[]中未

分派查询节点的每一个子查询qi,内重循环为子查询qi在算法3中涉及到的每一个可能的执行节点。算法3步到6步为计算qi在每一个可能的查询节点发生的耗费,并选择最低的耗费,从而产生查询调度计划。可以明显看出在有i个子查询,j个节点的情况下,整个算法的复杂度为O(ij)。

4 实验

图2 实验结果theGrid[J].CCGrid2005,2005,(2):759-767.

[9] DAILH,SIEVERTO,BERMANF,etal.Schedulinginthegrid

applicationdevelopmentsoftwareproject[A].Gridresourcemanage2ment:stateoftheartandfuturetrends[C].KluwerAcademicPub2lishersGroup,2003.

为验证LCQM中间件的调度算法,进行了测试实验,子查询q分为三种环境:

1)子查询只涉及1个数据库节点中的数据;2)子查询涉及3个数据库节点中的数据;

(上接第414页)

间的业务交互,保证企业之间的合作能在ERP系统中顺利实施。参考文献:

[1] 杨颖,杨磊.基于WebServices的企业e-ERP系统集成模型

[J].计算机应用研究,2005,22(3):210-213.

[2] 徐罡,黄涛,刘绍华,等.分布应用集成核心技术研究综述[J].计

算机学报,2005,28(4):433-444.

[3] 廖军,谭浩.新一代开放分布式处理技术—WebServices[J].计

算机应用,2004,24(8):5-9.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top