浅谈SOA技术在ERP中的应用

2009-03-02 02:43
中国管理信息化 2009年4期
关键词:服务

刘 振

[摘 要] 本文在分析传统ERP面临的局限的基础上,阐述了SOA的定义、主要思想和实现方法,分析了将SOA技术应用到ERP中的必要性和重要意义,总结了基于SOA的ERP产品应用现状,并对其未来发展做了展望。

[关键词] SOA;ERP;服务

[中图分类号]F270.7[文献标识码]A[文章编号]1673-0194(2009)04-0075-03

一、传统ERP面临的困境

随着全球经济一体化进程的加速,企业面临的问题越来越复杂,传统ERP厂商由于原有产品的功能僵化,体系结构缺少灵活性,已不能满足客户不断变化的个性化需求,ERP软件的发展遭遇了前所未有的挑战,ERP客户化的复杂性和实施成功率的低下成为困扰软件厂商和用户的难题。

传统的ERP的主要局限性如下:

1. 环境适应性的局限

(1)企业外部环境变化。目前很多企业战略正从内部战略转向联盟体战略,这在企业管理领域是一个划时代的变化。传统的ERP在实现联盟体战略(即实现企业内部人员、企业与业务伙伴、企业与客户之间的协同商务)时,遇到了不可逾越的鸿沟,不能灵活地支持供应链管理功能,不能实现企业与供应商、企业与分销商之间的信息集成以及不同软件之间的互操作。

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

2. 软件可扩展性的局限

因为传统ERP中各业务模块之间是非松耦合的关系,某一块业务功能升级将引发整个ERP产品的升级,某一业务模块的调整将对整个公司或集团的信息处理工作带来影响,如模块升级需要频繁停机安装和备份,甚至带来相关模块操作界面和流程的改变。

二、SOA概念、主要思想和实现方法

1. 概念

SOA(Service- Oriented Architecture,面向服务的体系结构)是由 Gartner公司在1990年提出的,它根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用,是目前最流行的一种架构模型。SOA 软件系统是由不同的功能单元(称为服务)组装而成,服务之间靠定义良好的接口和契约联系起来,这使得构建在这样的系统中的各种服务以统一和通用的方式进行交互。

2. 主要思想

SOA的主要思想是最大限度地重用现有的服务以提高IT 的适应性和效率。

3. 实现技术

SOA目前最主要的实现方法是Web Services技术,实现Web Services的主流开发平台有J2EE平台和Microsoft. net平台,J2EE平台开发的系统因具有平台无关性、安全性、可伸缩性、不同供应商实现方案之间的可移植性等若干优点而得到了广泛的应用。Web Services技术使用如下一系列标准和协议实现相关的功能:

(1)XML 是一种流行的、独立于中间件的格式,可以在不同应用程序之间交换数据和文档。

(2)WSDL(Web Service Description Language)用于Web Service 的提供者将自己的Web 服务的所有相关内容,如所提供的服务的传输方式、服务方法接口、接口参数、服务路径等,生成相应的完全文档,发布给使用者。

(3)UDDI(Universal Description,Discovery and Integeration)向服务注册代理描述、发布和注册Web服务,服务请求者通过UDDI进行查询,找到所需的服务。

(4)SOAP (Simple Object Access Protocol,简单对象访问协议)是Web Service 的标准通信协议,采用标准化XML 格式传输消息。

Web Services标准的成熟和应用的普及为广泛地实现SOA 架构提供了基础,Web Service 技术实现了服务接口的传输和调用的标准化,服务接口和服务实现的分离,以及Web 服务组件的可重用性。

三、应用SOA构建ERP

随着网络技术飞速发展,软件架构日益向B/S结构迁移,为SOA在ERP中的实践提供了基础。同时中间件和平台技术的成熟也给SOA在应用层面上的实践提供了有利的保障。

为了解决现有ERP系统难以重构,难以与企业之外的供应商、分销商集成的问题,企业需要用一种手段,来消除上下游,以及企业内部应用的壁垒,实现信息、人员、流程的通畅,最佳的技术手段就是SOA。SOA是对企业各种异构的信息孤岛进行整合的最有效方法,可以实现企业和组织的信息共享,提升人员协同能力以及业务的优化和整合程度,实现有效的业务转型和创新,帮助企业适应外部变化,提高运营效率和反应速度。

