上一个–消息传递网关|索引|下一个–事务客户端
本周,我们将研究消息传递端点类别中的下一个模式,即消息传递映射器。
此模式用于将业务对象结构映射到消息传递结构,并将消息传递结构映射到业务对象结构。使用消息传递映射器将应用程序代码与消息传递代码分离。
请注意,消息传递映射器在消息端点中实现,而不是在中间件中实现。
最后,消息传递结构也可以是规范的数据模型。在使用规范数据模型的情况下,如果消息端点无法实现消息映射器,则可以使用消息转换器。
与消息网关类似,此模式不适用于中间件,而是消息端点应如何设计以使用中间件。
我将重用来自消息网关博客的集成流。
在本文中博客中,我们将实现这些类/枚举:
温度类表示温度。它有一个值和单位。单位是一个枚举,有两个单位:摄氏度和华氏度。TemperatureMapper类实现了两个静态方法。第一个方法将Temperature业务对象映射到XML输入消息。第二种方法将输出XML消息映射到Temperature业务对象。
与消息网关blog类似,这两个类也是必需的:
充当消息网关的TemperatureGateway类。应用程序类,它接受以摄氏度(°C)为单位的温度,使用TemperatureGateway将其转换为华氏度(°F),企业应用管理,并在两个刻度上显示温度。
温度类
温度是一个POJO类,它通过属性值和相关单位来表示温度。
单位枚举
单位是一个包含两个参数的枚举温度单位:摄氏度和华氏度。
TemperatureMapper类
TemperatureMapper类使用消息体(温度)方法将业务对象转换为消息,使用温度(字符串)方法将中间件的响应转换为业务对象。
您可能注意到,返利机器人软件,电商平台数据分析,这个类中的一些代码在消息网关博客中的TemperatureGateway类中。
这个简单的方法通过在负载中插入温度值来创建消息体,如:
这个方法基于中间件的响应创建一个温度业务对象,如:
TemperatureGateway类
带有TemperatureMapper类,TemperatureGateway只关注与调用中间件相关的代码,并将应用程序代码与中间件代码解耦。
TemperatureGateway类中的步骤仍然相同,但是,它们的实现利用了TemperatureMapper类。
此步骤保持不变:
在此步骤中,我们利用TemperatureMapper将业务对象转换为XML消息:
解析响应并转换为业务对象由TemperatureMapper类完成。这一步只需将响应体传递给TemperatureMapper,大数据学什么,就可以得到这样的温度业务对象:
应用程序类
应用程序类现在使用Temperature类,人工智能关键技术,而不是像这样使用原始数据类型:
输出
输出与预期一样:
消息传递映射器可以在消息端点代码中使用,以解耦业务消息结构中的对象。由于CPI是IPaaS,因此CPI无法实现消息传递映射器模式。相反,调用CPI的系统应该在适用的情况下实现消息传递映射器模式。
企业集成模式中的消息传递映射器艾平皮消息终结点规范数据模型报文翻译程序消息网关
希望对您有所帮助,Bala