机场信息化建设ESB的设计(4)
发布时间:2021-06-07
发布时间:2021-06-07
其应用模式主要采用发布/订阅(PUB/SUB)模式,请求/应答模式(REQ/RESP)以及可定制的服务单元模式。
4.2实现模式
发布/订阅模式
发布/订阅模式是消息应用程序的一种,在这种模式下消息的发布者与消息的订阅者之间的关系是松耦合的。在发布/订阅系统中,发布者不需要知道谁会来使用它所提供的信息,而且订阅者也不需要知道谁来提供它需要的信息源。而对比其它应用模式,发送消息的应用程序需要知道消息所发往的目的地。所以说,在发布/订阅模式下,可以使系统动态地增长或缩减。
通过WEBSPHER MESSAGE BROKER实现PUB/SUB主要涉及到以下几个概念:
发布者(Publisher):信息的提供者被叫做发布者。发布者为每个消息都赋予一个主题,但他并不知道目的应用对哪种主题的消息感兴趣。
订阅者(Subscriber):订阅者决定它对哪种主题的信息感兴趣,然后接收该主题的消息。每个订阅者可以从多个消息发布者得到消息,他们收到消息也可以发布给其他的订阅者。
主题(Topic):发布者和订阅者之间通过主题来建立联系。用于PUB/SUB目的的消息都要求有一个主题。
代理(Broker):代理负责发布者和订阅者之间的交互工作。它从发布者那里接收消息,从订阅者那里得到订阅消息的请求,然后负责把消息从前者到后者的路由。
在一个大的系统中的某些子系统,在不确定从何处接收消息或发送消息的时候,在复杂的应用场合中,通讯程序之间不仅是一对一的关系,还可以是一对多或多对一,甚至是多对多的关系,那么在这样复杂的情况下,通讯的连接增加了程序复杂性,所以可以在系统中使用发布/订阅模式,来对用户屏蔽掉多变的连接的情况,使应用程序更为简单,屏蔽掉了网络的变化,并且提供了更大的网络独立性。而且由于减少了通讯连接,那么也使系统更加容易来管理。
PUB/SUB的原理是:一个发布会被发布者发送到代理上,一个订阅会从订阅者发送到代理上,并且发布也会从代理上发送到订阅者上。而且在一个典型的发布/订阅系统是包含有多个发布者和多个订阅者的,甚至有多个代理(这是考虑到连接性能的时候需要的),还有可能一个应用既是发布者又是订阅者,那么在这种情况下,发布/订阅的系统架构一般是下面图所示:
图 6 发布/订阅模式
该应用模式是机场内各类应用系统信息交互的主要应用模式,以航班动态发布为例:
生产系统应用程序通过适配器将航班动态消息发送至信息交互层,而无需指定消息的使用者;