基于面向服务架构(SOA)的ERP系统体系结构是一种定制化、个性化、可重用的ERP套件,ERP软件分解成以Web服务形式出现的更加粒状的自我描述构件,组合这些构件,以生成定制的松散耦联的复合应用,将企业应用构建成为服务的集合,实现企业内外各个不同服务系统之间的互调或者集成。任何业务功能都被作为提供的一个服务使用,应用程序的不同功能(服务)通过这些服务之间定义的结构和合约联系,应用系统可以看作是一系列服务的集成。

企业应用的业务功能分解并重组为一个个服务,这就涉及一个粒度的问题。基于SOA的ERP系统体系结构,把ERP系统模块表示成粗粒度服务,而每一个粗粒度服务又可以分解成多个细粒度服务,每一个细粒度服务完成一项单一功能,通过调用数据访问逻辑组件直接操作数据库表,通过细粒度服务的不同组合可实现ERP系统的不同业务功能和业务流程,当企业业务流程改变时,通过重新组合已编写的服务组件,ERP各个业务模块的功能作为粗粒度服务发布,而每个模块的功能又是由多个子功能组成,这些子功能可以作为细粒度服务发布,从而达到企业业务流程重组的目的。企业也可以把需要向外部企业提供的服务发布到公共服务注册代理供合作伙伴访问,同时也通过公共服务注册代理查找合作伙伴提供的服务,满足企业的需要。服务粒度大小,在某种程度上决定着整个系统的灵活性和效率,如果粒度划分太细,企业付出的成本相应会高;如果粒度划分太粗,则系统无法很好地按需快速变动。企业必须要在两者之间寻得一个平衡点,服务的粒度划分是基于SOA的ERP系统中的一个重点和难点。

SOA在企业信息化应用中的优势:

1. 减少成本和软件重用

利用现有的资源,将企业或者合作伙伴的有用资源改造成服务,并结合本企业和合作伙伴现有的服务,开发出功能更强大的服务,这样软件的开发就不用从头开始,大大缩短了开发周期,降低了开发成本,在最短的时间内,利用最少的成本,开发出需要的应用系统。

2. 快速反应

能够在保持原有系统正常使用的前提下,从现有的服务中组合新的服务,缩短软件系统分析、设计、开发等所需的时间,对新需求做出快速的响应,满足企业业务多变的需求。

四、基于SOA的ERP的应用现状

各ERP厂商都在SOA的技术规范下建立了自己的SOA研发环境,都试图在SOA规范的基础上,增加和扩充属于自己的一些东西,并希望其成为行业内的事实标准,比如SAP的NetWeaver、甲骨文公司的Fusion、金蝶的BOS等,这些厂商基本上都是要把所有原来ERP的功能模块重新定义并做成服务形式,再把基于服务的形式创建成关于业务逻辑的知识,并建立了“企业服务知识库”,把所有的服务归纳在一起,然后在知识库的基础上重新架构应用软件,将ERP导入SOA架构中。通过ERP内置研发平台,逐渐向企业其他应用渗透,这也是ERP技术发展趋势之一。通过SOA研发平台的迁移,ERP厂商们对原来紧密结合的业务模块进行重新定义,作为单独的产品来发布和升级。是否内置符合SOA标准的、支持多语言的研发平台,并且ERP任何应用模块都在这个平台上构建,现已成为区分ERP技术构架的分水岭。

五、结束语

将SOA应用到ERP中的主要问题如Web Services 的集成、服务资源和服务方法的重用、系统的分布性和异构性等,都有待于进一步研究。

在ERP系统中应用SOA的路才刚刚开始,还面临着很多的问题和挑战。SOA作为构架企业信息化平台的新技术,能否拯救ERP,目前还没有肯定的答案,但可以相信的是,SOA必将对未来几年的ERP市场的格局带来深远影响。笔者期待更多的ERP厂商不断推进SOA 架构标准化,进一步完善和细化基于SOA 架构的ERP产品,加快企业信息化建设的步伐。

主要参考文献

[1] 〔美〕科拉夫兹格,本克,斯拉姆. Enterprise SOA中文版——面向服务架构的最佳实战[M]. 北京:清华大学出版社,2006.

[2] 〔美〕Thomas Erl. SOA概念、技术与设计[M]. 北京:机械工业出版社,2000.

[3] 梁爱虎. 精通SOA:基于服务总线的Struts+EJB+Web Service整合应用开发[M]. 北京:电子工业出版社,2007.

[4] 杨善林,刘洋,马溪骏. 基于Web Services 面向服务架构的虚拟企业解决方案[J]. 计算机应用研究,2005(10).

猜你喜欢
服务
服务在身边 健康每一天
服务在身边 健康每一天
服务在身边 健康每一天
招行30年:从“满意服务”到“感动服务”