介绍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。 我们使用以下库和框架创建了完整的应用程序堆栈:

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

建筑

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

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

为什么要使用OpenHub框架?

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

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

  • 父子概念 –如果一条消息太复杂而无法处理,则可以将其拆分为较小的子消息(部分消息),
  • 过时的消息 -此功能检查重复和过期的呼叫,
  • funnel用于在特定的集成点过滤并发消息。 这种过滤可确保即使是按保证的顺序(可选选项),一次只处理一条消息,
  • 有保证的邮件处理顺序可确保传入邮件的处理顺序,
  • 向被叫方系统确认 –处理异步消息(处于最终状态)时,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

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

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

相关文章

问题 1072: 汽水瓶

题目描述有这样一道智力题&#xff1a;“某商店规定&#xff1a;三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶&#xff0c;她最多可以换多少瓶汽水喝&#xff1f;”答案是5瓶&#xff0c;方法如下&#xff1a;先用9个空瓶子换3瓶汽水&#xff0c;喝掉3瓶满的&#xff0…

呼叫我或异步REST

本文是使用Spring Boot Java 8创建的工作正常的异步REST应用程序的非常简单的示例。SpringBoot使得开发Web应用程序几乎非常容易&#xff0c;但是为了简化任务&#xff0c;我从Spring存储库中举了一个例子&#xff0c;称为rest- service &#xff0c;将其分叉到我自己的存储库…

NOIP模拟测试22「位运算」

范围n-----$100000$ m $30$ 输出方案 这是一个很好的$dp$题 首先我们应该看出来一条性质只要你最后有方案达到$n$个$1$&#xff0c;那么你可以达到任何一种$n$个$1$的情况 例如 你最后可以达到$3$个$1$ 那么你可以达到$11100 $ $ 01110$ $01011$ $01101$等方案 证明&a…

系统测试集成测试单元测试_等待正确的时刻–集成测试

系统测试集成测试单元测试当您必须测试多线程程序时&#xff0c;总是需要等到系统达到特定状态为止&#xff0c;此时测试可以验证是否已达到正确的状态。 这样做的通常方法是在系统中插入一个“探针”&#xff0c;该探针将向同步原语发出信号 &#xff08;例如Semaphore &…

Apollo的基本概念和集成实战

基本概念 使用场景 是一个分布式的配置中心。适用于微服务&#xff1b; 核心功能 集中管理不同环境&#xff0c;不同集群的配置&#xff1b;配置修改后可以实时推送到应用端&#xff1b;具备规范的权限&#xff0c;流程治理特性&#xff1b;开发技术 服务端使用springboot,spri…

flatMap()和事件顺序– RxJava常见问题解答

正如我们已经发现的&#xff0c; flatMap()不会保留原始流的顺序。 让我们使用上一篇文章的GeoNames API示例进行说明 &#xff1a; public interface GeoNames {Flowable<Long> populationOf(String city);}通过使用flatMap()请求多个城市的人口&#xff0c;我们不能保…

技术管理规划-从哪入手?

前言 最近在学习技术管理课程&#xff0c;对学习的内容做一些笔记&#xff0c;结合当前的工作环境在对应的知识点上做一些思考&#xff0c;慢慢建立自己的团队管理方法论。 学习方法 早上骑单车的时候或者跑步的时候听音频&#xff0c;熟悉课程内容&#xff1b;仔细阅读文字&am…

NOIP模拟测试23「mine·water·gcd」

mine 题解 一道比较水的dp 考试因为初始化挂掉了只有$80$分 代码有注释 #include<bits/stdc.h> using namespace std; //无脑dp #define ll long long #define A 2222222 const ll mod1e97; //设f[x][5][2]为当前是第x个格子,当前填什么 0前面填1后面填 ll f[A][5][2]; /…

在AWS中设置Cassandra集群

Apache Cassandra是一个NoSQL数据库&#xff0c;它使用一致的哈希机制可以轻松进行水平扩展。 七年前&#xff0c;我尝试了它&#xff0c;并决定不将其用于我的附带项目&#xff0c;因为它太新了。 现在情况有所不同&#xff0c;Cassandra早已建立起来&#xff0c;背后有一家公…

k8s停止服务_使用 K8S 几年后,这些技术专家有话要说

