本文介绍了 OpenHub 框架 – 基于 Apache Camel 的全新开源集成解决方案。本文回答了为什么您应该关心另一个集成框架、什么是强/弱属性以及如何使用 OpenHub 开始新项目的问题。
您当然可以只使用 Apache Camel,但您需要添加许多其他库,检查它们的兼容性,准备数据库和应用程序服务器,然后一起配置和调整所有内容以提高生产质量。此外,为了解决实际问题,您通常需要的不仅仅是基本功能……
OpenHub 框架汇集了最好的应用程序库和框架,并创建了一个经过验证、测试和支持的应用程序堆栈,您可以使用它并立即开始集成。此外,您可以获得仅在商业版本中可用的企业功能。
此外,OpenHub 框架提供了一种构建项目、创建路由和测试它们的有效方法。它基于多年实施集成项目的经验。不过,使用哪种方法取决于您,是使用 OpenHub 的功能还是直接使用 Apache Camel。使用 Camel 的功能没有任何限制。您可以从 Camel、OpenHub 框架或其他第三方组件中选择功能。当然,您可以使用与 Apache Camel 相同的工具,例如 Red Hat® JBoss® Fuse 或 Hawtio。
我们的建议是两者兼顾——使用 OpenHub 框架作为基础(定义项目结构、应用程序堆栈、提供许多有用的功能以供将来使用……)以及您需要的任何 Camel 功能,以及第三方工具使用 Apache Camel。
OpenHub 框架扩展了 Apache Camel,因此 base architecture 来自 Apache Camel。我们已经使用以下库和框架创建了完整的应用程序堆栈:
架构
OpenHub 对数据库和应用服务器是中立的。 OpenHub 支持内部部署和云安装。
OpenHub 框架的创建考虑到了灵活性——您可以使用/扩展 Camel、OpenHub 的实现或编写自己的实现。
OpenHub 带有企业功能,例如异步消息传递模型、集群支持和它自己的管理控制台。
以下模式在异步消息传递模型中实现:
从性能的角度来看,同步消息没有任何限制——它和 Apache Camel 一样快。对于异步消息,我们默认使用数据库来保存状态——尽管从性能的角度来看,这在某些情况下可能是瓶颈,但它仍然有很多优点。到目前为止,我们还没有在实际项目中达到性能限制,但我们不建议将其用于对性能要求很高的项目。另一方面,我们相信每家公司都有一个数据库,因此我们也希望将它重新用于 OpenHub。尽管如此,您的公司还是有可能使用 JMS/MQ 系统来支持异步消息传递。
管理控制台
参考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> ...
我们建议创建至少包含两个模块的以下项目结构:
我们已经创建了具有基本集成方案的参考项目实施。
项目结构
标签2: Java教程地址:https://www.cundage.com/article/jcg-introducing-openhub-framework.html