首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ESB和消息中间件的IPC设计

使用ESB和消息中间件的IPC设计
EN

Stack Overflow用户
提问于 2013-08-30 11:13:25
回答 1查看 321关注 0票数 2

首先,我会写我认为的过程应该是解决我的问题,在我失去你的注意力。我的问题和现有的设置在下面。这是我认为应该发生的事情,以允许未来的灵活性。请告知:

  1. 数据库触发器在创建或修改记录时填充和Oracle高级队列。
  2. 进程监视SQL和Oracle消息队列,并将它们发送到ESB。
  3. ESB (UltraESB?,易于设置和理解)依次将消息发送到真正的消息队列(RabbitMQ??易于设置和理解)。ESB可能会丰富、路由等。
  4. 最后,其他一些进程使用RabbitMQ并指导DMS如何创建新的策略文件夹、更新策略元数据等等。

三重队列MSSQL、甲骨文和RabbitMQ似乎有些过火,但另一方面,它们都执行不同的操作。

现有设置:

我有一个新的消息传递/ESB/中间件/SOA环境,希望能够正确地设置它,首先处理下面的问题。

  • LOB-A:在MS SQL 2008数据库上用JAVA编写的保险应用程序
  • LOB:在Oracle 10.2数据库上用Visual 6编写的保险应用程序
  • 微软SharePoint 2010
  • 这两个LOB应用程序都很可能在接下来的18个月内被替换。
  • 未来可能会出现更多的保险应用程序,以及CRM。

问题:

两个LOB应用程序都需要与文档管理系统交互,方法是在创建新策略、客户等以及修改新策略时发出信号。我们无法访问LOB-一个修改的源代码。我们确实可以访问LOB源代码,但是开发人员正在忙于其他项目。无论如何,我们认为,在记录发生更改时,让数据库通知DMS要更容易,而不是在应用程序源代码中的所有位置都可能更改记录,并通过应用层进行警告。

我知道数据库即IPC是一种反模式,尽管我已经阅读了关于如何最好地实现这一目标的建议,至少对于Server:使用DB表作为消息/作业队列的最佳方法http://rusanu.com/2010/03/26/using-tables-as-queues/是这样的。我已经在用SQL Service Broker外部激活点对点的方式从LOB向DMS发送信号。

呼!你认为如何?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-02 05:55:28

免责声明:我是AdroitLogic的首席技术官,负责构建问题中提到的UltraESB

您可以很容易地让ESB本身轮询MS和Oracle数据库以获得要执行的新操作。这可以安排在ESB中,提供cron计划等,或者简单的延迟(例如每小时一次)。ESB可以丰富、转换和路由等,但是您需要一种方法来跟踪哪些记录已被成功处理--也许在被轮询的表中有一个新列?一旦可用,您确实不需要持久消息队列,因为ESB可以轮询未处理的记录,对它们执行任何期望的操作,并将它们发布到DMS,并将状态更新为成功或失败。除非DMS拒绝或变得不可用,否则没有真正的重新尝试点,但是您可能想要这样做,这也是可能的。如果DMS接受记录,ESB可以直接更新表列。如果您真的想使用消息队列--这当然也是可能的,并且取决于您的选择。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18531535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档