集团企业由于业务多元化、各类型所属企业众多、管理体系复杂等原因,在开展集团层面一体化系统建设项目的时候,即便在管控模式和资源投入足够到位的情况下,仍然会受到所属企业的发展和信息化建设阶段不尽相同、业务复杂度高、系统建设内容多等诸多因素的影响,使得集团层面统一建设的系统(以下简称“统建系统”)不得不在可能较长的一段时间内需要兼顾所属企业的业务和系统的多样性。
以常见的集团企业ERP系统一体化建设项目为例,首先,对较多的集团企业而言,因为业态多,在业财一体化的基本原则下(因为业务的实质是业财一体的,所以典型ERP系统的功能也是业财一体的),在尽量使用ERP系统原生的各种功能的同时,如果是ERP系统没有的或者不够适用的功能,就需要与其他的应用系统集成。其次,在集团统建ERP系统的功能体系之外,所属企业有着各种各样的应用系统,但因为统建系统基本都要实现集团财务核算的一体化,即所属企业要在集团统建系统中完成核算工作,财务的账要集中到集团统建系统中,因此所属企业的应用系统,至少产生账务数据的系统都需要与统建系统集成,哪怕都是同一厂商同一版本的系统,但因为是独立部署的两套系统,对集团统建系统而言也都是异构系统。具体的,例如异构系统会通过接口向统建ERP系统传送包括主数据(如客商、项目、组织、人员等)、业务单据(如应收单、应付单、报销单等)、财务记账凭证等数据。此时对集成到统建ERP系统上的各种接口,在集团层面进行统一管理就显得至关重要了,重要性主要体现在四个方面。
中间插一点相关的财务核算一体化的内容,对集团层面的核算一体化,基本要求是所属企业都使用集团统建系统的总账功能完成核算处理,此时有两种方式,一种是在统建系统中直接录入记账凭证(或由业财一体化自动产生),另外一种是异构系统向统建系统推送记账凭证。此时,向统建系统推送数据也有两种情况,一种是推送记账凭证数据,此时这些数据并不是真正的记账凭证,只是数据,直到数据被系统成功过账产生记账凭证后才是;而另外一种是所属企业已经在其本地的核算系统中完成了核算,只是把记账凭证数据打包后传给了统建系统,统建系统中的只是凭证的一份“拷贝”。对于后者,其实是不符合统一核算要求的,真正在统建系统中完成核算的才符合要求,在本地完成核算只是把结果传给统建系统的不符合要求。
言归主题,具体看四个方面的重要性。
一、通过对数据结构和接口功能的标准定义减少接口数量
在多系统集成应用的场景下,企业应基于业务需要和系统情况对每一种数据(如客商主数据、财务记账凭证数据等)定义标准的数据结构,向统建系统推送数据要遵循集团定义的一个数据结构和一套接口(含多种操作),统建系统的数据接收接口与所属企业多个系统的数据发送接口是一对多的关系,应避免多家所属企业的应用系统都按自己的方式要求统建系统对接,即应避免形成多对多的关系。相当于,对同一种数据,如果统建系统为每个异构系统都开发一次接口,就会让系统更加复杂,也是重复投资,应该避免。
例如项目档案数据,子企业A的系统需要有15个字段,子企业B的系统需要有20个字段,那么统建系统的一个数据结构就要同时兼容这两家企业的需求,所以集团标准的项目档案数据结构可能就是22个字段,其中既有集团层面和所有所属企业所需的共性字段,也有满足部分所属企业特有的个性化字段。在数据结构标准化的基础上,对数据的一套接口也就可以标准化了,例如新增数据、修改数据等操作。总之,对一种数据集团只需要定义一个数据结构和开发一套接口,而不是为A做一套,为B再做一套,……。此外,数据结构和接口的版本要根据需求不断更新和优化,以持续支持业务的发展和系统的升级。
二、集团层面统一开发标准接口规避零散开发的代码风险
因业务需求和系统情况等原因确实需要多系统集成时,开发接口是合理和必要的,但接口种类和数量越多,开发和运维成本也越高,系统间接口关系也越复杂。特别是对同一数据的接口,在缺乏集团层面统建管理的情况下,任由所属企业自己对接,如果开发和管理不到位就会带来更多风险。例如对客商档案数据,如果其中一家所属企业的开发人员没有充分理解数据结构和接口规范,那么这家子企业的接口代码就可能错误的修改集团标准化字段或者其他子企业的字段。对同一数据,在多家企业都有各自接口的情况下,集团层面需要加强代码审核,但代码审核有时很不容易做到位,而直观逻辑下,最好的解决方案是集团开发统一的一套接口并管理,由统一的接口代码去解析数据包并执行对统建系统中数据的操作,避免由所属企业自己开发的代码直接操作统建系统的数据。
三、统建强大的接口功能应对大数据量大并发的数据压力
作为统建系统,面向全集团提供服务,承载的业务量和数据量都是巨大的。在集团层面必须对大数据量和高并发操作予以足够的重视,相应的在统建标准接口的开发方面,在类似ERP系统一类的应用接收端,无论是代码实现,还是对接口数据的持久化、缓冲处理、负载均衡等方面都要有更高的要求。应该做到能够完整的接收源系统推送的数据,避免因数据量大和高并发等原因导致接口无响应甚至导致目标系统自身无响应,避免无响应后的数据接收和处理失败,应该能够在合理时间内及时完成接口数据的处理并反馈给源系统以保障业务的连续性,特别是对一些时效性要求高的接口。接收端应用系统也应该拥有完善的接口监控功能,可以容易的查询数据接收状态以及数据处理状态(例如记账凭证数据是否能够被系统正常过账产生真正的记账凭证,往往由于数据不符合要求无法成功过账,即数据虽然正常接收到了但却不一定可以被正确的处理和使用)。
四、集团统一的管理和协同实现接口高效集成和日常运维
集团统一建设应用系统并要求所属企业使用,一则需要所属企业按集团总部的要求配合一体化,同时,集团层面也应该提供足够的支持,以克服管理阻力和技术挑战,协助和推动所属企业对接统建系统。在系统集成的接口开发方面,首先集团在统建系统层面应开发标准的接口,并提供详细的文档,集团层面的信息化部门(如集团总部的信息化相关部门,或者负责集团内部信息化建设的集团直属信息公司或者数科公司等)应有专人负责统建接口的管理工作,第一是负责所属企业系统与集团统建系统集成时的统一对接工作,做到可以简单快速的找到具体负责的人员,可以把数据结构和接口逻辑沟通清楚,可以评估所属企业集成需求的业务合理性和技术可行性,可以综合评估需求的共性与个性,可以规划和设计接口,可以审核接口代码,可以协助企业完成接口开发和测试,如果集团层面对接口开发方面的支持比较好,各个应用系统和所属企业的集成工作就会有更高的效率和更好的效果。
第二个是负责接口的日常运维,统建系统的接口日常要处理大量异构系统推送的数据,难免遇到数据本身异常、网络异常、服务总线(ESB)异常、系统异常等原因导致的数据接收和处理失败,所以集团层面应该有运维人员日常的及时处理接口问题,避免因统建系统的问题影响所属企业的业务操作。一则运维人员在技术层面要能快速解决问题,同时,也肯定会涉及与所属企业系统管理员的工作对接,需要有明确、直接、快速的协同工作机制。
以上四方面供探讨和参考。猫说信息化
领取专属 10元无门槛券
私享最新 技术干货