目前,大多数企业为提高生产效率而实施了CRM(客户关系管理)、ERP(企业资源计划)等信息系统,然而,多套庞大而复杂的业务系统并存、原有系统不断更新以及不断扩充的新的业务模块给企业带来了新的问题。如何通过CRM系统与ERP系统的整体高效集成,形成1+l》2的绩效,从而为企业带来最大的投资回报率,已经成为企业和IT界关注的热点和难点。在传统经济模式下,CRM系统与ERP系统各自独立,造成企业的信息流、价值流和物流间的交互障碍,使企业前后端成为独立的信息孤岛,生产与决策部门得不到有力的信息支持。因此,如何建立电子商务环境下的企业前后端系统集成,使企业、合作伙伴及客户集成在同一个电子商务平台上,加强企业与合作伙伴及客户的纽带关系、协同与分析能力,是企业赢得竞争优势的关键之一。
遗留系统的业务流程整合一直是困扰企业业务与企业IT的难题,而当前兴起的SOA(面向服务的体系框架)基础平台弥合了这种鸿沟,从而支持企业快速灵活地变迁其业务流程,保持企业竞争力。正是在这种背景下,本文基于SOA原理,提出CRM系统与ERP系统集成方案。
1 面向服务的体系框架
1.1 SOA体系结构
SOA是一种粗粒度、松耦合的服务结构,使企业变得更加弹性和灵活。快速响应业务的需求变更,并具有精确定义的标准接口。服务的粗粒度是指服务执行了较大的业务功能,并交换了比细粒度更多的数据;服务之间的耦合是指服务具有中立的接口(没有强制绑定到特定的实现上);标准化接口是指Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用。
SOA的核心技术包括:SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述发现和集成),它们都是以标准的XML(可扩展标记语言)文档形式表示的。
WSDL把服务抽象地描述为一组包含在面向文档或面向过程的消息上执行操作的端点的集合,多个相关的具体端点结合在一起就构成了服务。
服务提供者是一个可通过网络寻址的实体,它接受和执行来自服务使用者的请求。它将“服务”中的服务和接口契约发布到服务注册库,以便服务使用者可以访问服务。
服务使用者可以是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对服务注册库中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。
服务注册库是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者的接口。
Web服务的操作主要有发布、查找、绑定、调用。
1.2 企业服务总线
ESB(企业服务总线)是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法、消息格式,并对服务提供者进行寻址,转发服务请求。如果没有企业服务总线,那么服务的请求者则必须知道其所需要服务的地址,并要知道相应的服务调用方法、消息格式,这样的调用是点到点的,不利于服务的统一管理,不利于不同格式服务的集成。
ESB是搭建SOA架构所必须实现的核心功能组件。ESB一般使用SOAP和HTTP协议,支持JMS(Java消息服务)、MQ(消息队列)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等传输协议。
2 基于SOA的集成方案
对于企业来说,CRM系统和ERP系统并没有充分发挥它们的使用价值,体现在两个方面:一是,缺乏CRM系统和ERP系统中的相同及相关数据的同步与整合,导致了企业内部大量信息孤岛的存在,增加了数据维护的难度;二是,没有实现将CRM系统与ERP系统的各自业务流程进行统一的整合,没有实现业务流程端到端的自动流转。
为此,基于SOA思想,提出CRM系统与ERP系统的集成方案。本方案实现的SOA集成平台是解决企业“信息孤岛”、“流程隔裂”、“业务流程全局不可见”等深层问题的核心基础平台。在业务层,对CRM和ERP两个系统进行流程重组;在服务层,以SOA的思想向上进行粗粒度的服务抽取,向下进行细粒度的需求分析。通过对流程和用例的分析,以服务之间松耦合为原则,选择合适粒度识别并划分出服务,抽取服务模型,提供接口。服务是SOA的核心,在本方案中存在两种类型的服务:一种是将原有CRM系统或ERP系统提供的功能进行包装形成的服务;另一种是新创建的服务,这两种服务组件以一定的顺序编排来满足业务流程的需要。
CRM、ERP两个系统在集成的过程中主要分为两种模式:业务集成和数据集成。业务集成需要将两个系统的业务进行业务流程重组,重新分析后形成新的业务流程,并在流程中进行数据同步。数据集成则涉及较少的业务流程,只需要在信息维护的过程中同步两个系统中相应的数据。经过分析,销售业务和采购业务需要进行业务集成;客户信息、供应商信息、产品及其分类信息需要进行数据集成。
3 SOA集成模型
根据服务建模和组件设计的结果,利用SOA的系统架构思想,依靠ESB提供的基础设施,所有服务被部署运行以交互实现业务流程。
流程服务是本次系统集成需要实现的主要功能,并作为服务实施到ESB上,ESB提供WBISF(业务集成服务器)作为流程服务器,维护流程服务的运行。WBISF提供了一个能执行业务流程的流程编排器,提供了对自动流程和人口流程的支持。由图2可以看出,流程服务下方标出了4个具体的业务流程服务:一是,采购流程服务。完成ERP系统中采购人员执行的采购操作,并将采购任务同步更新到CRM系统中的流程。
二是,确认销售订单流程服务。在CRM系统提交的订单同步到ERP系统之后,财务人员对提交的订单进行审核,如果审核通过,返回订单信息;否则,通知CRM系统中的销售人员。
三是,提交销售订单流程服务。主要完成销售人员在CRM系统中创建业务机会,并最终把这个业务机会转换成销售订单并同步到ERP系统中。
四是,同步业务数据流程服务。主要完成ERP系统中业务信息(包括产品信息和客户信息)更新时向CRM系统同步更新的流程。
3.2 传输服务
与流程服务平行的传输服务,主要是一些功能模块,为流程服务提供功能支持,流程服务利用ESB调用这些服务模块以实现流程功能。由图2可以看出,传输服务下方标出了4个具体的业务流程服务:
一是,销售订单格式转换服务。在销售订单的提交和确认流程中,销售订单格式的转换是主要功能,将这个功能包装成一个服务,不仅有利于功能部件的重用,而且具有很强的扩展性。当两个终端系统的数据格式改变的时候,仅需要改变该服务的实现,保持接口不变,使得调用该服务的流程不用额外操作便可轻松扩展。
二是,客户信息格式转换。主要用在ERP系统和CRM系统同步客户信息的流程中转换具体的客户信息格式,该功能包装成服务,有利于重用和扩展。
三是,采购订单格式转换。ERP系统中的采购人员制定采购订单,将触发采购流程,该流程的主要功能是将采购订单同步到CRM系统中,而采购订单格式的转换则是这个流程的核心操作。
四是,产品信息格式转换。主要用在ERP系统和CRM系统同步业务信息的流程中转换具体的产品信息格式,该功能包装成服务,有利于重用和扩展。
3.3 组件
ESB下方的模块即CRM、ERP和Panner等组件,是集成的已有IT环境中的功能模块。CRM系统和ERP系统主要提供信息服务,为流程服务提供信息来源。ERP组件主要提供3种服务:获取ERP系统中的销售订单;获取ERP系统中的采购订单;获取ERP系统中的业务信息,包括产品信息和客户信息。CRM组件提供的服务主要为:获取CRM系统中的销售订单。
除此之外,CRM和ERP等组件还能够通过ESB的事件服务框架触发流程服务的执行。Partner(其他辅助系统)服务则提供一些实用的功能支持,如日程管理。
3.4 确认销售订单流程
由图2可以看出,确认销售订单流程:一是,ERP系统确认订单事件,通过ESB的事件服务框架触发流程服务开始执行;二是,流程服务通过调用信息服务利用JDBC(Java数据库连接)接口从ERP系统中获取确认的销售订单;三是,流程服务通过ESB调用销售订单格式转换服务,转换销售订单数据格式;四是,该流程执行完毕,有可能调用Panner服务。
4 应用案例
本文提出的SOA集成模型已经应用于某公司CRM系统与ERP系统集成中。该公司是一家专门制造和营销专业仪器仪表等的企业,其购销客户和网络遍布全国各地。该公司使用的ERP系统和CRM系统分别为用友ERP系统和TurboCRM系统。
通过集成,充分利用遗留系统资源。节省了再投资的成本,开发的各种服务可以在今后的业务流程中重组,具有灵活性和敏捷性的特点。自动化的业务流程使得该公司节省了人力资源和成本,即使是开发更复杂的业务需求,也町以在一定的基础上进行扩展,实现业务的可持续发展。这些区别于传统的设计原则使得该公司在竞争激烈的市场中脱颖而出。
5 结语
本文对ERP系统和CRM系统进行业务流程重组。在新流程的指导下,采用SOA思想向上粗粒度的服务抽取,向下细粒度的用例需求分析。在重组的过程中涉及到相关数据的同步,并采用SOA技术,使得企业业务逻辑可以迅速地建构在一定基础平台上,切实有效地为大中型企业解决信息孤岛、数据断层等棘手问题,将不仅仅是为企业带来眼前的销售业绩增长,更是对企业管理水平和方法的全而改进,从而提升企业的核心竞争力,为企业带来最大的利润。实践征明,基于SOA框架来进行CRM系统与ERP系统集成是可行有效的,此方案对于企业遗留系统的业务流程整合集成也有着重要的推广意义。
目前,中国石油销售分公司已经建成销售ERP系统,按照中国石油信息技术总体规划,后续还将建设客户关系管理系统(CRM)。本文提出的集成技术对于中国石油未来CRM与ERP系统集成建设有着积极的借鉴意义。