老旧ERP对接BPM网关,到底卡在哪?

460.老旧ERP对接BPM网关

老旧ERP对接BPM网关,到底卡在哪?

老实说, 当我第一次听闻“老旧ERP对接BPM网关”这般需求之际, 我脑海当中即刻浮现出的第一个画面, 乃是一台满布厚厚尘土的陈旧服务器, 其风扇发出连绵不绝的嗡嗡声, 屏幕散发出幽幽的绿色光芒。

你别笑,真的。

诸多公司直至如今依旧在运用十年之前的ERP系统, 其功能于当下的业务场景之中堪堪能够适用。可是, 这般情形恰似陈旧古旧的房屋一样, 内部的管线已然出现老化的状况。倘若打算安装一台新型的空调, 那就必须先将墙体予以拆除, 开展一番大规模的改造工作, 整个过程繁杂琐碎而且成本颇为高昂。

如此这般的ERP系统, 于面对持续发展变动的业务需求之际, 显得有心无力。它没办法灵活地去适应新的功能需求, 恰似老化的房屋难以轻易增添新的设施那般, 给公司的运营以及发展带来了诸多的限制。

再看那BPM网关, 就如同装修队伍一般, 手里紧握着最新的智慧方案, 内心里满怀期待地打算大展拳脚一番, 然而在施工之际却猛然发觉门实在是太狭窄了, 装修所需要的材料根本就没法进去, 这就好似那满腔的热忱刹那间被一盆冰冷的水给浇灭了, 实在惆怅。

老旧ERP为啥不愿意“结婚”?

你说,ERP系统好好的,为啥非要折腾?

不是老板钱多烧的,是真没办法。

在业务持续推进进程里, 渐渐发觉采购存有采购特有的流程, 财务专心顾及财务的账目, 仓库负责管理仓库的货物。可是当前状况是, 这三个系统相互独立, 有着三套全然不同的数据, 它们相互之间没有关联, 彼此互不相识。

“翻译官”是BPM网关, 它能将老ERP的数据, 化为其他系统可明确理解含义的内容语句。

但问题是,老ERP根本不配合。

接口藏得比保险柜还深

有些老旧ERP,接口文档是十年前的,有的甚至压根没有。

要是你打算进行对接, 那就首先得把那个过往编写代码的程序员给翻找出来, 可是他很可能离岗已经五年时光啦。

你能硬着头皮去翻动那晦涩得难以理解的源代码吗? 一番查找之后, 居然发现使用的是早就被时代摆脱的古老开发语言。那种感觉, 就好像处于古老的遗迹里开展考古探索, 到处都是陈旧与陌生。

数据格式像个“方言”

老ERP里的字段命名,全看当年开发人员心情。

对于“客户姓名”此称呼, 其具体所指内容存有多样可能, 它能被叫做, 于特定系统或场景里, 凭此标识代表客户姓名, 它也能被称作KHXM, 这大概是于别样业务流程或软件环境下采用的名称表示形式, 甚至还会被叫做“字段12”, 此类情况会出现在特定数据表格、程序代码或其他相关信息记录体系中, 借助“字段12”充当“客户姓名”指代。

你让BPM网关去认,它得先学一门“方言”。

并且这一地方语言状况之中有着不符合规范的情形, 特定呈现方式为同一字段, 于不同行展现出不一样的形态, 此一行所显示的是文字内容, 然而下一行却有可能转变为数字, 再往下面一行甚至或许是空白的。

网关要是不做容错,数据一对接就崩。

硬接还是软接?这是个问题

有人跟我争论过,说直接改老ERP的源代码,一劳永逸。

我笑了。

你会修改代码, 可是没办法改变业务部门几十号人的操作习惯, 这些习惯已经根深蒂固, 要扭转很不容易, 并且只改动一次, 后续升级又得再次重复整个过程, 这样维护成本高得吓人, 每一笔开销都像在滴血, 沉重地压在项目上。

更靠谱的,其实是“软接”。

用中间表做“缓冲带”

定时任务要编写在BPM网关里, 设定成每隔几分钟就到老ERP的数据库中去提取数据, 之后把这些数据放置到中间表里面。

网关再从中间表读,处理完写回去。

好处是,老ERP不知道自己被“偷数据”,不会报错崩溃。

其坏处在于, 存在延迟情况。对于实时性要求较高的场景, 像是订单审批这种, 有可能会卡顿长达几秒钟时间。

但实事求是来讲, 针对于老旧的ERP, 几秒钟出现的延迟情形, 业务部门是完全能够接受的。

API封装,给老系统“穿新衣”

460.老旧ERP对接BPM网关_旧网关还有用吗_旧网关有什么用

还有一种骚操作,是给老ERP套一层API。

写一个服务, 它是轻量级的, 这个服务要把老ERP数据库的查询操作, 还有写入操作, 用心包装成接口。

BPM网关直接调这个接口,跟调用一个现代系统没区别。

关键在于, 这一层级的封装, 得通过自行编写代码才可实现, 况且, 老旧的企业资源计划系统其性能, 根本就承担不住较高的并发量。

适合业务量不大的场景。

最怕的是“脏数据”

对接过程中,最坑的不是技术,是数据。

老ERP跑了十年,数据有多脏你能想象吗?

有着表情符号存在于其中的客户姓名这种情况, 是常常能见到的, 电话号码被写成“待补充”这般情形, 不是只有一个例子, 金额字段呈现“N/A”这种现象, 也是同样有的……

BPM网关读到一个“N/A”,直接报错,流程卡死。

解决方案?

对接前,必须做一次数据清洗。

把空值、异常值、格式错误,全清一遍。该补的补,该删的删。

这一步不做,后面全是坑。

用日志“看”着它跑

对接上了,你以为就完了?

天真。

上线第一个月,BPM网关日志必须开DEBUG级别。

每一条数据流转,每一步处理,每一个报错,全记下来。

不是为了监控,是为了“出事了能快速定位问题”。

老ERP稳定归稳定,但它的异常处理机制基本等于没有。

一旦数据出了幺蛾子,网关不记录,你连问题在哪都找不到。

最后一句大实话

说了这么多,其实我想表达的很简单:

对接BPM网关的老旧ERP, 技术向来并非是最难的, 堪称至关重要且极具挑战性的是“人”, “人”可是最难的呀。

老板想省钱,业务部门怕影响工作,IT部门怕背锅。

三者凑在一起,项目推进速度堪比蜗牛爬。

但要是你确实真正地想明白了, 别去瞧那些看起来高端大气上档次的方案, 先去向自己询问三个问题:

1. 老ERP的接口到底在哪?有没有文档?

2. 数据脏不脏?要不要先清洗?

3. 业务部门能接受几秒钟的延迟?

想清楚这些,再考虑买网关、写代码。

否则,对接就是给自己挖坑。

以上,一个踩过坑的人,写给你的真心话。

您可以还会对下面的文章感兴趣:

暂无相关文章

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。