【发布时间】:2013-06-17 21:12:29
【问题描述】:
我最近刚开始在一家小公司工作,该公司目前正经历着成长的痛苦。我不确定我要在这里描述的是什么样的系统。本质上,我们有许多不同的 3rd 应用程序,它们通过一个本土的“集成系统”相互通信,该系统混合了 SQL 作业、用 .NET 编写的后台服务、FTP 传输和 SSIS 等。
这是鸟瞰图: 我们面向公众的网站是一个由供应商在场外托管的订单输入系统(第三方购物车软件)。我们每天每 4 小时下载一次订单信息。然后,这些数据会被我们自己开发的“集成系统”处理,该系统会将这些信息提供给我们的库存和仓库管理系统 (WMS)。它还向 MS Great Plains、Pulse、PayFuse 和第三方 CMS 等提供信息。
正如您可能已经猜到的那样,这种架构非常脆弱,一个轻微的意外(例如 FTP 失败的 SQL 作业失败)可能会导致数据的差异,从而产生多米诺骨牌效应。有时,由于数据相关问题或复制问题可能导致整个仓库停滞不前,我们有时无法接受订单、处理或运送订单。
我的任务是重新构建我们的系统并消除系统的紧密耦合以促进业务增长。我需要研究哪些领域?我一直在研究 ESB 和 SOA,但有人告诉我,我的公司负担不起与 iWay 或 Talend 相比的 50 万美元。
有哪些选择?内部开发是答案吗?它是否比 ESB 实施便宜?有没有人经历过类似的成长烦恼?如果有,您是如何处理整合的?
【问题讨论】:
-
首先:以下软件是我自己开发的(大部分)---你可以试试我的FOSS项目Shuttle(shuttle.codeplex.com)。在托管环境中,您可以从 sql server 表中运行队列。它正在一家大型国际保险公司和南非四大银行之一的生产中运行。也可以在其他地方使用,但我不会意识到这一点。试一试,如果你想看看,请告诉我你的想法。
标签: .net architecture integration soa esb