openhub_介绍OpenHub框架

openhub

本文介绍OpenHub框架 -基于Apache Camel的新的开源集成解决方案。 本文回答了一些问题,为什么您应该关心另一个集成框架,强弱属性以及如何使用OpenHub启动新项目。

OpenHub框架是Apache Camel,但经过改进……

当然,您只能使用Apache Camel,但是您需要添加许多其他库,检查它们的兼容性,准备数据库和应用程序服务器,然后一起配置和调整所有内容以提高生产质量。 此外,要解决实际问题,您通常需要的不仅仅是基本功能……

OpenHub框架汇集了最好的应用程序库和框架,并创建了一个经过验证,测试和支持的应用程序堆栈,您可以将其应用并立即开始集成。 此外,您将获得仅在商业版本中可用的企业功能。

此外,OpenHub框架提供了一种有效的方法来构造项目,创建路线并对其进行测试。 它基于多年的实施集成项目经验。 但是,由您决定使用哪种方法,无论是OpenHub的功能还是直接使用Apache Camel 。 使用骆驼的功能没有任何限制。 您可以从Camel,OpenHub框架或其他第三方组件中选择功能。 当然,您可以使用Apache Camel可以使用的相同工具,例如RedHat®JBoss®Fuse或Hawtio 。

我们的建议是最好两者兼用–使用OpenHub框架作为基础(定义项目结构,应用程序堆栈,为将来的使用提供很多有用的功能……),以及所需的任何Camel功能,以及可以使用的第三方工具与Apache Camel合作 。

建筑

OpenHub框架扩展了Apache Camel,因此基础架构来自Apache Camel。 我们使用以下库和框架创建了完整的应用程序堆栈:

  • Sprint Boot
  • Spring框架
  • Spring Security解决了安全性问题
  • Spring Web Services是Web服务通信的主要组件
  • Hibernate实现持久化
  • PostgreSQL数据库(或用于单元测试的H2 DB )
  • Apache Tomcat应用程序服务器
  • Hazelcast缓存/内存网格
OpenHub application architecture

建筑

OpenHub对数据库和应用程序服务器是中立的。 OpenHub支持本地安装和云安装。

OpenHub框架的创建考虑了灵活性–您可以使用Camel,OpenHub的实现/扩展实现,也可以编写自己的实现。

为什么要使用OpenHub框架?

OpenHub具有企业功能,例如异步消息传递模型,集群支持和其自己的管理控制台。

在异步消息传递模型中实现了以下模式:

  • 父子概念 –如果一条消息太复杂而无法处理,则可以将其拆分为较小的子消息(部分消息),
  • 过时的消息 -此功能检查重复和过期的呼叫,
  • 漏斗用于过滤特定集成点处的并发消息。 这种过滤可确保即使是按保证的顺序(可选选项),一次只处理一条消息,
  • 保证的消息处理顺序可确保传入消息的处理顺序,
  • 向被叫方系统确认 –处理异步消息(处于最终状态)时,OpenHub可以将有关处理结果的信息传输给被叫方,系统,
  • 监视/警报 –定义用于监视数据库数据的度量,如果任何度量超出其限制,则将激活警报并可以执行进一步的操作。

从性能的角度来看,同步消息没有任何限制-它与Apache Camel一样快。 对于异步消息,默认情况下,我们使用数据库来保存状态-尽管从性能的角度来看,这在某些情况下可能是瓶颈,但它仍然具有许多优点。 到目前为止,我们还没有在实际项目中达到性能极限,但对于真正需要性能的项目,我们不会推荐它。 另一方面,我们认为每个公司都有一个数据库,因此我们也想将其重用于OpenHub。 但是,仍有可能在您的公司中使用JMS / MQ系统来支持异步消息传递。

OpenHub's admin console GUI

管理控制台

建立新专案

参考OpenHub框架的父构件创建新的Maven项目:

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.openhubframework.ri</groupId><artifactId>ri-openhub</artifactId><version>1.0.0-SNAPSHOT</version><name>OpenHub - Reference implementation</name><packaging>pom</packaging><parent><groupId>org.openhubframework</groupId><artifactId>openhub</artifactId><version>2.0.0.RC1</version></parent><modules><module>openhub-ext</module><module>openhub-war</module></modules>
...

我们建议使用至少两个模块创建以下项目结构:

  • 项目 –用于项目特定路线和业务逻辑的模块
  • war –一起构建该项目和OpenHub框架的模块

我们使用基本的集成方案创建了参考项目实施 。

