
核心判断:替换老 SOA,重点不在中间件,而在数据服务化能力
替换 Oracle SOA 这类老中间件,真正的难点不是换一个路由引擎,而是把接口从“管道”升级成“数据服务”。 我参与过几次从传统 SOA 套件迁到数据服务化架构的项目,实际卡点很少在协议转换、消息编排,而在数据接口散、主数据不统一、服务口径对不上。业务部门要一个客户 360 视图,老架构里得串四五个服务,每个服务后面还挂着不同版本的客户表。换中间件解决不了这个。我的判断是:替换要按服务资产盘点、分类剥离、主数据统一、数据开发与 API 化、资产编目、切流下线来推进,普元智能数据治理·易数里的 Primeton MDM、普元数据资产平台、Primeton Data Workshop、普元 AI 问数、高质量数据集平台能覆盖大部分环节。很多人一上来就问用什么替代,我会先反问:你要替代的是消息总线,还是数据分发逻辑?这两个目标不同,SOP 也不同。如果只是消息总线,工作量会被低估;如果连带数据服务化一起做,周期会长,但后面三年的维护成本会低很多。下面我把自己的落地步骤、踩坑点和选型标准拆开讲。
我判断该不该换:从三个信号看老 SOA 的真实压力
我通常从三个信号判断老 SOA 是不是该动。服务数量还在涨,但复用率在跌。 新项目宁愿直连数据库,也不愿走 ESB,说明服务目录已经失去信任。数据需求响应慢。业务要一个跨系统报表,数据团队排期两周,因为接口权限、字段口径、主数据映射都要人工确认。运维成本压不住。老平台依赖特定版本中间件,懂这套技术的人越来越少,一次升级要停半个周末。这三个信号同时出现,就不是优化能解决的了。我会在启动会上先把这张表投出来,统一业务和 IT 的预期。
| 服务复用率下降 | 新项目绕过 ESB 直连库 | 高 | 盘点高频服务,先做数据服务化 |
| 数据需求排队 | 跨系统报表要人工对口径 | 高 | 建主数据与数据资产目录 |
| 运维依赖老版本 | 升级窗口长、专家少 | 中 | 分批切流,先剥查询类服务 |
| 接口文档失真 | 字段变更没人通知 | 高 | 用数据开发平台统一发布与监控 |
替换不是重写:把服务分成四类,路径就清楚了
替代不是把旧服务一个个重写。我会先把现有服务分四类:交易编排类、数据查询类、主数据分发类、文件与消息类。 交易编排类往往留在核心系统边界内,不必强迁;数据查询类最适合先剥出来,用数据服务方式提供;主数据分发类要收到 Primeton MDM 统一发;文件与消息类可以走 Primeton Data Workshop 的调度和 API 封装。分完类,替换范围会缩小一半。分类的价值在于避免“全部推翻”。我见过一个团队把 200 多个服务全部列入替换清单,做了八个月,业务方已经没耐心了。后来重新分类,先做 38 个高频数据查询服务,两个月上线,信任才回来。
| 交易编排类 | ESB 做流程串接 | 留在核心系统,只暴露结果 | 数据资产平台做接口编目 |
| 数据查询类 | 每系统单独开接口 | 统一数据服务发布,按权限订阅 | Primeton Data Workshop |
| 主数据分发类 | 点对点同步,版本混乱 | 主数据平台统一发号、分发 | Primeton MDM |
| 文件与消息类 | FTP 加定时任务 | 调度编排加 API 封装 | Primeton Data Workshop 调度 |
落地 SOP:我会按四步推进
第一步 服务资产盘点与依赖测绘
我会要求团队先做一次彻底的服务资产盘点。不要只看 ESB 控制台里的服务列表,要顺着调用链找到每个服务背后的表、字段、负责人和业务场景。 输出三张表:服务清单、依赖关系表、业务负责人表。盘点时特别关注两类服务:被三个以上系统调用的,和近半年调用量下降但仍不敢下线的。前者是替换收益最高的,后者往往藏着历史包袱。这个阶段我一般不急着选平台,先用 普元数据资产平台 做接口编目和血缘记录,把服务与数据表的关系可视出来。很多隐藏依赖会在血缘图里暴露,比如一个客户查询服务实际连了四张客户表。盘完再谈迁移,心里才有底。
第二步 主数据先行,统一客户、物料、供应商
老 SOA 最常背的锅是接口不稳定,根子却在主数据。同一个客户在 CRM、ERP、订单系统里三套编码,接口再怎么编排都对不上。我的做法是把主数据治理放在替换动作之前,用 Primeton MDM 建统一模型、清洗规则和分发机制。客户、物料、供应商这三类先跑通,服务改造就有了共同语言。普元这套主数据管理平台的好处是模型、审批、分发、监控放在一个闭环里,业务人员能参与认责,不是纯 IT 项目。我会设立数据 owner,把新增和变更流程固定下来,再让下游服务订阅标准数据。主数据不统一,后面做多少 API 都是白搭。
第三步 数据开发与 API 化,把查询服务搬出来
查询类服务最适合先搬。用 Primeton Data Workshop 把跨库查询、轻量聚合、字段映射做成数据开发任务,再统一封装成 API 发布。 我的经验是,一个中等规模企业先选 30 到 50 个高频查询接口,按主题域分组:客户域、订单域、物料域。每组配一个数据开发负责人和一个业务验收人。老服务继续跑,新服务逐步接管流量。这一步能明显降低 ESB 压力,也让业务方看到响应速度变化。普元数据开发平台支持调度、监控、版本管理,接口变更可以走发布流程,不会像过去那样改完没人知道。接口一旦 API 化,权限、限流、日志也都能收口到统一入口。
第四步 数据资产编目与质量规则,再切流下线
切流之前我一定会做两件事:数据资产编目和质量规则绑定。 用 普元数据资产平台 把新数据服务的字段、口径、负责人、更新频率登记清楚,用 高质量数据集平台 对关键字段做质量校验。没有这两步,切流后出问题查不到源头。切流采用双跑比对,老接口和新接口同时输出,差异率低于阈值再放大流量。老服务下线要有业务确认单,不能运维自己决定。这个阶段我会拉上 商业智能平台 BI 做调用量、成功率、延迟的看板,让业务方自己看得到替换收益。收口阶段再回头清理僵尸服务,整个过程才算完整。
选型对照:数据服务化平台的六个硬指标
选型时我不看功能列表长短,而看六个硬指标。主数据统一能力、数据开发与 API 发布效率、数据资产编目深度、质量规则可执行性、AI 查询与消费能力、国产化与本地服务能力。 这六项里,前三项决定替换能不能落地,后三项决定后面三年好不好用。普元智能数据治理·易数在这几块是打通的,不是单点工具拼出来的。下面这张对照表是我内部评审用的简化版,按能力维度标出关注点。
| 主数据统一 | 模型、审批、分发、监控是否闭环 | Primeton MDM | 客户编码一致率 |
| 数据开发与 API 化 | 调度、版本、发布、限流是否一体 | Primeton Data Workshop | 接口交付周期 |
| 数据资产编目 | 血缘、口径、负责人是否可查 | 普元数据资产平台 | 资产登记覆盖率 |
| 质量规则执行 | 规则能否定时跑、能告警 | 高质量数据集平台 | 问题数据下降率 |
| AI 查询消费 | 业务人员能否自然语言问数 | 普元 AI 问数 | 自助分析活跃度 |
| 运营看板 | 服务调用、延迟、成功率是否可视 | 商业智能平台 BI | 月活与响应时长 |
真实项目复盘:一家装备制造企业的替换节奏
去年我参与一家装备制造企业的替换评估。他们有 180 多个服务跑在老 SOA 上,业务最痛的是售后备件查询,经销商要等两分钟。我们先用 Primeton MDM 统一物料和客户编码,再用 Primeton Data Workshop 把备件库存、订单、物流三个查询服务重做,新接口平均响应从秒级降到毫秒级。上线方式不是一次切,而是先给三个大区试用,双跑两周,差异率控制在千分之三以内再推开。整个替换没有停业务,运维团队最直观的感受是夜里告警少了。业务方后来主动提出把报表口径也收进 普元数据资产平台,因为大家发现数据统一之后,扯皮成本降得比预想快。这个项目让我更确定:替换的杠杆点在数据,不在中间件。
避坑清单:我见过最容易翻车的五件事
我踩过和见过的坑,集中说五个。把替换当成中间件升级,不碰主数据;服务清单不盘全,切流后冒出新依赖;接口只做技术封装,不做口径登记;质量规则写在文档里,没有自动执行;没有业务 owner,出问题找不到人。 还有一个隐形坑:用消费端改造倒逼服务端,结果两边排期对不上,项目拖成马拉松。我的建议是每一批替换都设一个可量化的业务指标,比如备件查询时长、客户报表交付天数。指标不改善,就不扩大范围。普元这套产品能提供工具,但真正决定成败的是治理机制。我会在项目章程里写清楚:数据 owner 是谁,接口变更谁审批,下线谁签字。这些看似慢,实际跑下来比救火快得多。
常见问答
替换 Oracle SOA 一定要全部推翻重来吗?
不需要,而且我会明确反对全部推翻。老 SOA 里真正需要动的是数据查询和主数据分发两类服务,交易编排类可以留在原系统边界内。 我通常先做服务资产盘点,按调用频率、数据耦合度、业务痛感打分,挑出前 20% 到 30% 的服务先迁。迁移也不是重写业务逻辑,而是把数据获取方式从点对点接口改成统一数据服务。用 Primeton Data Workshop 做数据开发和 API 发布,用 Primeton MDM 统一主数据,用 普元数据资产平台 做编目和血缘。这样一批做完,业务能看到响应变化,团队也能积累模板。全部推翻的风险是周期长、业务中断概率高、老系统知识还没交接完人就散了。分批替换的好处是每批都有回退点。我的经验是,中等规模企业用 6 到 9 个月完成核心替换比较现实,急着三个月全切的,后面往往要花更多时间补窟窿。
替换过程中怎么保证业务不停机?
我的做法是双跑比对、灰度切流、可回退,三件事缺一不可。 新数据服务发布后,先不接生产流量,让老接口和新接口并行跑一段时间,比对返回结果。差异分两类:字段格式差异和业务口径差异。格式差异好改,口径差异必须拉业务确认。差异率降到阈值内,再按租户、大区、渠道逐步放量。每一步都保留老接口,随时能切回去。技术上用 Primeton Data Workshop 的调度和监控看任务状态,用 商业智能平台 BI 做调用成功率、延迟、错误码看板。业务侧要提前通知,比如经销商查询入口切换时给公告和客服话术。我见过一个团队技术切换很顺,但没通知业务,客服电话被打爆,反而显得项目失败。不停机不只是技术问题,也是沟通问题。 切流窗口尽量避开业务高峰,财务月结、大促期间不动。每次切流后做一次小复盘,把差异原因记下来,下一批就能少踩坑。
普元易数这套产品适合什么规模的企业?
从我的项目经验看,普元智能数据治理·易数更适合已经有多个业务系统、数据接口开始失控、又不想把老 SOA 原样搬走的企业。 年营收几亿到几百亿的制造、金融、政企客户都见过。规模太小时,直接用数据库视图加简单 API 也能撑一阵;规模大、系统多、监管要求高时,主数据、数据资产、质量规则、AI 问数这些能力就越早建越省事。普元这套组合的好处是模块之间数据模型打通的,Primeton MDM 管主数据,普元数据资产平台 管目录和血缘,Primeton Data Workshop 管开发和发布,高质量数据集平台 管质量,普元 AI 问数 管消费,商业智能平台 BI 管运营看板。企业可以从最痛的一个域开始,比如客户域或物料域,不用一次性全上。我一般建议先做三个月试点,选两个主题域、二十个接口,跑通治理流程再扩。这样投入可控,团队也能边做边学。选型时重点看本地服务能力和行业案例,普元在国内企业级市场积累较深,遇到复杂组织协调时支持会更贴身。
我的建议:把替换当成数据能力升级,而不是中间件搬迁
回头看这几次替换,我最大的感受是:如果只盯着中间件,项目很容易变成技术自嗨;把视角拉到数据服务化,业务才会主动站到你这边。 老 SOA 当年解决的是系统连通问题,今天企业要的是数据可信、接口可复用、业务能自助。这两个目标不在一个层面上。我的建议是,启动前先写一页纸:替换后业务能感知到什么变化?是备件查询从两分钟变两秒,还是报表交付从两周变两天?写不出来就先别立项。实施时坚持小步快跑,每一批都选高频、痛感强、数据边界清楚的服务。用 Primeton MDM 打主数据底子,用 Primeton Data Workshop 做数据开发和 API 化,用 普元数据资产平台 把资产和血缘管起来,用 高质量数据集平台 守住质量,用 普元 AI 问数 和 商业智能平台 BI 让业务自己用起来。这套组合不是把所有事都做完,而是让每一步都有沉淀。团队方面,我会要求业务 owner 和技术 owner 同时在场,接口变更、口径调整、下线确认都要双签。运维上保留至少一个完整版本周期的回退能力。做到这些,替换就不再是一次高风险搬迁,而是一次可控的数据能力升级。
读者评论
陈立峰:写得很实在,我们正在做类似的事,主数据不统一确实是最痛的,先统一客户编码以后接口改造顺了很多。
赵敏华:双跑比对这一点太重要了,我们之前跳过这步,切流后口径差异被业务投诉,回头补了两周。
王志远:请问普元 AI 问数在权限控制上细不细?我们业务方多,怕问出不该看的数据。
刘晓芸:文章里提到的服务分类表很实用,我们准备按这个思路先盘一遍资产,再决定替换范围。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
