企业做到一定规模,系统就会越堆越多:财务一套、进销存一套、OA一套、生产MES一套,每个部门都说自己的系统重要,结果数据互不相通,同一个客户在四个系统里有四个编号。这时候老板提出"做系统整合",方案怎么写,直接决定项目能不能落地。
方案第一步不是画架构图,是把现状摸清楚。列一份系统清单,写清楚每套系统干什么、谁在用、数据库什么版本、有没有开放接口、厂商还活着没有。再列一份数据清单,标出哪些数据是主数据、在哪个系统里是权威源。这一步偷懒,后面一定返工。
整合方式一般有几种。点对点接口最直接,系统A调系统B的API,适合两个系统之间的简单同步;接口多了就乱,所以中大型项目会引入ESB或者API网关做统一入口和协议转换;批量数据用ETL或者中间库定时抽,实时性要求高的走消息队列,比如Kafka或者RabbitMQ。
数据标准是整合的地基。客户、物料、组织这些主数据必须先统一编码,否则接口通了数据还是对不上。实操中常见做法是选一个系统作为主数据源,其他系统订阅变更,新增和修改都走主数据平台,禁止各系统自己维护一套。
用户侧体验靠统一门户和单点登录。员工不想记五个账号,也不愿意在五个系统之间反复切换。SSO可以用CAS、OAuth2或者SAML,门户做待办聚合和消息提醒。这块看起来是面子工程,实际推广效果全靠它,入口好用,用户才愿意配合数据规范。
风险要提前写进方案。老系统没有源码、厂商不配合、数据库是加密的,这些都会让接口做不下去;跨系统事务一致性很难保证,通常用最终一致加补偿机制;上线要留回滚窗口,先并行跑一段时间再切。灰度策略是先挑一个影响小的模块试,跑顺了再铺开。
最后提醒一句,系统整合不是把所有系统换成一套大系统。很多项目失败就是因为想一次性推倒重来,周期长、预算爆、业务等不起。更现实的做法是保留能用的,整合该连的,淘汰确实没人用的,分阶段推进,每阶段都有能看见的成果。
下一篇:没有了