OpenHub's reference project structure

项目结构

资料来源

  • 网址: www.openhubframework.org
  • Wiki: https : //openhubframework.atlassian.net
  • GitHub OpenHub: https : //github.com/OpenWiseSolutions/openhub-framework
  • GitHub OpenHub-RI: https : //github.com/OpenWiseSolutions/openhub-ri

翻译自: https://www.javacodegeeks.com/2017/10/introducing-openhub-framework.html

openhub

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

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

相关文章

spring 导出csv_Spring批处理CSV处理

spring 导出csv总览 我们将讨论的主题包括使用Spring Batch进行批处理的基本概念&#xff0c;以及如何将数据从CSV导入数据库。 0 – Spring Batch CSV处理示例应用程序 我们正在构建一个应用程序&#xff0c;演示用于处理CSV文件的Spring Batch的基础。 我们的演示应用程序将…

python强制结束函数_为什么Python没有 main 函数?终于有人给出了正确答案!

毫无疑问&#xff0c;Python中没有所谓的 main 入口函数&#xff0c;但在网上经常有文章提到“Python中的main函数”和“建议编写main函数”等。他们的目的可能是模仿真实的 main 函数&#xff0c;但是经常有很多人被误导&#xff08;或误解&#xff09;并编写非常繁琐的代码。…

MacOS 如何显示/隐藏文件

文章目录显示/隐藏文件快捷键修改“访达”属性修改文件隐藏属性设置特殊文件名实现隐藏使用命令设置文件隐藏属性显示/隐藏文件 快捷键 按下 Shift Command . 可以显示隐藏型的文件&#xff0c;再按下 Shift Command . 则不显示隐藏型的文件 修改“访达”属性 defaults…

不相关子查询的工作方式是_课题组工作|Nucleic Acids Research|基于表达密度谱的特征子空间分离及相关单细胞转录组分群新算法...

大家好&#xff01;为大家分享本课题组近期发表在Nucleic Acids Research的文章&#xff0c;题目为 “Entropy subspace separation-based clustering for noise reduction (ENCORE) of scRNA-seq data”&#xff0c;文章提出了一种基于表达密度谱的特征选择方法&#xff0c;能…

java 9 module_Java 9:欢迎来到Module World

java 9 moduleJava 9已于9月21日正式发布&#xff0c;Eclipse从Eclipse Oxygen.1a&#xff08;4.7.1a&#xff09;支持Java 9&#xff0c;让我们进入模块世界。 从此处下载Java 9&#xff0c;并将其添加到Eclipse Installed JRE中&#xff0c;如下所示 就是这样&#xff0c;…

Mac OS 通过配置窗口来连接远程主机

点击连接后&#xff0c;就跳到命令终端窗口中&#xff0c;输入远程主机 root 用户的登录密码&#xff0c;则完成连接。

温度补偿计算公式_一种工业用温度测量模块的设计与实现

一种工业用温度测量模块的设计与实现罗伯特侯0 引言温度是工业生产中最重要的参数之一&#xff0c;因此温度测量设备在工业领域不可或缺。热电偶是工业场合中应用最广泛的温度传感器,它的主要特点是测温范围宽,价格低&#xff0c;同时结构简单,坚固耐用。笔者采用高集成度、高精…

微博如何发订阅消息_微信订阅号或将大变天,微博8年前就这么干了...

近日&#xff0c;微信又偷偷的做了一个大胆的尝试&#xff0c;将公众号消息排序改版&#xff0c;不再按照一直以来的“时间轴展示”&#xff0c;而是学起了微博&#xff0c;变成了“智能排序”。微信的“阅读效率优化”排序不过可能是为了独树一帜&#xff0c;微信管这种排序方…

indesign如何画弧线_彩铅画入门教程,如何给独角兽设计一款好发型

戳这里 → 查看“爱蜜干货文章目录”本次综合训练的目的1&#xff0e;挖掘你的绘画感和想象力&#xff0c;彩色鬃毛色彩大家可以自由发挥哦&#xff01;2.练习彩铅的长线条&#xff0c;现在练习的长条还是比较简单的&#xff0c;下次综合训练我们还会练习更加复杂的3.彩铅这种画…

微型计算机作为载体的部件是,大工11秋《计算机应用基础》辅导资料二

计算机应用基础辅导资料二主题&#xff1a;计算机基础知识的辅导资料学习时间&#xff1a;2011年10月10日&#xff0d;10月16日内容&#xff1a;这周我们主要学习课件&#xff0e;&#xff0e;第二章计算机的基础知识&#xff0c;本章的学习要求及需要掌握的重点内容如下&#…

