E圜圜 ● ’ TeChn0。 y F0ru 基于SOA的ERP' ̄Ii;系架构的研究 重庆理工大学计算机学院 【摘要1为锯决现存ElzP系统不能灵活响应业务流程重组、不维灵话地集威其他应田系统等f1题,本文首先分析1。了面向暇务架构(§凸A)酌特 点,然后针对f。1题提出1了一个基于§DA酌EI2 系统体乐架构酌解决方案,最后总结了§oA应异j到5 领域酌优势,得出采用 OA架构锯决方 案可提高EI2P产品酌柔性和灵活性,取而提高企业的核, 竞争力的结论。 【关键词】面向暇秀架构 OA吕RP瞻务体乐架构 作者简介:陈丰(1 971一),男,汉、海南、讲师,硕士,主要研究方向为信息系统开发、企业资源计划、数据仓库与数据挖掘和嵌入式系统。 一、引言 Jntegrafion,UDDI)注册中心发布、注册 近年来,ERP在我国已被越来越多的企业 Web ̄JE务;服务的请求者通过UDDl进行查 认同和接受,实施ERP已成为企业信息化的重 询,发现所需的服务后可以利用简单对象访 要标志之一。但目前大多数企业在应用ERP系 问协议(Simple 0bject Access P rotocol, 统时均面临着以下两方面的问题: SOAP)来绑定、调用这些服务。 (一)系统重用和集成问题。首先, (三)S0A的特点 ERP系统其重点在于企业内部的管理,而对 与传统开发方法相比,S0A架构具有以 于企业外部信息的管理,其却很少涉及,因 图1 S0A的体系结构 下几个典型特点: 此,不能实现企业与供应商、企业与分销商 在面向服务架构中主要有三种角色: 1 标准化的接口。近年来出现的两个重 之问的信息集成。其次,企业在信息化建设 1 服务消费者:利用服务注册中心查找 要标准XML和Web服务使得SOA得以真正实 的过程中,由于多年来业务流程的变化和lT技 所需的服务,然后使用该服务。2服务提供 现。WebBS.务使应用功能得以通过标准化接 术的发展,使企业内部沉淀了各种应用系 者:是创建服务的实体,并且对使用自身服 口提供,并可基于标准化传输方式、采用标 统。而这些不同的应用系统之间及它们与 务的请求进行响应。3.服务注册中心:注册 ;隹化协议进行调用。采用XML,开发人员无 ERP系统之间不能直接通信,成为一个个 已经发布的服务,对其进行分类,并提供搜 须了解特定的数据表示格式,便麓够在这些 “信息孤岛”。而当企业总是希望能尽可能 索服务。它相当于一个服务信息的数据库, 应用问交换数据。2松耦合性。通过接口中 重用而不是替换遗留系统来实现新的业务要 为服务提供者与服务消费者提供一个平台, 立,避免了修改一个服务的代码对其他服务 求,从而降低成本,提高投资回报率。这就 使两者可以各取所需,同时服务注册中心要 的影响,使开发者能够大薰的迁移或取代单 带来了异构系统集成的困难。 有一个通用的标准,使服务提供商提供的服 个服务而不影响总的组合应用程序。3.位置 (二)流程敏捷化问题。日趋激烈的市 务符合这个标准,这样,服务消费者使用的 透明性。位置透明性指的是S0A系统中的所 场竞争要求企业能够迅速响应外部环境的变 服务才可以跨越不同的服务提供者。 有服务对于他们的调用来说都是位置透明 化而及时调整现有的业务流程,而传统的 在SOA的体系结构中,每个实体的角色 的,也就是说每个服务的调用者只需要知道 ERP系统刚性太强,柔性太差,当企业外部 不是固定不变的,一个实体可以同时充当以 他们调用的是哪一个服务,但并不需要知道 环境和企业内部组织结构、业务流程发生变 上三种角色中的一个或多个。 所调用服务的物理位置在哪。4.服务的可重 化时,ERP系统不能进行适应性的调整,造成 在面向服务的体系结构中主要的操作 用性。服务的可重用性设计显著地降低了成 投资浪费,抑制了企业的发展。 有:1 发布:使服务提供者可以向服务注册 本。为了实现可重用性,服务只工作在特定 如何使ERP系统具有快速可重构性,能动 中心注册自己的功能及访问接口。2发现: 处理过程的上下文中,独立底层实现和客户 态调整其结构和行为,以支持企业的管理创 使服务请求者可 通过服务注册中心查找特 需求的变更。 新与流程重组优化,并能和企业现有的其他 定种类的服务。3绑定和调用 在获得服务 从SOA的几个重要特征可以看出, 应用系统实现无缝集成,已成为当前的一个 描述信息之后,服务消费者据此去调用服 SOA具备了标准化、可操作、可组装的特 挑战。因此。本文基于软件复用、软件构件 务。 性,提供了一个通用的、可互操作的和有弹 等技术,提出一种基于S0A的ERP体系架构模 目前,实现SOA的技术很多,比如Web 性的行业标准架构,可以在软件基础架构中 型,以满足企业业务流程重组的需要并具有 Services、C0RBA等,这些技术一个很重要 建立一系列支持商业模型的可重复利用的服 可靠性、复用性、易扩展性和动态可变性的 的共同点就是支持在不同的平台上、以不同 务,这些服务由不同应用系统的组件构成, 特点,实现为企业“量身定制”。 语言编写的各种程序以基于标准的方式相互 能够帮助企业实现适应商业流程变化的需 通信。例如,作为S0A的一种实现手段, 求。 =、面向服务架构(S0A)的工作原理 Web ̄JE务提供了基于可扩展标记语言 f一)SOA的定义 (XML)的标准接口,具有完好的封装性、 三、基于S0A的ERP体系架构模型 面向服务架构是一个组件模型,它将应 松散的耦合性、协议规范的标准性以及高度 为了解决传统ERP系统存在的问题,可以 用程序的不同功能单元(称为服务)通过其 的可集成性等特点,能够良好地满足SOA应 将ERP系统功能分解成粗粒度和细粒度的服 问定义良好的接口和契约联系起来。服务是 用模式的需求。目前已经有一系列基于 务,通过服务组合实现ERP系统的整体功能。 指定义良好的、自包含的、不依赖于上下文 XML的WebSE务标准被业界广泛接受,形成 当企业业务流程重组时,通过重新组合已编 和其他服务的一组功能。接口是采用中立的 了Web服务的核心技术。服务的提供者可以 写的服务部件即可容易的实现。为此,本文 方式进行定义的,它独立于实现服务的硬件 用WebSE务描述语言(Web Se rvices 提出了一种基于S0A的多层企业ERP系统应用 平台、操作系统和编程语言。 Desc ription Laiqguage, WSD L)描述 框架,在对服务进行归类和粒度划分基础 (二)S0A的体系结构 Web ̄JE务:用统一描述、发现与集成 上,强调了企业内部服务的开发部署与管理 SOA的体系结构如图I所示。 Unive rsaI Desc ription,Discovery and 控制,能够有效支持企业业务过程的快速重 172 E匪硼。 y rum 构,并考虑了和其他系统集成的问题,如图 的服务快速形成新的服务流,以适应需求的 数企业通常购买的是成熟性软件,需一 变化。 块或一个系统的购买,企业在购买时往往无 2所示。 (四)服务应用层:服务应用层为用户 法将那些企业不需要的功能剔除出去,这 提供GUf接口,调用企业应用服务。根据 样,企业就不得不为此多付出资金、培训成 SOA机制,只要权限满足要求,原子服务、 本等许多不必要的成本。而支持SOA的ERP软 集成服务和业务服务流均可直接被用户(应 件则可以帮助企业实现真正的按需购买,企 用)调用。服务应用层为用户实现友好的图 业需要什么功能就购买相应的服务,帮助企 形界面和简洁的应用服务访问接口。 业避免不必要的支出。 (三)实现企业的动态变革,真正实现 与OSI的七层网络协议构架图类似,本框 架图中上一层也需要下一层的支持。其中, ERP的应用柔性。基于SOA的ERP系统提供的 企业服务总线(enterp rise service bus,简 是一个个独立的服务,服务之间可以通过标 称ESB)是企业服务运行的基础平台,负责对 准接口来相互调用,这样企业在重复功能上 图2基于SOA的ERP系统分层应用框架 分散在整个企业以及企业外延的服务进行中 就可以直接通过接口调用,而不必去重新开 如图2所示,该框架由下而上包括企业资 央配置、部署和管理,为系统提供统一的服 发。当企业的业务流程发生变化时,只需要 源层、核心服务层、业务流程层、服务应用 务调用接口。而构架的安全性、可管理性及 修改相应的服务即可,降低了修改的难度与 层。其中企业资源层是企业软、硬件资源的 服务质量(QoS)则需要在各个层次都有所 复杂度,保证了企业的ERP系统的动态变化。 逻辑表示:核心服务层将企业资源服务化, 体现。 . 成为遵循SOA规范的服务提供者:业务流程 同时,为了实现互联网环境下企业之间 五、结论 层是基于成组技术的服务归类和面向业务的 的信息集成,本文提出了一个能够适应企业 ERP产品在国内的发展有很多失败的案 服务组织,从而形成更大粒度的服务组件: 问(包括企业内部)自动化系统集成的体系 例,其中一个最大的原因在于ERP产品不能真 服务应用层为企业应用求解提供方法和工 架构,通过此架构能够方便迅速地集成来自 正满足用户的需求。因此,本文提出基于 具。各层的功能分别叙述如下: 企业内部及外部客户所请求的服务,从而实 SOA的ERP系统体系架构的研究,目的在于 (一)企业资源层:该层主要包括企业 现商业需求和应用的功能性要求,如图3所 提高ERP产品的柔性和灵活性,使之能够满足 现有系统,如CRM、SCM、OA和遗留系统 等。这些应用系统目前在企业中对业务起了 定的支撑作用,今后仍将在企业内使用, 但各系统之间交互能力较差,数据和功能难 一不。 企业经常发生的业务流程变化及信息系统集 成的需求,对新一代ERP产品的开发和生产有 积极的指导作用,通过软件复用加快ERP软件 生产,延长ERP产品的生命周期。 以重用。典型的应用实例是:企业现在需要 个面向客户的订单查询系统。如果使用现 一有系统,客户首先要登录CRM验证身份、获 取客户信息,然后须通过ERP查看订单详情, 最后可能还得进入SCM中获得订单当前的执 行状态等。这时,SOA的作用是将现有系统 的某些功能封装威服务以便重用、集成或组 合成流程。 (二)核心服务层:核心服务层将企业 图3基于S0A的ERP系统体系架构 资源包装为符合SOA规范的能够完成特定任 在图3所示体系架构中,ERP系统的各个 务的功能单元。核心服务层为应用系统提供 业务模块可作为粗粒度服务发布,而每个模 原子服务,所谓原子,这里指从服务的层次 块的功能又是由多个子功能组成,我们把这 和组织角度来看,它是一个基本功能实体, 些子功能作为细粒度服务发布。企业内部提 不能向下分割,即原子服务是系统中的最小 供的服务在本地服务注册中心注册,可由企 服务颗粒,它不包含其他服务,也不是由其 业内部客户端访问,而需要提供给外部合作 他服务组成的。然后,根据成组技术原理, 企业访问的服务,则发布到公共服务注册中 将功能相同或相近的服务聚集形成服务簇 心,供外部合作企业访问。请求服务的客户 (即细粒度服务),以简化复杂和庞大的服 端通过web环境显示用户界面,利用SOAP客 务视图,方便服务的分类组织和管理。同 户接口实现与服务提供方和服务注册中心通 时,通过对细粒度组件进行流程的编排,使 讯,达到查询服务和绑定服务的目的。 其不但能够协作产生粗粒度服务组件,还能 够根据需要,通过改变流程的编排,动态适 应业务变化引起的组件功能的改变。在业务 变化涉及到组件服务的内部服务时,又能够 通过修改配置,重新组装细粒度服务组件, 重构粗粒度服务,以适应企业业务流程的动 态变革的需求。 (三)业务流程层:业务流程是具体的 企业业务活动过程的抽象表达,是面向业务 功能的服务扩展逻辑。以业务需求为导向, 选择合适的集成服务或原子服务,利用工作 流技术,组合形成业务服务流,直接支持企 业业务过程的执行。业务服务流作为支撑面 向服务的企业应用的粗粒度服务组件,是支 持业务过程快速重构的关键。利用服务流描 述语言(WDSL)定义服务流,定义主要包括 所采用的服务及服务问规约,当业务流程改 变时,可以调整服务流定义或是更换所使用 资, ,41-: 企业其它的 P 堡 j 。互篓, 誊 置.业 用的曼壁 早 b(ER R ,.呈 惫 婺 要 的警呈 J、 晶 IlY L 3"1JA=。。基于蚤 0与ERP的整合应用 ) … /啪[1 2 ) ]6-戢18研 Il L):…iu--io1 8 二;…—…… 的外围信息化模块如cRM、SCM、oA等若符 5j ;赢 =_ 于s0 企业应用集成研究[J],微 173