介绍OpenHub框架

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

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

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

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

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

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

建筑

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

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

项目结构

资料来源

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值