首页 > 人工智能 > 正文

基于SOA的ERP体系结构模型的研究

2010-08-06 16:49:21  来源:万方数据

摘要:服务导向架构SOA(Service-Oriented Architecture)作为一种软件方法论,已得到IT业界越来越多的青睐。SOA的出现给企业资源计划ERP市场带来了巨大的冲击,随着SOA融入ERP将会推动ERP的进一步发展。通
关键词: SOA ERP体系结

  引言

  ERP理论的出现,给企业信息化建设带来了巨大的影响,提高了企业管理的效率,促进了供应链的整合等。随着企业管理理论以及计算机技术的发展,ERP的发展瓶颈越发体现出来。然而随着SOA概念的提出,ERP再次面临新的发展机遇,将SOA思想导入ERP系统将对ERP的发展起到巨大的推动作用。

  1 软件架构体系的发展

  纵观软件发展史,软件业的发展经历了面向过程、面向对象、面向组件、面向集成的几个阶段,随着软件架构技术的不断发展,一种面向服务的思想应运而生,这就是SOA。

  1996年,全球IT调查协会Gartner集团提出SOA思想;2002年12月,Gartner提出SOA是“现代应用开发领域最重要的课题”,并预计在2008年,SOA会成为占有绝对优势的软件工程实践方法。

  事实上,软件业对SOA还没有公认的定义,只是做了初步的界定:一个SOA系统由一组Service组成,每个Service都是可以以外部明确定义的服务的自治系统,此处提到的服务(Service),包括企业的每个业务细节。服务是整个SOA实现的核心,在SOA中所有的服务都是组件化的,是独立的,外部组件不需要知道服务内部的代码和流程,而仅仅关心是否返回期望的结果,这些服务通过接口向外部组件提供调用,接口的绑定和调用采用可以互操作的、位置透明的协议。SOA是一种企业架构模型,它从企业的需求出发,使企业中的服务标准化,实现企业的IT系统适应企业的动态变化。SOA具有松散耦合、基于标准、共享服务和粗粒度等特点,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。

  2 ERP导入SOA的优点

  传统上,ERP系统通过在整个企业中建立通用数据库的方法,使企业所有业务活动都由一类信息系统支撑,企业不同部门之间的信息可以共享,使企业的信息流变得统一、流畅、高效,提高了企业的生产力和反应速度;在社会层面上,ERP的影响也同样有巨大经济的、技术上的以及社会性影响。但是传统的ERP系统也有一些无法回避的弱点,诸如:不适应企业应用系统的异构集成;企业实施成本过高;系统的各个模块之间关系复杂,耦合性较高等。

  SOA思想融入ERP将会给ERP的发展带来一场革命,SOA作为构架企业信息化平台的新技术,将对ERP市场的格局带来深远的影响。主要体现在如下几方面:

  (1)支持异构集成

  由于企业内部业务处理的差异性以及各个软件供应商产品针对性的不同,导致了在选择应用软件时,不同的部门往往会选择不同的平台和应用系统,结果往往会在企业信息化过程中同时存在多个平台、多套数据库、多套应用软件。在导入SOA的ERP系统中,企业可以针对企业自身的特点,采用不同的企业应用集成的解决方案,满足自身的需要。

  (2)技术与业务应用相分离

  构建灵活的业务流程在现实应用中是企业关注的焦点。企业为了适应自身的需要,有些企业要求业务的流程可以随时调整。例如,企业中订单处理流程,传统的ERP在开发完成后,如果企业处理订单的流程发生改变时,系统更改将比较困难或者更改成本较高。而在SOA的思想中,可以将订单处理流程中包含的创建订单、审核订单、审批订单等封装成几个基本的模块,在需要进行流程变更时,只要对上述服务进行重新组织就可以实现业务流程的变更,从而降低了软件修改的难度和复杂度。

  (3)软件购买模式的变化,降低IT投入成本

  SOA的思想的导入将使ERP提供商将其应用产品进行合理的拆分,使其组件化,这样企业在信息化过程中可以根据自身的需要定制各种组件化的应用,灵活集成新的业务流程,降低企业实现信息化的成本。

  3 基于SOA的ERP冲模型的设计

  SOA是近几年在IT业界频繁出现的词汇,它的出现也给ERP的发展带来了机遇。在此,作者提出了基于SOA的ERP系统架构,该框架可分为如图1所示的五层。

  

