
下午好,亲爱的读者。
有诸如
ESB之类的产品。 如Wikipedia所述,这是一种中间件,可在...与以下版本之间提供集中且统一的面向事件的消息传递。 这种ESB的例子并不多,而且应用范围相当狭窄。 这些ESB之一是IBM Integration Bus(IIB),其最新版本为9,称为IBM Message Broker。
几年前,我遇到了IIB之类的产品。 为了了解它是哪种动物,我发现在俄语俄语的互联网上很少提及它。 这篇文章将全面介绍这款非常融合的轮胎,并为正在寻找我的人们提供帮助。
在俄罗斯,该产品非常有限地用于银行,保险和物流。 恰好在工作流程很大且对可靠性有很高要求的地方。 同样在最近,一个大型天然气项目正在寻找IIB的专家。 我不知道总线在那儿如何应用,但是遥测(MQTT)是可能的。
该软件的本质是将N个系统相互连接,即使这些系统具有完全不同的接口和格式也是如此。 假设X系统在其数据库的表中创建了一个条目,当它出现时,我们想在内部将传输记录的字段的内部调用带有JSON的另一个应用程序的REST API,并在发送到X应用程序的另一个表上加上标记。保证交货。 (当一个应用程序爬入另一个应用程序的数据库时,这很糟糕,但是确实发生了!)这就是IIB流的典型任务。
IIB正在开发什么
IIB中最方便的事情之一是图形编程。 在Eclipse环境中,从面板中的面板中拉节点,将它们连接在一起以及在两者之间,一切正常。
看起来像这样:

但是您通常也需要编写代码。 为了转换消息或逻辑,主要语言是ESQL(扩展SQL)。 它在语法上类似于PL / SQL,但针对使用树形数据结构而进行了改进。
CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END;
还支持多种编程语言:
将消息从一种格式转换为另一种格式的一种便捷方法是数据映射:

非常清楚,这与您在代码中执行的情况不同。
上面我谈到了消息转换的问题,但是在此之前需要接收一条消息。 为此,politra上有很多Input节点。 在我的实践中最常见的是:
- MqInput
- 文件输入
- SOAPInput
- HTTP输入
- 超时通知
要显示一条消息,其结果将大致相同。 对于个别情况,可以编写自己的节点以用于消息的输入,输出或转换。
在最新版本之前,IIB与IBM MQ有着千丝万缕的联系,但是在IIB的最新版本中,这不再是必需的。 但是如果没有MQ,部分功能将无法使用,因此基本的工作方案涉及MQ的安装。
由于这是第一篇文章,因此我做了介绍。 如果对该主题感兴趣,我将继续讲故事。
有用的链接:
IBM知识中心论坛