我最近刚开始为一家小公司工作,该公司目前正经历着成长的痛苦。我不确定我要在这里描述的是什么样的系统。本质上,我们有许多不同的 3rd 应用程序,它们通过一个本土的“集成系统”相互通信,该系统是 SQL 作业、用 .NET 编写的后台服务、FTP 传输和 SSIS 等的混合体。
这是鸟瞰图:我们面向公众的网站是一个由供应商异地托管的订单输入系统(第三方购物车软件)。我们每天每 4 小时下载一次订单信息。然后,这些数据会被我们自己开发的“集成系统”处理,该系统会将这些信息提供给我们的库存和仓库管理系统 (WMS)。它还向 MS Great Plains、Pulse、PayFuse 和第三方 CMS 等提供信息。
正如您可能已经猜到的那样,这种架构非常脆弱,一个轻微的意外(例如 FTP 失败的 SQL 作业失败)可能会导致数据不一致,从而产生多米诺骨牌效应。有时由于数据相关问题或复制问题可能导致整个仓库停滞不前,我们有时无法接受订单、处理或运送订单。
我的任务是重新构建我们的系统并消除系统的紧密耦合以实现业务增长。我需要研究哪些领域?我一直在研究 ESB 和 SOA,但有人告诉我,我的公司无法承担与 iWay 或 Talend 相比的 50 万美元的承诺。
有哪些选择?内部开发是答案吗?它是否比 ESB 实施便宜?有没有人经历过类似的成长痛苦,如果有,你是如何处理整合的?