基于SOA的ERP系统结构图

 

  图1基于SOA的ERP系统结构图

  3.1表示层

  表示层是集成框架的用户接口部分,是用户与集成框架应用接口交互信息的窗口。系统将用户接口从组件中分离出来,应用层通过表示层向用户显示其所提供的功能,为用户访问服务提供解决方案。表示层通过浏览器来呈现。

  3.2应用层

  该层是系统框架的核心,系统通过应用层进行信息交互,从服务引擎接收客户端请求数据,把业务层返回数据按照服务定义包装,再返回给服务引擎。

  Web服务是实现SOA的方式之一,在此应用层的设计基于Web服务技术。应用层包含如下功能模块:

  (1)Web服务模块该模块是应用层的核心部分,将向外提供的功能封装成Web服务,其中包括新开发的Web服务和将系统中原有功能模块封装成的Web服务。此模块提供的服务可化分为:

  ①商业服务或者商业过程。这类服务是一个企业可以提供给外部用户或者合作伙伴使用的服务,比如提交订单等。

  ②商业功能服务。这类服务会完成企业的具体业务功能,被商业服务(过程)调用,大多数情况下此类服务对外部用户是透明的。

  (2)Web服务客户端模块该模块用来调用其它系统的Web服务。Web服务客户端与Web服务之间有动态绑定和静态绑定两种形式,在静态绑定的情况下,Web服务客户端通过调用Web服务的Stub类调用Web服务;在动态绑定的情况下,首先利用Web服务查询模块从注册中心查询特定的Web服务,然后编写代码完成Web服务调用。

  (3)Web服务注册模块该模块将Web服务的WSDL描述注册到UDDI注册中心。

  (4)Web服务查询模块该模块在Web服务客户端和Web服务动态绑定的情况下,实现从注册中心查询特定Web服务的功能。

  (5)消息包装器该包装器用来向原始SOAP消息添加信息和对原始信息进行处理,实现添加身份令牌信息、加密、数字签名、消息监控和压缩信息等功能。

  (6)消息过滤器该过滤器用来过滤包装后的SOAP消息,将消息还原并对消息作进一步处理,实现解密、解压缩、身份认证、授权访问、消息完整性检测和消息监控等。

  (7)消息路由控制器该路由控制器用来控制消息在消息包装器组和消息过滤器组中的流动,控制消息路由器可以控制消息流经哪些具体的包装器或过滤器及流动的顺序。

  (8)交互信息监控模块该模块用来监控本系统与集成系统之间的交互信息,并将交互过程及内容存入数据库,交互信息监控模块在B2B电子商务集成中尤其重要,因为在电子商务中需要对交易信息有一定的记录以便以后出现问题时有帐可查。

  (9)交互信息查询模块该模块相对于交互信息监控服务台,主要是将交互信息监控模块记录在数据库中的信息以一定的格式反映给表示层。

  在设计应用层时应该对企业的业务流程进行一定的共性分析,将业务流程中公有的部分能够单独提取出来,尽量保持Web服务的高内聚、低耦合,这样对某个Web服务修改时,就不会影响其它的Web服务。

  3.3数据访问层

  数据访问层主要封装数据库访问逻辑,并向应用层提供统一的数据库访问接口,供应用层调用该接口访问数据库。通过数据访问层,系统实现数据库与应用层的分离,提升了系统的可移植性、灵活性。

  3.4数据持久层

  数据持久层包含系统运行的数据存储系统,例如各种类型的数据库、文件管理系统等。

  3.5应用基础层

  应用基础层主要提供与具体业务场景无关的通用功能部件,包括权限控制中心、系统错误日志中心、安全、事务管理服务等。

  4 总结

  ERP在国内的发展不能一帆风顺,应该归咎于ERP产品不能真正满足国内客户的需求。如果将SOA思想融入ERP产品中,ERP产品将具有良好的柔性,能够满足不同行业、不同用户的需求。基于SOA的ERP架构模型研究到实际应用还有待时日,此模型的合理性还需通过实践来进一步检验。

  保持对新技术的关注和判断,是保证ERP生命力的基础之一。ERP厂商要把握住每一次重大技术升级带来的机会,如采用关系型数据库、大型数据库、C/S(B/S)三层/多层架构、跨平台技术(早于Java的出现)、中间件、SOA等。优秀的ERP厂商如果不能引领ERP技术方向,至少也要对ERP技术发展趋势有正确的判断,否则就会丧失良好的发展机会。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。