您现在的位置是:首页 > IT基础架构 > 软件与服务 >
SOA如何弥补CRM与ERP鸿沟?
2009-07-28 16:39:00作者:张勇 周俊林来源:
摘要如何通过CRM与ERP整体高效集成,形成1+1>2的绩效,从而为企业带来最大的投资回报率(ROI)已经成为企业和IT界关注的热点和难点。遗留系统的业务流程整合一直是困扰企业业务与企业IT的难题,而当前兴起的SOA基础平台弥合了这种鸿沟。...
1 引言
当前,企业为提高生产效率而实施了CRM,ERP等信息化系统,然而,多套庞大而复杂的业务系统并存、原有系统不断更新以及不断扩充新的业务模块给企业带来了新的问题。因此有关客户关系管理(Customer Relationship Management,CRM)系统和企业资源计划(Enterprise Resources Planning,ERP)的概念、联系、实施等集成关系问题,备受业界关注。如何通过CRM与ERP整体高效集成,形成1+1>2的绩效,从而为企业带来最大的投资回报率(ROI)已经成为企业和IT界关注的热点和难点。传统经济模式下,CRM与ERP系统各自独立,造成企业的信息流、价值流和物流间的交互障碍,使企业前后端成为独立的信息群岛,生产与决策部门得不到有力的信息支持。因此,如何建立电子商务环境下的企业前后端系统集成,使企业、合作伙伴及客户集成在同一电子商务平台上,加强企业与合作伙伴及客户的纽带关系、协同与分析能力,是企业赢得竞争优势的关键之一。遗留系统的业务流程整合一直是困扰企业业务与企业IT的难题,而当前兴起的SOA基础平台弥合了这种鸿沟。SOA的根本目标是弥合长期以来企业与IT基础设施之间的鸿沟,实现IT向业务看齐(IT/Business Alignment),从而支持企业快速灵活地变迁其业务流程,保持企业竞争力。
2 面向服务的体系框架
SOA是一种粗粒度、松耦合的服务结构,使企业变得更加弹性和灵活,快速响应业务的需求变更,著具有精确定义的标准接口。服务的粒度是指服务执行了较大的业务功能,并交换了比细粒度更多的数据;服务之间耦合是指服务具有中立的接口(没有强制绑定到特定的实现上)特征;标准化接口是指Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(S0AP)进行调用。其体系结构如图1所示。
1)服务:由Web服务描述语言(Web Service DescriptionLanguage,WSDI,)来描述,WSDL把服务抽象地描述为一组包含在面向文档或面向过程的消息上执行操作的端点的集合,多个相关的具体端点结合在一起就构成了服务;
2)服务提供方:它是一个可通过网络寻址的实体,它接受和执行来自使用者的请求。它将A的服务和接口契约发布到服务注册中心,以便服务请求方可以访问服务;
3)服务请求方:它是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务请求方根据接口契约来执行服务;
4)服务注册库:它是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求方查找服务提供方接口;
5)Web服务的操作:是与Web服务相关的操作,主要有:发布、查找、绑定、调用。
3 WS-BPEL
面向服务的业务流程执行语言(Business Process ExcutionLanguage for Web Service,WS-BPEL),又叫BPEMWS,是当前基于流程的Web服务合成最常使用的技术。WS-BPEL是IBM的WSFL和微软的XLANG中的优秀成分的组合,允许混合块结构与图结构的流程模型,其规范是Web服务规范中对一个服务整个工作流的描述语言。它将一组已经存在的web服务操作连接起来,并按照某一特定的规则统一描述到某个业务流程中,完成不同服务的整合,实现具体的事物流程,是实现和使用Web服务的必要环节。BPEL是一种使用XML编写的编程语言,能够更好地支持平台和语言的无关性。
4 基于SOA与BPM的CRM和ERP系统集成分析
对于企业来说,这两套割裂的强大系统并没有充分发挥它们的使用价值,体现在以下几个方面:
1)缺乏ERP和CRM系统中的相同及相关数据的同步与整合,导致企业内部大量信息群岛的存在,增加了数据维护的难度;
2)没有实现将CRM系统与ERP系统的各自业务流程进行统一的整合;没有实现业务流程端到端的自动流转。为此,基于SOA与BPM思想,以期达到如下目标:
1)建立适用于企业的EAI核心基础架构。系统应提供系统连接、数据同步和共享、业务流程集成、监控与分析等核心功能;
2)提供灵活连接不同系统的方法,支持ERP与CRM的系统集成。
采用XML Schema标准定义ERP与CRM系统需要的公共业务数据模型,形成EAI标准数据并实现系统接口数据与EAI标准数据的转换。
本方案实现的EAI平台是解决企业“信息群岛”、“流程隔裂”、“业务流程全局不可见”等深层问题的核心基础平台。在业务层,以BPM思想对两个系统进行流程重组;在服务层,以SOA的思想向上进行粗粒度的服务抽取,向下进行细粒度的需求分析。通过对流程和用例的分析,以服务之间松耦合为原则,选择合适粒度识别并划分出服务,抽取服务模型,提供接口。服务是SOA的核心,在本方案中存在两种类型的服务,一种是将原有的CRM或ERP系统提供的功能进行包装形成的服务,另一种是新创建的服务。正是这两种服务组件以一定的顺序编排来满足业务流程的需要。ERP系统和CRM系统各有其特点和担负的职责。基于BPM进行分析,两系统在集成的过程中主要分两种模式,业务集成和数据集成。业务集成需要将两系统的业务进行业务流程重组,重新分析后形成新的业务流程,并在流程中进行数据同步。数据集成则涉及较少的业务流程,只需要在信息维护的过程中使两个系统中相应的数据同步。经过分析,销售业务和采购业务需要进行业务集成;客户信息、供应商信息、产品及其分类信息需要进行数据集成。
4.1业务集成分析
企业集成的主要目的就是数据集成,消除信息群岛,宏观同步各分散系统中的数据。在CRM和ERP系统中需要同步的数据有以下信息:客户/合作伙伴/供应商信息、销售订单、产品分类、产品基本信息、产品库存信息、采购订单、物料清单、库存盘点清单、收付款项等。
4.1.1销售流程重组
销售流程以CRM系统来驱动。整合流程描述如下:CRM系统:销售人员登录CRM系统,经过客户挖掘发现销售机会,填写销售机会并开始销售任务管理。其中的客户信息同步采用数据集成的方式进行。
CRM系统:销售人员查询报价单,与客户沟通签约。在签约填写订单时,查询盘点单是否有足够的库存,如果库存不够则进行警告。报价单与盘点单采用数据集成来进行同步。
CRM系统:销售人员保存订单,然后选择订单类型,此类型为ERP系统所需类型,如:发运、预售、分期、直运、现销等。随后将CRM中销售订单和订单类型向ERP系统同步数据。
ERP系统:管理人员审核订单,审核通过后则修改CRM系统中的订单状态为已审核。同时CRM销售人员接到短信和站内消息通知。如果订单什么未通过,则将结果信息(包括没有通过的原因)发送到CRM系统,同时CRM销售人员接到短信和站内消息通知。
CRM系统:如果销售人员从上一步接受的审核通知为未通过,则销售人员可以对订单进行修改、删除和重新提交。同时,数据同步到ERP系统。
ERP系统:当财务人员收到货款,则将收款信息更新到CRM系统,如果该订单已经完成收款,则更改CRM系统销售任务以及订单任务相应的状态。
ERP系统:当进行销售发货和退货时,同时更新CRM的库存数据。当ERP进行退款时,同时将退货信息更新到CRM系统。至此,销售业务的简单整合完成。
4.1.2采购流程重组
生产人员在ERP系统中进行生产时生成物料需求计划将直接指导采购。因为采购是供应链上一个很重要的环节,ERP系统采用推拉式来进行分析和制定采购计划并进行采购。因此,采购流程的主要驱动为ERP系统。流程如下:
ERP系统:采购人员登录ERP系统,制定采购计划,同时采购计划同步到CRM系统中,激活CRM系统采购计划任务管理。采购人员编制采购订单,并由系统将采购订单同步到CRM系统。
ERP系统:财务人员收到了采购订单的预付款项、付款时,会在ERP系统中进行帐务处理,同时ERP系统将付款信息发送给CRM系统,并给采购人员留言。
CRM系统:采购人员登录CRM系统进行采购任务的管理。
ERP系统:当采购到货时,采购人员在ERP系统中生成到货单,同时数据同步到CRM系统。采购退货也在此进行。采购任务结束于全部到货及完全付款,EAI系统通知CRM系统采购任务结束,也可以由采购员在CRM系统手动
结束任务管理。
在采购流程重组的过程中,采购员跨系统进行操作。此时需要界面整合,为采购人员提供一个完整的操作界面。
4.2数据集成分析
数据同步有两种表现形式:查询和更新。查询指一个系统将另一个系统中的数据提取出来用于显示或对其他服务进行支持。更新是从一个系统向另一个系统更新数据,包括新增数据,同步两个系统的数据,对一个系统的数据进行更新(如对数量的增减等)。数据集成应遵循的原则有:
1)数据的方向性:CRM与ERF集成的时候,数据流向有单向和双向之分,集成的时候要慎重考虑,在满足业务需求与控制开发成本之间找到折衷点;2)数据的完整性:CRM与ERP分别有各自的工作数据库,每个工作数据库有各自对数据完整性的要求;3)数据的一致性;CRM与ERP共用的一些基础设置,还必须保持一致;4)数据的唯一性;5)数据的独立性:CRM和ERP有各自独立的工作数据库,数据有各自的独立性。目前,根据两系统使用的主要人员以及系统功能,将数据同步划分为三种方向:
1)CRM到ERP的单向数据同步,即数据以CRM系统为基准并由CRM向ERP系统进行同步,EI讲系统不能独自对数据进行修改,须由CltM系统修改后并通知ERP系统进行更新;
2)ERP到CRM的单向数据同步,数据以ERP系统为基准并由ERP系统对数据进行维护后通知CRM系统更新,CItM系统不能独自对此类数据维护}
3)ERP与CRM的双向数据同步,此方向允许从两个系统各自更新数据,并且更新后通知另一系统进行更新。
在这三种方向的数据传递过程中涉及到两个系统相应数据表的记录对应关系。解决相同记录的参照问题可以采用两种方式:统一编码规范使得两系统中的数据表索引键一致,或建立两数据表的主键参照表。后者的参照表由集成系统来维护。
数据集成的过程就是根据同步方向在主动系统中触发更新操作,对被动系统的相关数据进行更新操作。在进行删除操作的同步时,应同时判断两个系统是不是同时满足删除约束,只有当两个系统都满足删除约束时才能执行删除操作。
4.3业务及服务分析与建模
基于SOA思想,在服务层进行相应的服务抽取以满足新的业务流程。本集成系统包含的服务大致可以分为四种:
1.业务系统——应用服务:对外部系统进行包装连接,得到可发布的服务,提供外部系统的服务在EAI平台的发布。
2.流程整合——流程服务:提供企业流程的主框架,以及相关的企业业务流程,实现系统流程的端到端建模和运行。这里主要的两条流程服务为销售路程服务和采购流程服务。
3.界面整合——交互服务:负责与用户的互动,将系统中的信息传递给用户。
4.数据整合——信息服务:建立数据同步实现的框架,并实现不同的数据同步流程,构成企业数据总线的基础,其核心为通过数据模型对不同系统问的数据进行格式转换。各服务关系如下图2所示,交互服务将应用服务、流程服务和数据同步进行有效有序的编排以支撑企业应用集成。
4.4用例模型分析
从业务流程向下,分析每个流程中的具体操作,详细描述到用例解析。以销售用例中的创建订单的时序图为例说明如下,见图3。
5 基于SOA与BPM的CRM与ERP信息集成模型
根据服务建模和组件设计的结果,利用SOA的系统架构思想,依靠ESB提供的基础设施。所有服务被部署运行以交互实现业务流程。我们集成系统的整体架构如图4所示。
1)Process Service流程服务,是本次系统集成需要实现的主要功能,它们都作为服务实施到ESB上。ESB提供WBISF作为流程服务器,维护流程服务的运行。
2)与流程服务平行的Tmsport Service代表传输服务。这些服务主要是一些功能模块,为流程服务提供功能支持,流程服务利用SOAP/HTTP调用这些服务模块以实现流程功能。
3)ESB下方的模块即CRM,ERP和Partner等组件,是集成的IT环境中已有的功能模块,CRM和ERP主要提供信息服务,为流程服务提供信息来源。除此之外,CRM和ERP等组件还能够通过ESB的事件服务框架触发流程服务的执行。Partner服务则提供一些实用的功能支持。
4)作为例子,图4还画出了Confirm Sell Order流程服务的流程。首先,ERP确认订单事件通过ESB的Event Service触发流程服务开始执行;流程服务然后通过调用信息服务利用JDBC接口从ERP系统中获取确认的销售订单;此后,流程服务调用通过SOAP/H下rP调用Transform Sell Order转换销售订单数据格式;最后,该流程执行完毕,它有可能调用其它服务,如Calendar实现一些通知功能,如果CRM中没有相应功能。
5)通过WS-BPEL对服务流程进行描述及部署。
6 结束语
本文基于BPM思想对ERP和CRM系统进行业务流程重组,在新流程的指导下,采用SOA思想向上粗粒度的服务抽取,向下细粒度的用例需求分析。在重组的过程中涉及到相关的数据同步,并采用WebService技术,使得企业业务逻辑可以迅速地建构在IT基础平台上,弥合了企业与IT基础设施之间的鸿沟,实现IT企业向业务看齐,从而支持企业能快速灵活地变迁其业务流程,保持企业竞争力。
(责任编辑:李超)
(本文不涉密)
责任编辑:
上一篇:SaaS走出三重困 与用户同呼吸