【问题标题】:Which Enterprise Integration Pattern for Scalable Integration between two Applications?哪种企业集成模式可用于两个应用程序之间的可扩展集成?
【发布时间】:2014-09-29 02:30:51
【问题描述】:

我们有两个应用程序 - 一个是开放给消费者浏览和购买产品。该产品是在线课程,为了响应客户的订单,他们会获得一个帐户来登录其他应用程序的凭据,他们可以在其中登录并使用该课程。

当代,当消费者下订单时,应用程序向另一个应用程序 Web 服务提交一个 SOAP,该应用程序为客户创建所需的凭据,并作为响应告诉另一个人订单“已成功处理”,并且总是打印收据无缝登录其他系统的链接。

这种集成存在一些问题:

  1. 如果维护通过 Web 服务接收订单并创建凭据的其他系统,直到所有销售都停止
  2. 无容错 - 假设所有系统节点都不可用,或者由于某些间歇性网络问题,两个系统都无法通信或 Web 服务无法与数据库服务器通信,然后订单开始失败
  3. 需要改进事务管理
  4. 需要改进异常管理

还有,改进的愿望:

  1. 具有订单 Web 服务的门户网站的维护期不影响订单。相反,订单开始排队,一旦门户恢复运行,所有排队的订单都开始处理
  2. (门户)Web 服务中创建客户凭证的订单交易应围绕明确定义的交易(设计)模式构建
  3. 良好的异常处理,可以改善两个系统之间的通信

最终,两个系统集成都得到了改进,最重要的问题是订单失败得到了彻底解决。

我对 EIP 或消息服务或面向服务的架构不太熟悉。我也没有太多时间来构建我的概念,然后准备解决问题​​的解决方案。我已经开始阅读所有这些主题,但我需要一些快速帮助或更好的架构解决方案来解决这个问题并使这种集成更具可扩展性和可靠性。

谢谢。

【问题讨论】:

  • 我认为没有任何捷径可以更详细地识别问题(它们看起来相当模糊)并修复它们。如果您没有太多时间,则必须认识到自己的局限性并寻求快速获胜,这可能意味着重大改进或根本没有。
  • @PeterLawrey 我确实有一个解决方案,但我不认为它是最佳选择,因为我不是 EI 专家。在这里发布并与大家分享的原因是获得专家意见。只是咨询。
  • @DavidPostill 谢谢 :)
  • 我会使用 JMS 服务器来代理和持久化消息。但是,我看不出您的系统在没有身份验证部分和前端 Web 服务的情况下如何继续运行。您需要将您的应用程序重组为我们绝对必须拥有的部分,这些部分必须继续运行,以及您可以容忍失败的部分。
  • @PeterLawrey 我们应该使用activemq来推进和促进它的其他维度吗?比如事务、容错等。

标签: java jms scalability soa enterprise-integration


【解决方案1】:

我对此没有现成的解决方案,但会鼓励您阅读 Thomas Erl 的出版物

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-24
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多