如何通过消息传递混合SSIS-J2EE系统进行通信?

时间:2009-03-11 23:54:32

标签: ssis cross-platform msmq

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

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

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

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

克里斯托夫。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以使用ESB而不是JMS,并使用SSIS中的Web Service任务通过SOAP连接到ESB和从ESB连接。

答案 2 :(得分:0)

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

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