上个月帮南京本地一家做汽车零部件的制造客户理系统问题,他们去年年底咬牙上了一套低代码平台做生产报工,想替代之前纸质填表的老办法。
结果呢?
跟他们自己用了五年的自研MES系统对接,搞了整整三个月还没跑顺。每天两边的数据对不上,车间主任拿着每天的差异表拍桌子,运维的小姑娘天天加班核对数据。
错在哪?
从一开始方向就偏了。
那些上来就写接口的,最后都花了三倍的时间填坑
两边的开发一上来就翻接口文档,低代码平台说我们有标准RESTful API,自研MES说我们也有对外接口,写个数据映射不就完了?
结果上线第一周就出了大问题。
他们的自研MES是当年几个老开发从零写的,没有完整的接口文档,很多内部字段的含义只有那个已经离职两年的牵头开发知道。比如工单状态码里的7,不是大家以为的“完工入库”,是“待质检暂停”。对接的工程师不知道这个规则,直接把状态码7同步到低代码平台,系统默认这个工单已经做完了,直接把对应的在制工单锁了,车间工人报不了工,生产线停了两个多小时,损失小十万。

我当时去现场蹲了半天,看到负责对接的运维小姑娘抱着个掉了角的笔记本,在车间流水线旁边跟班组长挨个核对每天的报工数,眼睛肿得像刚揉过的桃子,连说话的声音都是哑的。
太惨了。
很多人对这种集成的难度完全没有概念。低代码平台从设计之初,所有的数据结构都是为了可视化拖拽、快速搭应用服务的,字段类型、编码规则全是通用模板。而那些跑了三五年的自研系统,数据结构里藏了无数业务迭代打出来的补丁,很多规则根本没有文档,全靠老员工口口相传。你拿通用模板去硬套这些藏了“暗规则”的自研系统,不踩坑才怪。
真正能跑通的集成,从来不是从接口开始的
那个客户后来换了思路,不再让两边的技术开发对着接口文档死磕。
他们拉了个小会,参会的三拨人:低代码平台的实施顾问,现在负责维护MES的开发,还有干了八年车间报工的老班组长。
没有上来就谈接口,先把两边必须要同步的字段列出来。之前他们想的是把MES里所有的工单数据全量同步到低代码平台,列了快50个字段,越搞越复杂。最后算下来,真正跟报工相关的字段就12个:工单号、工序号、当前班组、计划完成时间、当前状态。
就这么点东西。
然后每个字段的规则当场定死:工单号必须是纯数字,前后不能带空格,长度固定20位;所有状态不能直接抄MES里的内部编码,专门做了一套双方都认的枚举值——比如MES里的3对应低代码的“未开始”,7对应“暂停报工”,12对应“已完成”。
所有跨系统的字段映射,必须单独做一层转换层,绝对不能让两边的系统直接读对方的原始数据结构。
转换层的位置也没搞复杂,就放在他们现有的API网关上,没有额外买中间件,就是写了个几百行的简单服务。低代码平台传过来的报工数据,先过一遍转换层:把字符串前后的空格去掉,把低代码里的状态值换成MES能识别的内部编码,校验格式没问题了,再推给MES。反过来,MES里的工单状态变了,也是先经过转换层,把内部编码换成低代码能识别的枚举值,再同步过去。

就这么简单的事,之前为什么卡了三个月?
因为两边的人都在踢皮球。低代码的实施说“我们平台的字段类型改不了,天生就是字符串”,MES的开发说“我们的状态码用了五年了,改一下全系统都要崩”,谁也不肯退一步,最后就僵在那里。
说实话,这种事我见得太多了。技术从来不是集成的核心卡点,怕麻烦、不肯为对方的场景做适配,才是。
别为了集成,把低代码的优势全耗没了

那个客户一开始搞集成的时候,还犯了个特别常见的错。
为了让低代码的报工表单跟MES的工单表字段完全对齐,他们把低代码平台里本来拖好的表单拆得七零八落,加了十几个隐藏字段,调整了所有的校验规则。最后搞出来的报工表单,业务人员想改个下拉选项都要找实施工程师,本来低代码最大的优势——业务人员自己就能调整表单流程——全没了,维护成本跟自研系统差不多。
这完全是本末倒置。
低代码平台的所有配置调整,必须优先服务业务端的使用效率,不能为了迁就自研系统的旧逻辑,把本来的灵活优势磨没了。
后来他们把所有跟对接相关的逻辑全移到了独立的转换层里。低代码平台这边的表单,怎么方便车间工人填就怎么搭,比如工人报工的时候想加个“设备异常备注”的输入框,直接在低代码里拖个文本框就行,根本不用跟MES的开发打招呼。转换层会自动把这个备注字段拦下来,存在单独的异常记录表里,不会往MES里乱传。等以后MES要加这个字段了,再在转换层里加一行映射规则就行,两边的核心系统一点都不用动。
现在这套系统跑了快两个月,对接稳定性到了99.9%,每天的报工数据跟MES里的差异,基本都是工人填错工单号的小问题,10分钟就能核对完。之前每天要花俩小时对账的小姑娘,现在有空帮着搭设备报修的流程了,也是走的同一个转换层,对接他们自研的备件库系统,没花多少开发时间就跑通了。
别听那些厂商吹的“开箱即用无缝集成”的鬼话。只要你公司有跑了三年以上的自研系统,就不存在什么完全无缝的对接。
说白了,集成哪有那么多高大上的技术诀窍。就是别上来就写接口,先把两边的业务规则掰扯清楚,别让技术人员躲在文档后面踢皮球。
对了。
别为了对接,把本来买低代码想省的那点事,全又给折腾回去了。