企业集成模式_企业集成模式简介

企业集成模式

在此博客文章中,我们将介绍一些企业集成模式。 这些是旨在解决集成挑战的已知设计模式。 阅读此书后,您将可以设计集成解决方案。

EIP(简而言之)是已知的设计模式,可为应用程序集成过程中面临的问题/问题提供解决方案。 显而易见的问题是,在集成应用程序时我们需要处理哪些问题/问题?

  • 应用程序本质上是异构的,它们使用不同的语言开发,在不同的OS上运行,了解不同的数据格式。
  • 应用程序会发生很大的变化,它们会进行升级,其API也会随着时间而变化。
  • 他们需要以可靠和安全的方式通过网络交换数据。

EIP分为以下类别。 邻近这些,还指定了用于引用这些模式的符号。

集成样式:

文件传输

在这种模式下,应用程序使用文件交换信息,文件在某个公共位置共享。

共享数据库

在这里,应用程序使用通用的数据库架构。

讯息传递

实体在想要交换数据的应用程序之间进行中介。 它的工作是接受生产者的消息,然后传递给消费者。 消息传递有助于在集成应用程序时实现松散耦合。 它将连接的应用程序与随时间变化的API更改/升级隔离。

RPC

在此应用程序中,使用接口公开其功能,调用者需要意识到这些并使用存根调用它们。 除了RPC以外,以上三种机制本质上都是异步的。

下一组模式讨论消息系统:

信息

消息的结构由所使用的消息传递系统很好地定义。 它通常包含标题和正文部分。

讯息频道

通道是产生消息的媒介。 它们是通常的队列和主题。

管道和过滤器

当需要在将消息传递到消费者应用程序之前对其进行处理时,此模式很有用。

讯息路由器

当发送方应用程序不知道接收方在哪个通道上时
已订阅。 在两者之间使用路由器在网络上传递消息。
正确的频道。 它具有路由规则,该规则决定消息的位置 应交付。

讯息翻译器

翻译器用于更改消息的格式。 在接收方应用程序理解XML的同时,发送方应用程序可能会发送CSV数据,在这种情况下,我们需要在接收方应用程序之前执行转换器,以完成CSV到XML的转换。

消息端点

端点是帮助应用程序与之交互的组件
消息传递系统。它们具有用于与之通信的内置协议
消息传递系统。它们是消息产生者和消费者。

通道模式:这些模式讨论消息传递通道的属性。

对等2对等

向单个使用者传递消息的渠道。 示例是一个队列

发布订阅

向所有订阅用户广播消息的频道。 主题属于发布订阅性质。

死信频道

用于移动无法处理的消息的通道。 消费者无法理解或消息过期的情况。 从监视和管理的角度来看,这很重要。

讯息桥

这些是桥接不同消息传递系统的通道适配器。 考虑有两种企业系统的情况,一种使用Mircosoft的MQ,而另一种使用IBM的MQ服务器。 在那里,您需要一个可以连接这些桥梁的桥梁。

保证交货

持久性通道用于保证消息传递。 万一消息系统崩溃,它将丢失内存中存在的所有消息。 因此,通常会备份通道的持久性存储,其中存储了通道中的所有消息。

消息构造模式:这些模式用于指定消息的意图。 接收者收到消息后该怎么办?

命令讯息

这些指定接收方应调用的方法或功能。 考虑使用XML的情况,根节点可以指定方法名称,而子元素可以指定方法调用的参数。

文件讯息

当发送方传递数据但不知道接收方应如何处理时。

活动讯息

发件人发送有关其末尾发生的更改的通知消息。
此处,接收者可以选择忽略或对此做出React。

要求回覆

在这种情况下,发送者希望得到回复。 消息可能由两部分组成,一部分包含请求,另一部分由接收者填充,即响应。

相关标识符

如果响应是异步接收的,则用于关联
响应及其相应的请求。

路由模式

基于内容的路由

检查消息以确定正确的通道。 使用XML的地方,规则是用XPath编写的。

讯息筛选器

