1

我目前正在开发一个 ETL 解决方案,由于各种原因,它包括SSIS组件以及J2EE服务。

我需要各种组件通过消息队列进行异步通信。但是,明显的限制是 SSIS 仅与 MSMQ 集成,而在 Java 端使用 JMS 显然是有意义的。

我考虑过 MSMQ/MQSeries 桥(我们在内部使用 WebsphereMQ),但我觉得这给解决方案增加了另一层复杂性。

我现在想知道是否有更简单的解决方案来实现跨平台消息传递。消息传递方法的目的实际上是实现组件之间的控制传递,而不是传递数据。每个组件,无论是 SSIS 包还是 J2EE 服务,都将从同一个底层数据库读取/写入,所以我想知道是否最好只在任一侧实现轮询机制。欢迎提出建议。

克里斯托夫。

4

3 回答 3

1

根据您的需要,您可以编写自己的桥梁来在 MSMQ 和 WMQ 之间移动消息。使用 .NET 和 IBM XMS 库,我们已经非常轻松地完成了。

http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24011756&loc=en_US&cs=utf-8&lang=en

于 2009-03-17T01:32:43.430 回答
0

您可以使用 ESB 代替 JMS,并使用 SSIS 中的 Web 服务任务通过 SOAP 与 ESB 进行连接。

于 2009-03-12T00:28:18.213 回答
0

如果您在 J2EE->SSIS 通道中只需要能够从 J2EE 启动 SSIS 包,我认为最简单的解决方案是配置运行此包的 SQL Server 代理作业,然后从 Java 调用 sp_startjob 存储过程 - 应该更容易,并且涉及的附加组件更少。

我不确定调用 SSIS->J2EE 的最佳方式是什么。

于 2009-03-12T06:29:18.487 回答