1 现有ERP系统的局限性
企业资源计划ERP是由美国Ganner Gmup Inc提出的一整套企业管理系统体系标准,在近二、三十年来,ERP系统的应用得到了极大的发展。ERP系统首先成为制造业提高管理水平、降低成本、缩短交货期的有力工具,并进而在其他行业都得到了广泛的应用。现有的ERP系统主要是面向企业内部管理的,其体系结构缺少灵活性,主要问题是:
1)不能适应企业经营管理模式的变化,企业组织架构、经营管理模式的变化导致原有的ERP系统要重新开发或做较大的改进,造成投资浪费。
2)不能灵活地支持供应链管理功能,不能实现企业与供应商、企业与分销商之间的信息集成,以及不同软件之间的互操作。
为了解决现有ERP系统难以重构,难以与企业之外的供应商、分销商集成的问题,本文提出了基于面向服务架构(SOA)的ERP系统体系结构。
2 面向服务架构的特点和实现技术
面向服务架构(service 0riented Architecture,s0A)是一种面向服务的企业应用体系结构,是一种分布式的软件架构模型。在该模型中,任何业务功能都被作为提供的一个服务使用,应用程序的不同功能(服务)通过这些服务之间定义的结构和合约联系,应用系统可以看作是一系列服务的集成。SOA的体系结构由三个参与者和三个基本操作构成,三个参与者分别为服务提供者、服务请求者和服务注册代理,三个基本操作分别是发布、查找和绑定,如图1。服务提供者将其服务发布到服务注册代理的一个目录上,当服务请求者需要调用该服务时,它首先利用服务注册代理提供的目录查找服务,服务注册代理返回调用该服务的信息,服务请求者根据返回的信息调用服务提供者提供的服务,当服务请求者从服务注册代理得到调用所需服务的信息后,通讯在服务请求者和服务提供者之间直接进行,无需经过服务注册代理。面向服务架构最流行的一种实现方法是web senrices技术,web Services技术使用一系列标准和协议实现相关的功能,其中xML作为web Services技术的基础,是开放环境下描述数据和信息的标准技术,服务提供者可以用wsDL(Web服务描述语言)描述web服务,用UDDI(统一描述、发现和集成)向服务注册代理发布和注册web服务,服务请求者通过VDDI进行查询,找到所需的服务后,利用SOAP(简单对象协议)来绑定、调用这些服务。
图1 SOA 体系结构
3 基于SOA的ERP系统体系结构
为了实现互连网环境下企业之间的供应链集成和响应企业内部流程重组的变化,要求ERP系统具有给外部企业提供服务和从外部企业获取服务的功能,为了能够灵活地实现企业内部流程重组的要求,可以把ERP系统功能分解成粗粒度和细粒度的服务,通过服务组合实现ERP系统的整体功能。当重组企业业务流程时,通过重新组合已编写的服务部件即可容易的实现。为此,本文提出了基于SOA的ERP系统体系结构,如图2所示。
图2 基于SOA的ERP系统体系结构
在图2所示的ERP系统体系结构中,ERP各个业务模块的功能作为粗粒度服务发布,而每个模块的功能又是由多个子功能组成,我们把这些子功能作为细粒度服务发布。一个粗粒度服务由多个细粒度服务组合而成,如销售管理服务就由销售报价、客户订单、客户出货、客户档案等细粒度服务组合而成,每个细粒度服务利用数据访问逻辑组件对数据库表进行查找、更新、保存等操作。本地企业提供的服务在本地服务注册中心注册,可由本地企业客户端访问,而需要提供给合作企业访问的服务,则发布到公共注册中心,供外部合作企业访问。请求服务的客户端通过web环境显示用户界面,利用SOAP客户接口实现与服务提供方和服务注册中心通讯,达到查询服务和绑定服务的目的。
4 基于SOA的ERP系统的实现技术
SOA的主要实现方法是web service8技术,而实现web服务的主流开发平台有J2EE平台和Micmsoft.net平台,由于用J2EE平台开发的系统具有平台无关性、安全性、可伸缩性、不同供应商实现方案之间的可移植性等若干优点而得到了广泛的应用。图3是采用J2EE平台实现ERP系统的web服务体系结构。其中JAxR(Java API for xML Registries,用于xML注册表的Java API)使得应用程序能够在注册表中注册、或者查询其他公司提供的web服务,JAxM(Java API for xMLMessa舀ng,用于xML消息交换的Java API)提供了web服务环境中的异步和消息交换功能,并可以通过内部网和Intemet进行xML文档交换,JAXM是基于s0APl.1规范和SOAP附件定义的消息交换协议的一种API框架。
服务提供方用JAxR向UDDI服务注册表发布web服务,客户端的用户界面用浏览器形式表示,使用JsP和JsTL来实现,JSrI.L标记将辅助完成条件处理和对wEB服务所返回xML数据的分析。服务请求方包括一个servlet,负责解释客户端输入的HTTP请求,根据HTTP请求,利用JAxR发现UDDI服务注册表中的服务,然后根据请求内容创建一条SOAPMessage,利用JAxM把SOAPMes8age提交给服务提供方调用相关的web服务,由web服务程序处理数据库,最后把结果返回到服务请求方。
图3 基于J2EE的web服务体系结构
5 结语
基于SOA的ERP系统体系结构,把ERP系统模块表示成粗粒度服务,而每一个粗粒度服务又可以分解成多个细粒度服务,每一个细粒度服务完成一项单一功能,通过调用数据访问逻辑组件直接操作数据库表,通过细粒度服务的不同组合可实现ERP系统的不同业务功能和业务流程,从而达到企业业务流程重组的目的。另一方面,把需要向外部企业提供的服务发布到公共服务注册代理供合作伙伴访问,同时也通过公共服务注册代理查找合作伙伴提供的服务,实现企业之间的业务交互,保证企业之间的合作能在ERP系统中顺利实施。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于SOA的ERP系统体系结构的研究