当接收方仅对具有某些属性的消息感兴趣时,则需要应用过滤器。 此功能通常随消息传递系统内置。

分离器

如果消息批量到达。 需要使用拆分器将消息分解为可以单独处理的部分。

聚合器

聚合器的作用与拆分器相反。 它关联并合并类似的消息。

转型模式

内容丰富

扩充器负责向消息中添加其他信息。
如果不存在用于处理消息的所有数据,则这是必需的。

内容过滤

内容过滤器执行相反的操作,即从邮件中删除不需要的数据。

归一化

规范化器负责转换到达不同位置的消息
格式转换为通用格式。 您的应用程序需要具有接受能力
JSON,XML,CSV等格式的数据,但是处理逻辑只能理解XML,在这种情况下,您需要使用规范化器。

端点模式

交易客户

交易客户有助于与外部交易服务进行协调。

邮件调度程序

消息分派器是接收者将到达的消息分派给工作人员的一种模式。 工人负责处理消息。

事件驱动的消费者

在此,接收者在消息传递系统上注册一个动作;
在收到消息时,消息传递系统将调用该操作。

系统管理模式:这些模式指定了有效监视和管理系统的方式。

车辆改道

顾名思义,将更改消息的路径以执行诸如验证,日志记录等活动。这种额外的处理是基于控制的,出于性能原因可以将其关闭。

丝锥

在这里,消息被复制到通道,然后被检索以进行检查或分析。

留言库

当消息从接收者传递到处理单元时,整个消息或消息的一部分(标头或消息主体的某些属性)都存储在中央位置。

要深入了解更多信息,请访问eaipatterns.com,它已经详细阐述了这些模式。 在接下来的博客文章中,我们还将研究Apache Camel,它为许多这些模式提供了实现。

参考:我们的JCG合作伙伴 Abhishek Jain在NS.Infra博客上介绍的企业集成模式 。

翻译自: https://www.javacodegeeks.com/2012/11/introduction-to-enterprise-integration-patterns.html

企业集成模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7安装

以Dell电脑为例,其他品牌电脑类似 Dell安装win7 一:快捷启动U盘或光盘的方法: 1, 打开戴尔Dell电脑,当进入到标志画面时,马上按键盘上方的F12键,就能进入到快捷启动菜单。 2, 进…

【Bootstrap】 框架 栅格布局系统设计原理

前提条件(Bootstrap 自带) 首先使用这个布局之前要定义一下代码: 这行代码如果不懂,可以搜索一下,总之大致意思就是,被定义的元素的内边距和边框不再会增加它的宽度,不加入的话排版会有问题。 不…

asp.net接受表单验证格式后再提交数据_药物临床试验数据管理与统计分析的计划和报告指导原则...

来源:国家药监局网站一、前言规范的数据管理计划有助于获得真实、准确、完整和可靠的高质量数据;而详细的统计分析计划则有助于保证统计分析结论正确和令人信服。为保证临床试验数据的质量和科学评价药物的有效性与安全性,必须事先对数据管理…

使用Spring Boot应用程序将代码管道化

这是有关基于本地Docker compose堆栈的持续交付的一系列帖子中的最后一篇(请参阅此处的第一篇和第二篇文章 )。 在这篇文章中,我使用一个简单的Spring Boot项目来展示如何利用“ 管道作为代码 ”的概念。 请注意,这仅是示例&#…

matlab function的使用

首先创建一个m文件; Matlab函数定义格式,用关键字function定义函数 function [输出变量] 函数名称(输入变量) % 注释 % 函数体 简单的函数如下: function [a,b,c]test(d,e,f) ade; bef; cfd; end 函数的调用: …

关键词热度分析工具_阿里国际站外贸独立站关键词的收集

很多朋友在做外贸独立站SEO和阿里巴巴国际站的时候,一定要查找收集一定数量的关键词,并且按照关键词的热度和词品相关性进行分类,从而为后面阿里巴巴国际站发布产品或者独立站谷歌推广打下坚实的基础。所谓磨刀不误砍柴工,好的关键…

