基于SOA体系结构的ERP应用研究

2010/6/22 10:17:58【作者】佚名

引言

企业资源计划(Enterprise Resources Planning,ERP)在我国已被越来越多企业认同和接受,实施ERP已成为企业信息化的重要标志之一。传统的ERP系统主要是面向企业内部管理的,其体系结构缺少灵活性,IT组织很难对不同的功能和系统进行集成,很难对变化的商务需求和竞争需求做出及时反应。只要不是由单独的一个开发商来提供所有的功能,就一定存在着不严格的应用程序。主要问题是:

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

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

如何使企业原有系统间实现无缝集成;应用系统具有快速可重构性;动态调整其结构和行为,以支持这种持续进行的企业管理创新与流程重组优化;构建适合于企业信息集成的平台,已成为当前的一个挑战。为了解决现有ERP系统难以重构,难以与企业之外的供应商、分销商集成的问题,提出基于面向服务架构(Service Oriented Architecture,SOA)的ERP系统体系结构。该结构充分体现了在Web服务平台上实现跨平台、语言独立、松散耦合的异构应用交互和集成,使得建立在此平台上的ERP系统更具易用性和可扩展性。

1 面向服务架构SOA

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

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

(1)服务请求者。它是一个应用程序、一个软件模块,或需要一个服务的另一个服务。它发起对注册代理中的服务查询,通过传输绑定服务,并且执行服务功能,服务请求者根据接口契约来执行服务;

(2)服务提供者。它是一个可通过网络寻址的实体,可以接受和执行来自请求者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务请求者可以发现和访问该服务;

(3)服务注册代理。它是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者接口。

图1 SOA协作关系

SOA中的每个实体都扮演着服务提供者、请求者和注册代理这三种角色中的某一种(或多种)。面向服务体系结构中的操作包括:

(1)发布。为使服务可访问,需要发布服务描述,使服务请求者可以发现和调用它;

(2)查询。服务请求者定位服务,方法是在服务注册中心查询到满足标准的服务;

(3)绑定和调用。在检索完服务描述之后,服务请求者继续与服务描述中的信息调用服务。


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

为了解决现有ERP存在的问题,实现互联网环境下企业之间的供应链集成和响应企业内部流程重组的变化,要求ERP系统具有给外部企业提供服务和从外部企业获取服务的功能。为了能够灵活地实现企业内部流程重组的要求,可以把ERP系统功能分解成粗粒度服务和细粒度服务,然后通过服务组合实现ERP系统的整体功能。当重组企业业务流程时,通过重新组合已编写的服务部件即可容易地实现改造。为此,提出了基于SOA架构的ERP系统体系结构,如图2所示。该系统把服务定义为三个抽象级别:操作、服务和业务流程。设计时采用自顶向下的方式,对主要功能进行分析,确定业务流程,然后抽象成服务,再通过操作重用服务,实现主要功能或生成新的功能。

图2 基于SOA架构的ERP系统体系结构

在图2所示的ERP系统体系结构中,ERP各个业务模块的功能作为粗粒度服务发布,而每个模块的功能又由多个子功能组成。这里把这些子功能作为细粒度服务发布,而一个粗粒度服务由多个细粒度服务组合而成,每个细粒度服务都利用数据访问逻辑组件对数据库表进行查找、更新、保存等操作。在该系统中,本地企业提供的服务在本地服务注册中心注册,可由本地企业客户端访问;而需要提供给合作企业访问的服务,则发布到公共注册中心,供外部合作企业访问。客户的请求通过通道控制(公司网关)被传递给主控制器。使用Web Services Gateway,则来自客户的请求可以被转换成服务所要求的任何消息协议。请求服务的客户端通过web环境显示用户界面,用SOAP客户接口实现与服务提供方和服务注册中心通信,达到查询服务和绑定服务的目的。
 

【打印】
查看完整文章 | 频道首页 | 网站首页