9 月 7 日下午&#xff0c;在深圳南山软件产业基地&#xff0c;腾讯云 K8S & 云原生技术开放日成功落幕&#xff0c;来自腾讯、灵雀云、超参数科技、虎牙等资深技术专家与现场开发者共同探讨企业落地 K8S 的过程中遇到的难点以及解决问题的方法。K8S 逐渐成为容器编排的标准…

spring的事件机制实战

理论 在分布式场景下&#xff0c;实现同步转异步的方式有三种方式&#xff1a; 1.异步线程池执行&#xff1b;比如借助Asyn注解&#xff0c;放到spring自带的线程池中去执行&#xff1b; 2.放到消息队列中&#xff0c;在消费者的代码中异步的消费&#xff0c;执行相关的逻辑&am…

苹果wifi网速慢怎么办_所以,WiFi和4G到底哪个更耗电?

来源 | 中科院物理所(ID&#xff1a;cas-iop)编辑 | 椒盐猫巨烦现代人行走江湖&#xff0c;必备三件法宝&#xff1a;手机&#xff0c;网络&#xff0c;充电宝。即便在4G基站遍布各个旮旮角角的今天&#xff0c;当你带着心仪的人儿走进一家咖啡店&#xff0c;第一件事仍然是低声…

问题 1073: 弟弟的作业

题目描述你的弟弟刚做完了“100以内数的加减法”这部分的作业&#xff0c;请你帮他检查一下。每道题目&#xff08;包括弟弟的答案&#xff09;的格式为abc或者a-bc&#xff0c;其中a和b是作业中给出的&#xff0c;均为不超过100的非负整数&#xff1b;c是弟弟算出的答案&#…

苹果4怎么越狱_苹果手机如何截屏

很多用过苹果手机的用户对苹果的评价可是非常高对&#xff0c;苹果手机最大的特点便是手感好&#xff0c;并且使用一年以上也不会卡机现象&#xff0c;因此苹果手机才得到了广泛的关注。苹果手机的截屏程序与安卓手机不同&#xff0c;一般情况下&#xff0c;安卓手机是可以设置…

简单的Spring Boot管理员设置

Spring Boot Admin是一个不错的仪表板&#xff0c;用于监视您的Spring Boot应用程序。 但是&#xff0c;设置它并不是一件容易的事。 该文档概述了两个选项 &#xff1a; 在连接到admin应用程序的启动应用程序中包括一个客户端库–这要求将admin应用程序部署在公共位置或至少可…

NOIP模拟测试19「count·dinner·chess」

反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍然认为不可实现 0分 所以T1是什么样的难题呢 即使暴力也有60分,但我楞没想出来暴力怎么打…

react组件卸载调用的方法_好程序员web前端培训分享React学习笔记(三)

好程序员web前端培训分享React学习笔记(三)&#xff0c;组件的生命周期React中组件也有生命周期&#xff0c;也就是说也有很多钩子函数供我们使用, 组件的生命周期&#xff0c;我们会分为四个阶段&#xff0c;初始化、运行中、销毁、错误处理(16.3之后)初始化在组件初始化阶段会…

静态工厂方法代替构造器实例_静态工厂方法与传统构造方法

静态工厂方法代替构造器实例之前&#xff0c;我已经讨论过一些关于Builder模式的信息 &#xff0c; Builder Pattern是一种有用的模式&#xff0c;用于实例化具有几个&#xff08;可能是可选的&#xff09;属性的类&#xff0c;这些属性可以使读取&#xff0c;编写和维护客户端…

NOIP模拟测试21「折纸·不等式」

折纸 题解 考试时无限接近正解&#xff0c;然而最终也只是接近而已了 考虑模拟会爆炸&#xff0c;拿手折纸条试一试&#xff0c;很简单 考你动手能力 代码 #include<bits/stdc.h> using namespace std; #define ll long long #define A 3100000 ll cj[A],questions[A]; l…

小孔成像总结_科学实践小孔成像

科学实践小孔成像-徐征浩、周永锋耳闻之不如目见之&#xff0c;目见之不如足践之。行是知之始&#xff0c;知是行之成。聪明不仅仅是理论上&#xff0c;它还体现在实践等方面。国庆期间&#xff0c;同学们运用物理课堂上所学的知识制作了小孔成像和土电话这些常见的物理仪器&am…