谁能给我一些有关我可以实施Java消息服务(JMS)的业务方案的建议。该消息可以通过队列(点对点)或主题(常规/耐用订阅)发送。

我将使用JMS(通过TIBCO Enterprise消息传递服务启用)。

业务场景必须涉及至少3个IT系统/应用程序。

有帮助吗?

解决方案

经典的用例是将JMS作为可用运输的企业服务总线。在这种情况下,任何数量的IT系统都可以通过在众所周知的队列上放置消息来请求服务调用。服务提供商在该队列上侦听该队列会根据JMS消息的回复对字段动态确定答复。典型服务的一个示例是查询或更新客户人口统计信息。出于查询的目的,这绝对满足您至少涉及3个IT系统的要求,因为与客户打交道的几乎所有内容都需要请求此服务。

广泛应用程序的另一个示例是记录。我有几个客户使用JMS消息来捕获整个网络的日志记录,并将其转发到中央服务器的枢纽。因为它是JMS,因此可以通过使用冗余服务器高度使用中央集线器,并且可以水平缩放以吸收季节性负载。

对于酒吧/sub,我真正喜欢的一个例子是来自一家保险公司。他们发布有关在各个呼叫中心,内部新闻报名人和业务合作伙伴中订阅的主题的活动。在几年前的飓风中,这些事件包括有关登陆预测的最新信息,然后在暴风雨通过后,更新包括移动索赔调节器和其他支持服务的位置。 Pub/Sub是协调大规模动员人员并回到总部的地面支援的好方法。

系统管理是一个更平凡的酒吧/子用例,具有广泛适用性。仪器申请可以发布其状态,感兴趣的各方可以收到这些通知。如果某些事情在生产中起作用很奇怪,则管理员可以动态地订阅诊断流。通常没有订户,未产生诊断。但是,只需订阅即可,该应用程序的诊断消息就不会在运行系统中任何中断。

实际上,很难找到JMS消息应该的示例 不是 使用。最常见的禁忌症是真正的同步消息传递和严格处理消息的要求。我知道的所有JMS提供商都会在不同程度上为这些要求提供津贴,我知道这些要求的许多系统都有这些要求。但是,JMS消息传递的理想用例是真正的异步或伪同步通信和原子质的消息(也就是说,消息是没有彼此或特定代理实例的依赖关系)。

其他提示

这是我们(食品零售商)使用消息传递的一些情况:

- 远程位置之间的连接系统,在我们的情况下,商店中的POS和库存管理系统,中央ERP和预测系统:主数据更改作为XML消息从中央ERP系统发送到商店系统。商店系统向中央系统发送库存,订单和销售的变化。这是完全基于PTP的,因为主数据对于每个商店都是唯一的。

- 用作中央消息传递主链,直接适用于能够执行消息传递的系统,或通过某些适配器功能用于数据库,文件,SAP系统或HTTP。在这里,消息传递系统为我们的ESB建立了基础。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top