0

我开始开发一个简单的 WCF 应用程序,该应用程序从 Oracle 11g DB 表中查询数据并将消息排入 Websphere MQ 5.3。我不确定设计此应用程序的最佳方式。

当对表进行更改时,我应该使用 Oracle 触发器通知 WCF,还是应该使用 WCF 不断轮询 DB 表以进行更改?

另外,如何让我的 WCF 与 Websphere MQ 5.3 进行通信?我已经进行了足够的研究,发现较新版本的 Websphere MQ 7.1 带有 WCF 的自定义通道,但我不知道如何让 WCF 与 5.3 一起使用。

有人告诉我,我们不使用 Microsoft Biztalk 或 Oracle 数据库更改通知 (ODBN)。我是否应该向我的主管推荐我们将 Websphere MQ 升级到 7.1 并同时使用 Biztalk 或 ODBN?

我是使用 WCF、Oracle 和 Websphere MQ 的新手,我不确定该采取哪个方向。任何帮助我解决这个问题的链接或资源将不胜感激。

4

1 回答 1

3

MQ 5.3 不受支持。所以不建议使用不支持的产品。正如您发现 MQ v5.3 中不提供 WCF 支持。WCF 支持可从 MQ v7.0.1 获得。所以你必须至少升级到 MQ v7.0.1。

MQ WCF 提供了一个自定义通道,使用该通道可以在 MQ 上托管 Web 服务,并且客户端可以使用自定义通道调用这些 Web 服务。

如果您打算使用 MQ WCF 仅将消息放入队列而不开发任何 Web 服务,那么最好查看 MQ .NET 类或 XMS .NET 类。MQ .NET 类为与 MQ 队列/主题进行消息传递提供 OO API,而 XMS .NET 提供类似 JMS 的 API。

我的 2 美分在另一部分:发生更改时接收来自 Oracle DB 的通知比轮询更好。在 Oracle 中可能有一种方法,您可以注册一个回调或侦听器,当表发生更改时调用该回调或侦听器。

于 2012-06-06T04:14:57.467 回答