markdown如何设置图片大小_Gitee(码云)实现免费 Markdown 图床

“阅读本文大概需要 6 分钟前言Markdown是一种易于上手的轻量级标记语言&#xff0c;由于其目的在于注重文字内容而不是排版&#xff0c;目前很受大家欢迎&#xff0c;写完一篇文档可以直接复制到其他各大平台上&#xff0c;不用担心格式字体等混乱问题但是文章中如果引用了某个…

适合利用计算机模拟的是,计算机模拟在数学建模中的应用

计算机模拟在数学建模中的应用计算机模拟是按时间来划分的&#xff0c;因为计算机模拟实质上是系统随时间变化而变化的动态写照&#xff0c;以下是小编搜集整理的一篇探究计算机模拟在数学建模应用的论文范文&#xff0c;供大家阅读参考。【摘要】本文主要阐述了如何利用计算机…

噪音声压和声功率的区别_南昌汽车隔音,深入了解汽车噪音的来源、危害以及解决方案...

汽车噪音带来的危害&#xff1a;汽车噪音对人体健康的影响是多方面的。噪音作用于人的中枢神经系统&#xff0c;使人们大脑皮层的兴奋与抑制平衡失调&#xff0c;导致条件反射异常&#xff0c;使脑血管张力遭到损害。这些生理上的变化&#xff0c;在早期能够恢复原状&#xff0…

lua加密教程_我们相信加密! 教程

lua加密教程许多人认为加密是一个复杂的主题&#xff0c;这很难理解。 可以实现其某些方面&#xff0c;但是每个人都可以理解它在更高层次上的工作方式。 这就是我要处理的这篇文章。 用简单的术语解释它是如何工作的&#xff0c;然后使用一些代码。 是的&#xff0c;我们信任…

生产用计算机软件管理台账,计算机台账管理系统

计算机台账管理系统计算机台账管理系统是什么&#xff1f;什么是计算机台账管理系统&#xff1f;对于设备管理而言&#xff0c;设备台账是其重要的组成部分&#xff0c;计算机台账管理系统对设备的编号、适用规格、年限、使用部门等具体信息进行管理&#xff0c;方便设备资产的…

fcpx怎么合成延时摄影_延时摄影合成终极后期教程

原来常见的延时摄影&#xff0c;一般都是软件生成或视频加速实现&#xff0c;这种方法简单快捷&#xff0c;但是后期处理空间小&#xff0c;画质差。现在追求高画质都会采用拍摄照片&#xff0c;后期合成&#xff0c;索尼等相机型号&#xff0c;自带有间隔拍摄功能&#xff0c;…

计算机网络的拓扑模型,基于复杂网络模型的计算机网络拓扑结构研究

一篇基于复杂网络模型的计算机网络拓扑结构研究论文第卷期第年月计算机科学基于复杂网络模型的计算机网络拓扑结构研究杜彩凤中国石油大学摘,东营,要,随着计算机网络的快速发展网络结构日益复杂传统的随机网络模型已很难对其拓扑特性作出客观的描,.述因此复杂网络理论为计算机网…

交华为换机access配置_华为交换机VLAN内Proxy ARP配置示例

华为交换机VLAN内Proxy ARP配置示例1、组网需求图1 VLAN内Proxy ARP组网示例图如上图1所示&#xff0c;Switch的接口GE1/0/2和GE1/0/1属于同一个sub-VLAN2。该sub-VLAN属于super-VLAN3。要求&#xff1a;属于同一VLAN2的两台主机hostA和hostB之间二层隔离。hostA和hostB之间通过…

java中regex_Java 9中的新Regex功能

java中regex最近&#xff0c;我收到了Packt出版的Anubhava Srivastava提供的免费书籍“ Java 9 Regular Expressions” 。 这本书是一个很好的教程&#xff0c;它向想要学习正则表达式并从头开始的任何人介绍。 那些知道如何使用正则表达式的人可能仍然很有趣&#xff0c;以重申…

如何将本地 Windows 电脑中的文件复制(上传)到远程的 Windows 服务器主机上

文章目录第一步&#xff1a;点击「远程桌面连接」第二步&#xff1a;输入远程主机 IP 和 port第三步&#xff1a;设置本地目录共享第四步&#xff1a;点击「连接」按钮&#xff0c;输入登录用户名和密码第五步&#xff1a;复制本地文件到远程主机上第一步&#xff1a;点击「远程…