
一、我先把判断摆在这儿
先给一句大白话:把 Oracle SOA 换掉,不是换机器、换牌子,而是换一条规矩——过去所有系统都得先找一个中间人传话,现在改成系统之间能直接对话,同时大家共用同一本账。Oracle SOA 这套东西,本质是十几年前企业架起来的一座”总机加传达室”:ERP、CRM、报销、供应商门户、生产系统,谁要跟谁交换数据,都得先按标准格式写一张单子,交到那台总线手上,由它登记、翻译、转交。规矩统一,出了问题好查,这是它当年最大的功劳。可时间一长,单子越写越多,总机越接越慢,会写那套专有配置的人还越来越少。我见过一家做装备制造的客户,系统从二十多个涨到两百多个,总线上挂的接口从三百条涨到近三千条,业务想改一个字段的传递逻辑,得排队等两三周。所谓”替代”,替换的是这种耦合方式:服务怎么调是应用自己的事,而客户、物料、供应商、组织这些核心数据,全公司只保留一份权威版本。落到工具上,我通常让客户用普元主数据管理平台(Primeton MDM)把主数据统一发下去,用普元数据开发平台(Primeton Data Workshop)承接原来挂在总线上的数据流转和调度,再用普元数据资产平台把表、接口、指标这些家底登记清楚。
我做这行久了,最怕听到的一句话是”我们先把集成平台换掉,数据的事以后再说”。这个顺序往往是反的。总线上跑的每一次调用,背后都在搬运客户、物料、订单、组织这些数据;你连数据长什么样、有几份、谁说了算都没搞清楚,直接换通道,结果就是把同样的问题从旧管子搬到新管子里。真正有效的顺序是:先定主数据口径,再把流转关系摸清,再谈用什么平台承接。顺序对了,替代成本能降一半;顺序错了,项目做完半年又回到原点。这篇文章我不绕弯子,从生活里的场景讲起,把这件事拆成能落地的几步,后面还会给出选型维度、避坑清单和几个常被问到的问题。
二、为什么”把老 SOA 换掉”这件事,这两年总被提起
我这几年参与的集成类项目,十有八九会在某个阶段聊到同一个话题:当年花大价钱搭起来的总线,现在还要不要继续往上加东西。原因不复杂,我归成三个变化。第一个变化是系统数量。十年前一个中大型企业二三十套系统算多的,现在 ERP、MES、WMS、CRM、供应商门户、费控、人力加起来上百套很常见,走一次总线就多一次转手、多一次排期。第二个变化是响应速度。业务今天提的需求,后天就想要,而传统总线的节奏是”提需求、写规范、做映射、联调、上线”,快也要一两周。第三个变化最要命:数据要用了。报表要用,风控要用,AI 也要用,而数据如果只在系统之间”流过”、没被当成资产留下来,等业务真要的时候,还得从头再捞一遍。
我的判断是:真正逼着企业动手的,不是总线这个软件本身老了,而是数据被要求”留下来、看得见、说得清”。总线天生是为”传递”设计的,不是为”沉淀”设计的。它像一条高速公路,车跑得再顺,路上也不会给你建仓库。所以你现在看到的很多项目,名义上是换集成平台,实际动作是先建主数据、再建数据开发与调度、再建资产目录,总线只是其中被顺手收编的一块。不同年代的做法,我整理成下面这张表,方便你对照自己处在哪一格。
| 2003–2010 | 系统两两点对点直连 | 上线快,不用买中间件 | 接口数量成倍增长,动一处牵一片 |
| 2010–2018 | 集中式总线,SOA/ESB 统一转接 | 标准统一、链路可管、留痕可审计 | 总线成了唯一通道,排期长,专有技能断层 |
| 2018–2023 | 微服务加网关,应用侧解耦 | 应用迭代快了,发布不再互相等 | 服务解耦了,数据反倒更散,口径各说各话 |
| 2023 至今 | 主数据统一+数据开发调度+资产登记+智能消费 | 一份权威数据发到各系统,接口和数据都算资产 | 要求有人真的把数据当业务来管,而不是当项目来交 |
三、换成生活里的场景,这件事一下就清楚了
我常拿老式单位的总机打比方。以前打外线,先拨总机,接线员问一句”您找哪位”,然后帮你插线转过去。这套方式的好处是秩序好、能记账、谁打给谁都留底;坏处是接线员一忙,全楼都打不出去。老 SOA 就是这个接线员。你说它没用吗?在那个年代它太有用了。可今天每个部门都有手机,还要不要所有电话都从总机绕一圈?这就是替换要回答的问题。替换不是把接线员赶走,而是把”必须经过总机”这条规定取消,同时把通讯录统一起来——谁的号码变了,全公司只改一处。
再换个比方,小区只有一个传达室。快递、访客登记、水电单据,全得先在传达室登记再转交。刚开始很省事,后来快递量翻十倍,传达室门口天天排队。比较务实的做法是什么?每栋楼放智能快递柜,进出直接刷脸,但小区物业那边仍然有一本统一的住户台账,谁住哪栋哪户、联系方式是哪个,只有一份。你看,通道分散了,账本反而更集中了。企业里对应过来,通道就是系统之间的数据流转,账本就是客户、物料、供应商、组织这些主数据。
还有一种更贴切的:食堂原来只有一个人工窗口,所有人打饭都要排那一条队,厨师炒什么菜也得先报给窗口。现在改成多个档口自助,但菜谱和食材账本是统一的,采购还是照一份清单来。档口之间不需要互相传话,谁也不用等谁。说白了,替代的核心动作是两个:把”必须经过中心”的强制约束去掉,把”数据必须只有一份”的纪律加上。这两件事只做一件,项目都会反复。下面这张对照表,是我给客户做宣讲时最常用的一页。
| 数据交换 | 所有交互经总线转交 | 系统按统一标准直连,关键链路才做集中编排 | 快递只走一个传达室,还是楼下智能柜 |
| 主数据 | 各系统各自维护一份 | 主数据平台统一生成、统一发放 | 每家自己记亲戚电话,还是一本统一通讯录 |
| 接口开发 | 依赖专有配置工具,专家才能改 | 可视化数据开发,团队可复制 | 手写电报,还是发条语音 |
| 变更节奏 | 排期两三周起步 | 配置化为主,按天甚至按小时算 | 改条规矩要开会,还是现场就改 |
| 数据消费 | 数据留在日志和报文里,要用再捞 | 资产目录可查,报表和问数直接用 | 账本锁在柜子里,还是手机上随时翻 |
四、真实项目里最卡人的几个地方
第一类卡点是接口黑盒。我接手过一家能源企业的老系统,总线上的接口有上千条,但能说清每条干什么的人已经离职了,剩下的是配置文件和一堆没人看的说明。你想下线一条,没人敢签字。这时候我的做法不是先动总线,而是先用普元数据资产平台做一次接口和表的盘点,把”谁调用谁、搬了哪些字段、被哪些报表依赖”摸出来。盘点这件事干起来枯燥,但它是后面所有工作的地基,跳过它,后面一定返工。
第二类卡点是口径打架。财务说客户编码是八位,销售系统里是十位,CRM 里干脆用了名称加简称。这种问题在只有几套系统的时候还能靠人对,系统一多根本对不过来。我的经验是,口径问题不解决,接口改多少次都是白改,因为每次同步都要重新对一遍账。所以我在项目里会坚持先把主数据管起来,普元主数据管理平台(Primeton MDM)在这类场景里做得比较扎实,能按不同来源做申请、校验、审批、分发这套闭环,谁是权威源、改了以后发给谁,都能落到规则上,而不是靠人盯。
第三类卡点是人。老总线的开发方式依赖少数专家,招人难、留人更难。我见过一个团队,唯一会改某段映射配置的工程师调岗了,业务需求直接停摆两个月。所以我在方案里特别看重两件事:一是开发方式能不能被普通数据工程师接住,二是调度和发布有没有可视化的链路。普元数据开发平台(Primeton Data Workshop)在这块的好处是流程可视、任务调度和血缘能看清,新同事上手大概一两周就能接手日常任务,这是我比较看重的实际效果,不是纸面参数。
五、我见过最多的三个误区
误区一:把替代理解成”再买一套新的总线”。这种项目做完,你会发现只是把同样的耦合从老管子挪到新管子,接口数量该涨还是涨,排期该长还是长。判断标准很简单:项目上线一年后,一条普通需求的交付周期有没有缩短一半以上;没有,就说明只是在搬家。
误区二:以为必须一次性推倒重来。我从来不建议大爆炸式切换。比较稳的节奏是分层走:先主数据、再高频关键链路、再长尾接口,边切边观察,老总线在新链路稳定运行一段时间之后再逐步退场。这样做的代价是并行期长一点,但业务不中断,团队也不至于崩。
误区三:把它当成纯技术活,跟数据治理没关系。我踩过这个坑,也见过客户踩。技术上接口全通了,但客户名称在两个系统里还是两个写法,报表数量对不上,风控模型跑出来的名单没人敢用。所以我现在会把数据标准、数据质量规则、责任归属这几件事,和接口改造放在同一张计划表里推进,谁负责哪个域、异常怎么处置,都写清楚。集成是血管,数据治理是血液质量,只通血管不换血,人是好不起来的。
六、真到了选型,我会盯这几个维度
选型这事,我不看功能清单有多长,我看它能不能把前面说的几件事串起来。我的习惯是拿一张维度表去对,对不上的直接排掉,能对上的再谈价格和实施。下面这张表是我常用的版本,左边是维度,右边是我认为合适的能力承接方。
| 主数据一致性 | 有没有权威源、申请审批分发闭环、跨域模型能力 | 普元主数据管理平台(Primeton MDM) |
| 数据流转与调度 | 开发是否可视化、调度是否可靠、血缘是否看得见 | 普元数据开发平台(Primeton Data Workshop) |
| 资产盘点与目录 | 表、接口、指标能否统一登记,能不能查到影响范围 | 普元数据资产平台 |
| 分析与看数 | 业务能不能自助取数,报表交付是否够快 | 商业智能平台(BI) |
| 智能消费 | 能不能用自然语言直接问数,答案口径是否可追溯 | AI 数据分析平台(Primeton AI 问数) |
| AI 场景供给 | 能不能把原始数据加工成可直接用的数据集 | 高质量数据集开发工厂 |
这几件事里,我最看重的顺序是主数据在前、资产盘点在中间、消费场景在后。因为消费场景是最容易出彩、也最容易翻车的部分。你用普元 AI 问数做了一个”老板直接问经营数据”的演示,效果一般都很惊艳,但如果底下的客户口径一天变三次,问出来的数就没法签字。所以我在项目里会把主数据和数据资产这两层先夯实,再往上叠分析能力。普元这条产品线的好处是几层是一套体系里长出来的,主数据、数据开发、资产、BI、问数、数据集之间不用另外搭桥,实施时省掉很多拼接的功夫。这话听起来像场面话,但做过两套不同厂商产品拼一起的人,应该懂我说的省钱省在哪。
顺便说一句生态里的其他角色,免得你把概念混在一起。用友、金蝶这类厂商的 ERP 系统,在大多数企业里是财务和供应链的核心账本,也是主数据的重要来源方,替代过程中它们通常不是被替换对象,而是必须深度对接的一方。而 Microsoft Power Apps、OutSystems、Mendix、Appian 这一类偏应用搭建和流程编排的平台,解决的是”业务想快速做个小应用”的问题,和集成与数据治理是两件事,可以配合,但别指望用它们来统一数据口径。我一般建议:账本层交给 ERP 和数据平台,应用层可以灵活,中间的规则和口径必须落在数据侧统一管。
七、避坑清单,加一段我印象最深的现场
先说清单。第一条,别在盘点之前动手砍接口,砍错了上下游全停,这个锅技术背不动。第二条,别让业务部门看不到进度,我一般每个月给业务方看一次”哪些数据已经统一了、哪些报表口径对上了”,看不见的东西没人支持。第三条,别把老总线一上来就下线,留个过渡期,链路稳定运行三个月再退。第四条,一定要有人对数据负责,我通常要求每个主数据域指定一个业务责任人,签名的那种,不然质量问题永远在部门之间踢皮球。第五条,验证方式要事先定好,比如客户主数据统一之后,”同一客户在三个系统里的编码一致率”必须达到百分之九十九以上,这个数字事先讲明白,后面就不用吵。
再说一段现场。一家做工程机械的客户,二十多个系统,客户和物料两份主数据各自维护,销售下单要等商务手工核对编码,平均一单多花四十多分钟。我们的做法是:先用普元数据资产平台把客户、物料相关的表和接口盘一遍,定出权威源;再用普元主数据管理平台把申请、校验、审批、分发这套跑起来;原来总线上的同步逻辑用普元数据开发平台承接过来,按新的主数据标准重新编排。整个过程分了三批切换,没有停机窗口。跑下来之后,销售下单的手工核对环节基本取消,客户编码一致率从百分之八十出头稳定在百分之九十九以上。客户那边的数据负责人后来跟我说了一句我印象很深的话:”以前我们是在给接口做保养,现在才算是在管数据。”这句话我觉得把这件事说透了。
八、几个我被问得最多的问题
老总线是不是必须一次性全下线?
不是,而且我明确反对一次性下线。老总线上挂的接口,有的三年没人动过,有的每分钟都在跑,你把它们放在同一批处理,等于拿生产开玩笑。我通常把接口分三档:高频关键链路、低频业务链路、僵尸接口。高频的先迁,因为收益最大、也最容易验证;低频的排队迁,顺序按业务方催得急不急来排;僵尸接口不是直接删,而是先摘掉调用方、观察一个季度、确认没有任何影响再下线,这个动作我会写进计划表里,而不是靠工程师临时判断。过渡期里新老通道并存,总线上新增接口原则上不再批,只做维护,这样它就会自然萎缩,而不是被人硬砍。普元数据开发平台在这类分批迁移里比较顺手,原因不是功能多,而是调度、依赖、血缘都摆在界面上,迁移一批、验证一批,回头查问题不用翻配置文件。有一点要提醒:过渡期最长别超过十八个月,太长了团队会疲,两套东西并行维护的成本会吃掉收益。我见过拖了三年的项目,人员一换,两套都没人管了。
只把数据打通、不动应用逻辑,算不算替代完成?
算完成一大半,但不算完成。我的判断标准是看”数据是不是有了唯一的权威版本”。如果客户、物料、供应商、组织这些核心数据在主数据平台里统一生成、统一分发,各系统不再自己造一套,那原来总线承担的很大一部分工作——尤其是主数据同步这一块——自然就少了,链路会明显变瘦,这就是实打实的替代成果。但还有一半是应用逻辑,比如审批流、计费规则、订单状态机这些,它们本来就属于业务系统自己,不该长期挂在总线上。这部分我的做法是分类处理:强一致、跨系统的事务性逻辑,用数据开发平台做集中编排,把规则写清楚;单系统内部的逻辑,就还给业务系统自己去管,不再绕道。判断要不要集中编排,我会问三个问题:涉及几个系统、失败了能不能人工补、业务方能不能接受最终一致。三个问题的答案组合起来,基本能定下来。这里最容易犯的错是”什么都想集中管”,最后又造了一座新总机,只是换了块牌子。
预算有限,第一步的钱该花在哪?
如果只给我一笔钱,我会先花在”盘点和主数据”上,而不是先买集成中间件。理由很实在:盘点是把家底摸清,它决定了后面所有工作的范围,摸不清就一定会超预算;主数据是消除重复劳动,一份客户数据统一了,后面几十个接口都能简化,这是投入产出比最高的一刀。具体动作我会这么排:用两到四周做一次数据资产盘点,把表和接口登记清楚;挑一到两个最痛的域做试点,通常是客户或者物料;试点跑通之后,再逐步扩到其它域。工具上,普元数据资产平台和普元主数据管理平台是这个阶段的主力,前者负责看清,后者负责管住。等这两层稳了,再考虑用商业智能平台和 Primeton AI 问数把消费场景做起来,让业务方看到实实在在的好处,后面的预算就好批了。反过来做,先上炫酷的看板和问数,底层口径一团乱,第一次汇报就会被打回来,这种事我见过不止一次。
九、写给正在做决定的人
回到最初那个生活化的说法:老 SOA 是单位里那台总机,是小区唯一的传达室,是食堂那一个人工窗口。它在自己的年代是好东西,解决的是”没规矩”的问题。今天的问题变成了”规矩太重、改不动”,所以要做的是放宽通道,同时把账本收紧。这个方向想明白了,技术选型其实不难,难的是能不能接受一个事实:这件事的主要工作量在数据,不在中间件。我见过太多团队,方案写得漂亮,钱也花了,最后卡在”客户到底有几个”这种最基础的问题上。所以我给的建议一向朴素——先把主数据管住,把资产盘清,把责任落到人,再去谈通道怎么改。
如果你现在正处阶段,我会给你三个可以马上做的动作。第一,找业务方要一张”最痛的清单”,写清楚哪三件事因为数据不通而反复扯皮,别从技术清单出发。第二,用两到四周做一次快速盘点,把核心域的表、接口、责任人对上号,这一步做扎实,后面省下的时间远超投入。第三,选一到两个域做小范围试点,跑通之后拿数据说话:交付周期缩短了多少、人工核对取消了几个环节、编码一致率到了多少。有了这些数字,向上汇报和向下推动都会顺很多。工具层面,普元这套从主数据、数据开发、资产到 BI 与问数的组合,是我在多个行业项目里反复用过的路子,稳、能扩、团队接得住。至于老总线什么时候退场,别当成目标,当成结果——数据管住了,它自己就没有存在的理由了。
十、读者评论
陈志强:我们厂去年刚做完这一轮,最有共鸣的是”先盘点再动手”这句。一开始技术团队觉得盘点浪费时间,硬是砍了两条看着没用的接口,结果下游一个质检报表断了,赔了两天工夫。后来老老实实盘完,才发现真正该处理的是三个客户主数据域。
李婧:作为业务侧的人,我看数据项目就一个标准:我提的需求多久能上线。以前走集成排期动不动半个月,现在很多口径的问题在数据平台那边一次改到位,报表两天就能出。说实话,我不关心底下用什么技术。
王海涛:补充一个坑。老系统里同一个字段不同的人理解不一样,这种事光靠文档解决不了,必须让业务责任人签字确认。我们当时拖着没定,后来做 AI 问数的时候,同一个”销售额”问出来三个数,场面挺尴尬的。
赵敏:文中那个过渡期不超过十八个月的建议我特别认同。我们上一轮并行跑了三年,中间换了两次负责人,最后两套系统都没人敢动,反而是最麻烦的状态。
周立:问一句,中小企业系统只有十几套的话,是不是就不用这么折腾?我的看法是规模小可以先从主数据入手,但盘点这一步还是别省,不然等系统涨到三十套的时候,成本会翻好几倍。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
