如何记录消息队列上的交互?

3
如何记录消息队列上的交互?以便进行重构和修改。
我面临的情况是:我有多个应用程序(部分像微服务,但实际上不是因为它是一个非常旧的系统),通过消息队列进行通信(实际上是Tibco ems;因此比简单的消息队列更复杂,但大多数情况下表现得像简单的消息队列)。我可以访问大多数应用程序的源代码(其中没有很多测试),并且我有一个工具(Tibco的GEMS)可以监视总线。
目标是记录应用程序之间的所有消息类型(在序列图或类似的图表中),以便以后可以对系统进行修改。
如何着手,并确保我没有漏掉任何东西?欢迎推荐系统化或经过测试的程序/工具。
1个回答

0

一种方法是使用EMS Admin API开发一个小型的Java应用程序,以列出与相关的生产者和消费者应用程序的队列和主题。您可以在GEMS中找到这些信息,但需要手动收集。这将为您提供有关谁正在发送/监听哪个队列/主题的技术视图。 要建模此类应用程序发送消息给另一个应用程序,最终再发送另一条消息给另一个应用程序的交互,您需要查看应用程序代码,并可以使用UML来建模这些交互。 您还可以查看MakeDoc工具,但我认为它可能更适用于BusinessWorks。 http://www.behaimits.com/makedoc/introduction/


这就是我们最终做的事情,由于在我们进行逆向工程的项目中,你可以通过切面触发消息发送,也可以直接使用jmsTemplate或通过自定义库中隐藏的方法发送消息,并且你可以通过项目中的监听器或包含的库中隐藏的方式接收消息。关键是要在这个混乱中找到一种方法来理解队列名称和库设计背后的逻辑,以考虑总线上所有交互实例。 - Mohamed Talaat Harb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接