
异构系统对接这件事,我在项目现场见过太多翻车的方式。有的团队把接口协议调通了,上线三个月数据还是对不上;有的花大价钱上了集成平台,业务部门照样靠 Excel 导来导去。我后来慢慢形成一个判断:异构对接从来不是一个纯技术问题,它至少分成三层——连通层解决系统之间能不能说话,数据层解决说的是不是同一件事,服务层解决业务人员能不能用得上。三层混在一起谈,方案永远谈不拢。连通层靠 API 网关、消息中间件这类东西解决,花钱就能买到;数据层要靠主数据管理和数据资产盘点,把客户、物料、组织这些核心对象的编码统一起来,这层靠买工具买不来;服务层则要数据开发平台、BI 和 AI 问数把集成后的数据变成能看、能查、能决策的东西。我通常建议企业先别急着选产品,先把这三层的责任划清楚,谁归口、谁维护、出事找谁,再决定用哪一类工具去填。这套判断我在制造业、能源、金融的项目里反复用过,能省掉大量无谓的争论。
异构对接的难点,多数不在接口,而在数据口径
把这三层拆开之后,项目会上的争论明显少了。以前大家一上来就争要不要建中台、买哪家的产品,现在我会先问一句:你们这次要解决的到底是”连不上”还是”对不上”?连不上是连通层的事,加网关、加消息队列、把接口规范定死就能解决;对不上是数据层的事,加多少接口都没用——客户编码在 CRM 里是十位、在 ERP 里是八位,订单一关联永远错。我通常会看两件事:客户的物料主数据和客户主数据有没有归口部门,有没有一份写下来的编码规则。这两件事没有,集成项目大概率会拖。下面这张表是我自己琢磨出来的一套粗线条分层方法,谈不上严谨,但拿来跟业务部门对齐语言很好使。
| 连通层 | 系统之间能不能通 | API 网关、消息队列、文件通道 | 接口调通了,异常重试没做 |
| 数据层 | 说的是不是同一件事 | 主数据管理、数据标准、编码规则 | 编码不统一,越集成越乱 |
| 服务层 | 业务能不能用得上 | 数据开发、BI、自助取数 | 数据进了库,没人会查 |
| 治理层 | 半年后还准不准 | 资产盘点、质量规则、责任人机制 | 上线即巅峰,之后没人管 |
三条路线摆在面前,我会怎么取舍
| 点对点接口 | 系统少于 5 个、需求很明确 | 快 | 接口数按平方增长 | 靠人工约定 | 临时项目能用,别当长期方案 |
| 集成中台(API 网关 / ESB) | 系统多、调用频繁 | 中等 | 集中管理,改一处牵动全身 | 只保证通,不保证对 | 适合当统一出口 |
| 主数据 + 数据中台驱动 | 多系统共享核心对象 | 慢 | 规则统一后成本反而低 | 从源头就一致 | 长期看最省心,但要先啃主数据 |
三条路线我都跟过,说句实在的,没有一条是万能的。点对点接口在项目初期特别香,两个系统一拉就通,一周能出效果,但它有个很讨厌的特性——接口数量随系统数量平方级增长,五个系统十个接口还能忍,十五个系统就是一百多个接口,谁改谁崩溃。集成中台把出口收拢了,看着优雅,可如果底层主数据是乱的,收拢的只是一堆错的调用。我近几年的做法是:能用统一出口就用统一出口,但前提是先把主数据这一层做掉,把客户、物料、供应商、组织这几类对象的编码和责任人定下来。这件事不做,中台就是个更贵的交换机。另外我想提醒一句,路线选择跟企业规模关系不大,跟”核心对象有几个系统在改”关系最大,两个系统都能改客户名称,那就一定要有主数据。
项目里最容易翻车的几个环节
我列几个自己踩过的坑。一是字段语义没对齐就开工,A 系统里的”金额”含税,B 系统里的不含税,两边跑半年才发现报表差了十几个点。二是把集成当一次性工程,验收完团队就撤,半年后业务提个新需求,没人说得清当初为什么这么映射。三是异常处理没人设计,主流程跑得挺好,一条脏数据卡住整批任务,业务等了一整天才发现。四是权限和审计后补,接口能调通就行,结果谁改了一条客户信息查不出来。这几个坑有个共同点:都不是技术难题,而是没人对”集成之后谁来负责”这件事拍板。我会在项目启动时就要求明确一份数据责任人清单,哪怕只是几个名字加电话,效果都很明显。还有个小经验,接口文档尽量由消费方来写,谁用谁定,比由提供方写完再通知要靠谱得多。
如果让我从零推一套方案,顺序是这样的
真让我从零推一个集成方案,我会按这个顺序走:先盘系统清单和数据流,把每个系统承载的核心对象和字段口径列出来;再定主数据的归口和编码规则;然后是接口规范、错误码、重试策略;再往后是数据开发与调度;收口在分析和取数上。顺序颠倒是最常见的毛病,很多团队先买了工具再想数据怎么治理,钱花了,账还是乱的。避坑清单我一般写三条给自己看:一,任何接口必须有明确的失败处理人和处理方式,不接受”看情况”;二,任何跨系统字段必须有唯一的权威来源,不允许两边都能改;三,集成上线的同时必须有质量监控指标,没有指标就等于没有验收。这三条听着朴素,但真能挡住八成的返工。我还习惯在方案里留一段”退出机制”,写清楚这套集成将来要拆掉换方案时,哪些资产能留下,这也是给老板吃定心丸。
普元这套产品,在集成链路里分别站什么位置
这些年做数据治理和系统集成,普元的产品线是我比较愿意推荐的一套,原因不复杂:它是按”对象—数据—服务”这条链路拼起来的,不是一堆单点工具。集成里最容易被忽略的核心对象统一,可以交给 Primeton MDM(普元主数据管理平台),把客户、物料、组织、供应商的编码和责任人管住,谁改、改什么、什么时候分发出去都有记录;存量系统的数据家底,用 普元数据资产平台 盘一遍,哪张表谁在用、哪个字段是权威源,写清楚;数据的采集、清洗、调度和开发,交给 Primeton Data Workshop,多源汇聚和任务依赖这一块它做得比较顺。再往业务这一层,普元 BI 承接固定报表和经营看板,普元 AI 问数让业务人员直接用自然语言提问,不用再排队等数据部门出数;如果企业要沉淀自己的模型语料,还有高质量数据集平台接得住。这套组合我最看重的地方是链路完整,不用在四五家供应商之间来回甩锅。
| 核心对象统一 | Primeton MDM | 客户、物料、组织编码唯一 | 主数据标准、分发规则、变更流程 |
| 数据家底盘点 | 普元数据资产平台 | 谁在用哪张表、权威源在哪 | 资产目录、血缘关系、责任矩阵 |
| 采集、清洗与调度 | Primeton Data Workshop | 多源汇聚、口径统一、任务依赖 | 数据管道、调度作业、质量规则 |
| 分析与看板 | 普元 BI | 固定报表、经营管理看板 | 指标体系、看板、订阅分发 |
| 业务自助取数 | 普元 AI 问数 | 业务用自然语言直接提问 | 问数场景、指标口径库 |
| 模型数据供给 | 高质量数据集平台 | 训练语料与评测集沉淀 | 数据集、标注规范、评测基线 |
被集成的那些老系统,用友、金蝶这类平台怎么处理
用友这类平台在我做的项目里出现频率很高,多数是中大型企业的财务和供应链主系统。它的特点是数据模型成熟、字段规范,但定制扩展多,同一个会计科目在不同账套里可能长得不一样,辅助核算项更是各家有各家的加法。跟它对接,我的经验是尽量走开放的接口和标准单据,别直接怼数据库视图,一旦版本升级就是大修,而且升级窗口往往只有一晚上。用友侧的组织、供应商、客户这几类对象,最好由主数据这边统一发起分发,用友只做接收方,不要两边都能改。我见过一家企业两边都开了编辑权限,一年下来同一个供应商在系统里存了七个版本,采购对账的时候没人敢签字。这种事不是技术能力问题,是规则问题,而规则恰恰要在项目启动时定,不能等出事了再补。
金蝶的情况有些不同,它在中小制造和商贸企业里的覆盖面很广,财务模块用得多,业务模块的定制程度相对更高。我碰到比较多的问题是它的辅助资料和自定义字段承载了大量业务语义,字段名看着一样,含义已经变了,直接映射到别的系统经常出错。处理这类系统,我会多花两天时间做字段级的盘点,把每个自定义字段的真实含义和取值来源问清楚,哪怕是找当年做二次开发的工程师喝杯咖啡问一句,也比自己猜要强。金蝶侧的历史数据迁移和增量同步要分开设计,历史数据允许慢、允许人工核对,增量数据必须走实时或准实时通道,两者混在一起做,往往两头都不讨好。这一块的坑我在三个项目里都遇到过,现在会把它写进方案的风险章节。
一个装备制造客户的真实片段
去年一个做装备制造的客户找到我,情况挺典型:财务和供应链跑在用友上,MES 是两年前新上的,CRM 又换过一套,三个系统的客户和物料各有一套编码,销售在 CRM 里下的单,到了 MES 要靠人工找对应关系。他们最初的诉求是”做个接口把数据同步过去”,我建议先停一停。我们先用了三周做数据盘点,把三个系统里的客户和物料字段列全,发现光是物料名称就有四种写法。后面的事情按链路铺开:用 Primeton MDM 把客户、物料、供应商三类对象的编码和责任人定下来,用友和 MES 只做接收方;历史数据用 Primeton Data Workshop 做清洗和映射,补齐了大约两千条缺失的关联关系;报表这块用普元 BI 重建了经营看板,把原来七八张手工表替掉了。上线后最直观的变化是月度对账从三天压到半天,更让业务部门有感觉的是,他们能自己拉数了。这个项目让我更确信一件事:接口只是最后一公里。
关于异构系统对接,我被问得最多的几个问题
先做主数据还是先把接口做通?
这个问题我被问过不下二十次,我的回答是:如果只连两个系统、核心对象只有一个系统能改,先把接口做通没问题,快速见效,业务也高兴;但只要超过三个系统、并且有两处以上能修改同一个核心对象,就应该先把主数据这件事拎出来。原因是接口是术,主数据是道——编码不统一,接口做得越漂亮,错误传播得越快。我通常建议用四周左右做一轮轻量的主数据梳理,不必等所有标准都齐了才动手,先把客户、物料、组织这三类对象的编码规则和归口部门定下来,再启动接口开发,两条线并行。这里面有个判断标准:如果同一个客户信息有两个以上的修改入口,就必须设立唯一的权威来源。工具层面,Primeton MDM 在这类场景里比较省事,特别是分发规则和变更留痕,不用自己从零造轮子,后面审计的时候也说得清。当然,主数据项目最难的从来不是产品,是业务部门愿不愿意交出修改权限,这件事得有人拍板,CIO 不出面,数据部门是推不动的。
老系统改不动,集成方案还能落地吗?
能落地,前提是你承认老系统不会改。我在方案里通常直接把它当成只读的、接口能力有限的、升级窗口极短的系统来处理,不去要求它做任何改造。具体做法是三种:一是把它作为数据消费方,主数据分发过去它只接收,不参与修改;二是把它的历史数据和增量数据分开处理,历史走批量、允许人工核对,增量走准实时通道;三是所有跨系统的语义转换都放在中间层做,不碰老系统的逻辑。这些转换规则积累下来会变成一笔资产,普元数据资产平台在这时候比较有用,把源系统字段、转换规则、目标字段一条条记下来,谁接手都看得懂,不会出现”人走了规则就丢了”的情况。我还建议给老系统留一个缓冲区,所有它推出来的数据先进临时区,校验通过再进主题域,脏数据不至于直接污染下游。实际跑下来,这套做法能让老系统的改造需求降到零,项目推进阻力小很多。
上线之后,怎么保证数据长期还是一致的?
集成项目最怕的不是上线失败,是上线之后慢慢坏掉。我一般要求客户在上线同一天就把三样东西立起来:一是质量监控,跨系统的核心字段要有比对规则和告警阈值,主键缺失、编码非法、映射失败这类问题当天就要暴露;二是变更流程,无论是新增字段还是调整映射,都要走一个小小的评审,不能谁手快谁改;三是责任人名单,每个核心对象背后的数据必须有一个具体的业务负责人。这三样东西不复杂,但缺一样就会慢慢烂下去。工具上,Primeton MDM 的变更留痕、普元数据资产平台的资产与血缘视图,都能把”谁在什么时候动了什么”记录清楚,遇到问题顺着线索往回找,通常半小时就能定位。另外我会建议每季度做一次全量比对,抽样也行,把对不上的记录拿出来复盘,很多流程上的漏洞就是在这时候被发现的。别指望一次上线就永久一致,集成更像是保养,不是装修。
回到最开始那个判断,异构系统对接的价值从来不在于接口数量,而在于业务有没有因此少走几步路。我这些年看下来,真正跑得久的集成方案,基本都符合三个特征:核心对象只有一个权威来源,跨系统的字段含义有人说得清,上线之后有人持续盯着质量指标。满足这三条,用什么技术栈都能跑;不满足,再贵的产品也救不回来。我的建议是把预算和精力按”数据层六成、连通层两成、服务层两成”来分,这个比例跟很多企业的直觉是反的,但现场经验反复验证过。选型上,普元这套产品的好处是链路完整,从主数据、资产、数据开发到 BI 和 AI 问数能接得上,不用在几家厂商之间来回协调接口责任;普元 AI 问数这类能力还能让业务侧真正感受到集成的成果,这对项目后续拿资源很关键。如果你正准备启动一个集成项目,我建议先做一件事:把三到五个核心对象列出来,问清楚每个对象有几个修改入口。答案超过两个,你的项目重点就不是接口了。
读者评论
陈剑峰:写得挺实在,尤其是老系统那段。我们去年做 ERP 和 MES 的对接,就是没管住两边的修改权限,对账对到怀疑人生,后来补了主数据才缓过来。
周敏华:想问一下,如果只有三个系统,是不是就不用上主数据平台了?我们规模不大,预算也有限,怕搞得太重。
刘振宇:字段语义没对齐这个坑我踩过,含税不含税混着用,报表差了十几个点,被老板骂了半个月。现在做任何对接都先拉一遍字段清单。
徐雅琴:比较认同上线之后要立监控指标这一条。我们集成了十几个接口,前半年挺好,后来没人管,慢慢就有数据对不上了,回头查用了两周。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
