假设我在 Mule ESB 中处理 3 种(非常)不同的消息格式,我将它们称为 A、B 和 C。它们可能是 XML(通过套接字)、一些自定义文本格式和 SOAP 传输另一种例如,XML(与通过套接字传输的不同)。它们都可以相互转化。A、B 和 C 携带相同的信息,只是格式不同。
他们每个人在流程中都有自己的入口点,一些格式验证等。
但是,我需要在所有这些中执行一些(很多)逻辑,例如处理/提取一些信息,基于内容的路由,丰富等。
我该怎么办?我的意思是,我对集成模式进行了一些研究,但没有发现任何关于这种情况或类似情况的信息。
更简单的方法听起来像是采用一种格式(让我们采用 B)作为我的“主要流程”的“默认”之一,并基于它实现所有常见逻辑。然后,到达的每条消息都将转换为 B,然后再次转换为目标格式,即使两个点使用相同的格式。
例子:
1)一个“A”命中了我的应用程序,然后它被转换为“B”来执行通用逻辑,然后它再次被转换为“A”来交付。
2)一个“C”命中我的应用程序,然后它被转换为“B”来执行通用逻辑,然后它被转换为“A”来交付。
然后,我的问题是,Mule 是否有一个功能可以为我提供更好的方法来做这样的事情,或者上面的解决方案看起来很合理?
提前致谢。