|
解读如何构建基于SOA的ERP体系架构
本文提出基于SOA的ERP系统体系架构的研究,目的在于提高ERP产品的柔性和灵活性,使之能够满足企业经常发生的业务流程变化及信息系统集成的需求,对新一代ERP产品的开发和生产有积极的指导作用,通过软件复用加快ERP软件生产,延长ERP产品的生命周期。
在面向服务的体系结构中主要的操作有:1.发布:使服务提供者可以向服务注册中心注册自己的功能及访问接口。2.发现:使服务请求者可以通过服务注册中心查找特定种类的服务。3绑定和调用:在获得服务描述信息之后,服务消费者据此去调用服务。 目前,实现SOA的技术很多,比如Web Services、CORBA等,这些技术一个很重要的共同点就是支持在不同的平台上、以不同语言编写的各种程序以基于标准的方式相互通信。例如,作为SOA的一种实现手段,Web服务提供了基于可扩展标记语言(XML)的标准接口,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成性等特点,能够良好地满足SOA应用模式的需求。目前已经有一系列基于XML的Web服务标准被业界广泛接受,形成了Web服务的核心技术。服务的提供者可以用Web服务描述语言(Web Services Description Language, WSDL)描述Web 服务:用统一描述、发现与集成(UniversaI Description,Discovery and Integration,UDDI)注册中心发布、注册Web服务;服务的请求者通过UDDl进行查询,发现所需的服务后可以利用简单对象访问协议(Simpie Object Access Protocol,SOAP)来绑定、调用这些服务。 (三)SOA的特点 与传统开发方法相比,SOA架构具有以下几个典型特点: 1.标准化的接口。近年来出现的两个重要标准XML和Web服务使得SOA得以真正实现。Web服务使应用功能得以通过标准化接口提供,并可基于标准化传输方式、采用标准化协议进行调用。采用XML,开发人员无须了解特定的数据表示格式,便能够在这些应用问交换数据。 2.松耦合性。通过接口中立,避免了修改一个服务的代码对其他服务的影响,使开发者能够大量的迁移或取代单个服务而不影响总的组合应用程序。 3.位置透明性。位置透明性指的是SOA系统中的所有服务对于他们的调用来说都是位置透明的,也就是说每个服务的调用者只需要知道他们调用的是哪一个服务,但并不需要知道所调用服务的物理位置在哪。 4.服务的可重用性。服务的可重用性设计显著地降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文中,独立底层实现和客户需求的变更。 从SOA的几个重要特征可以看出,SOA具备了标准化、可操作、可组装的特性,提供了一个通用的、可苴操作的和有弹性的行业标准架构,可以在软件基础架构中建立一系列支持商业模型的可重复利用的服务,这些服务由不同应用系统的组件构成,能够帮助企业实现适应商业流程变化的需求。 三、基于SOA的ERP体系架构模型 为了解决传统ERP系统存在的问题,可以将ERP系统功能分解成粗粒度和细粒度的服务,通过服务组合实现ERP系统的整体功能。当企业业务流程重组时,通过重新组合已编写的服务部件即可容易的实现。为此,本文提出了一种基于SOA的多层企业ERP系统应用框架,在对服务进行归类和粒度划分基础上,强调了企业内部服务的开发部署与管理控制,能够有效支持企业业务过程的快速重构,并考虑了和其他系统集成的问题,如图2所示。 如图2所示,该框架由下而上包括企业资源层、核心服务层、业务流程层、服务应用层。其中企业资源层是企业软、硬件资源的逻辑表示;核心服务层将企业资源服务化,成为遵循SOA规范的服务提供者;业务流程层是基于成组技术的服务归类和面向业务的服务组织,从而形成更大粒度的服务组件;服务应用层为企业应用求解提供方法和工具。各层的功能分别叙述如下: (一)企业资源层:该层主要包括企业现有系统,如CRM、SCM、OA和遗留系统等。这些应用系统目前在企业中对业务起了一定的支撑作用,今后仍将在企业内使用,但各系统之间交互能力较差,数据和功能难以重用。典型的应用实例是:企业现在需要一个面向客户的订单查询系统。如果使用现有系统,客户首先要登录CRM验证身份、获取客户信息,然后须通过ERP查看订单详情,最后可能还得进入SCM中获得订单当前的执行状态等。这时,SOA的作用是将现有系统的某些功能封装成服务以便重用、集成或组合成流程。 (二)核心服务层:核心服务层将企业资源包装为符合SOA规范的能够完成特定任务的功能单元。核心服务层为应用系统提供原子服务,所谓原子,这里指从服务的层次和组织角度来看,它是一个基本功能实体,不能向下分割,即原子服务是系统中的最小服务颗粒,它不包含其他服务,也不是由其他服务组成的。然后,根据成组技术原理,将功能相同或相近的服务聚集形成服务簇(即细粒度服务),以简化复杂和庞大的服务视图,方便服务的分类组织和管理。同时,通过对细粒度组件进行流程的编排,使其不但能够协作产生粗粒度服务组件,还能够根据需要,通过改变流程的编排,动态适应业务变化引起的组件功能的改变。在业务变化涉及到组件服务的内部服务时,又能够通过修改配置,重新组装细粒度服务组件,重构粗粒度服务,以适应企业业务流程的动态变革的需求。 (三)业务流程层:业务流程是具体的企业业务活动过程的抽象表达,是面向业务功能的服务扩展逻辑。以业务需求为导向,选择合适的集成服务或原子服务,利用工作流技术,组合形成业务服务流,直接支持企业业务过程的执行。业务服务流作为支撑面向服务的企业应用的粗粒度服务组件,是支持业务过程快速重构的关键。利用服务流描述语言(WDSL)定义服务流,定义主要包括所采用的服务及服务间规约,当业务流程改变时,可以调整服务流定义或是更换所使用的服务快速形成新的服务流,以适应需求的变化。 (四)服务应用层:服务应用层为用户提供GUI接口,调用企业应用服务。根据SOA机制,只要权限满足要求,原子服务、集成服务和业务服务流均可直接被用户(应用)调用。服务应用层为用户实现友好的图形界面和简洁的应用服务访问接口。
责编:刘沙
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
推荐博客
|
|