matlab区分卷积和相关

区分卷积和相关 图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、…

2345电脑管家_2345软件管家下载|2345软件管家 2.0 官方正式版

对于很多类似的软件而言,这一款软件在互联网行业也不算无名之辈,毕竟你都搜索到这里,也是认可了这款软件的地位和作用。而且看最新的版本迭代,也有一些比较欣喜的变化,是以前版本所没有的。2345软件管家功能介绍 新一代…

matlab imwrite将图像保存到其他目录

%读入C:\desktop 文件夹下图片test.jpg imgimread(C:\desktop\test.jpg); %用imwrite将图片写入到D:\目标 文件夹下,并重命名为img_propose.jpg imwrite(img,D:\目标\img_propose.jpg);

设计模式 原型模式_原型设计模式:创建另一个小车

设计模式 原型模式创建对象确实是一个耗时的过程,也是一件昂贵的事情。 因此,我们现在正冒险节省时间和金钱。 我们该怎么做? 克隆奇迹多莉 有人记得多莉吗? 是的,是绵羊,是第一个被克隆的哺乳动物。 好吧…

实验四:三角形判断

本次实验问题稍多,出租车计价一题逻辑比较简单,就是情况比较多,在多次尝试后才让程序成功运行。而三角形的判断一题中主要出现了以下几点错误 1.else 和 if 语句不搭配 2.对三角形成立的条件理解不正确(是任意两边之和大于第三…

电脑键盘上每个键的作用_眼看着淡出大众视野 键盘上Esc键的隐秘往事

众所周知,苹果一些新的Macbook产品线不仅取消了Esc键,而且还对通常用于多数计算机键盘的功能键布局进行了变更。它们有的被转移到了TouchBar,有的则被永久取消掉了。那个常标配于每个键盘的Esc键,眼看着却有淡出大众视野的趋势——…

matlab save将变量值保存为mat

将变量a的值保存到.mat文件中 save(object.mat,a)

开发人员的新分布式基元

面向对象的原语(进程中的原语) 作为Java开发人员,我非常熟悉面向对象的概念,例如类,对象,继承,封装,多态性等。除了面向对象的概念之外,我还非常熟悉Java运行时。它提供的…

LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)

LOJ洛谷 这题不就是Peaks(加强版)或者归程么。。这算是\(IOI2018\)撞上\(NOI2018\)的题了?\(Kruskal\)重构树(具体是所有点按从小到大/从大到小的顺序,依次加入这些点的边),我们可以得到两棵树(和那两题不一…

b站在线解析_这款游戏被全B站所唾弃,每个月却依然有5000万玩家坚持在线?!...

彩虹 | 视频安妮 | 编辑《迷你世界》,相信不少人都听过这个名字。这是个非常神奇的游戏,当然并不是指这个游戏很有自己的特色或者有趣的玩法。它神奇的地方在于你随便在bilibili挑一个有关《迷你世界》的视频打开,弹幕都是“呕”、“开炮”、…

linux 安装软件

安装软件 下载软件的源网址所放目录 vi /etc/apt/sources.list sudo apt-get update 更新源 sudo apt-get install xxx 安装软件,xxx为软件名 sudo apt-get build-dep xxx 安装相关的编译环境 sudo apt…

怎么创建数据表的实体类和业务类_怎样创建一个网站?

怎样创建一个网站?创建网站有三个特别重要的元素,域名、服务器和程序,网站域名按照流程注册就可以了,网站服务器根据网站需要的空间选择,这两个只要你查查或者问提供商就可以慢慢操作的,其中最难的程序&…

Neo4j:绘制“我的名字是……我在工作”图

在过去的几天里,我一直在关注DHH兴起的“我的名字是……”的推文。 据我了解,其想法是表明在白板上编写采访谜语/艰巨任务是荒谬的。 您好,我叫大卫。 我将无法在白板上写气泡排序。 我一直在互联网上查找代码。 我不做谜语。 — DHH&#…