介绍OpenHub框架
本文介紹了OpenHub框架 -基于Apache Camel的新的開源集成解決方案。 本文回答了一些問題,為什么您應(yīng)該關(guān)心另一個集成框架,強(qiáng)弱屬性以及如何使用OpenHub啟動新項(xiàng)目。
OpenHub框架是Apache Camel,但經(jīng)過改進(jìn)……
當(dāng)然,您只能使用Apache Camel,但是您需要添加許多其他庫,檢查它們的兼容性,準(zhǔn)備數(shù)據(jù)庫和應(yīng)用程序服務(wù)器,然后一起配置和調(diào)整所有內(nèi)容以提高生產(chǎn)質(zhì)量。 此外,要解決實(shí)際問題,您通常需要的不僅僅是基本功能……
OpenHub框架匯集了最好的應(yīng)用程序庫和框架,并創(chuàng)建了一個經(jīng)過驗(yàn)證,測試和支持的應(yīng)用程序堆棧,您可以將其應(yīng)用并立即開始集成。 此外,您還將獲得僅在商業(yè)版本中可用的企業(yè)功能。
此外,OpenHub框架提供了一種有效的方法來構(gòu)造項(xiàng)目,創(chuàng)建路線并對其進(jìn)行測試。 它基于幾年的實(shí)施集成項(xiàng)目經(jīng)驗(yàn)。 不過,由您決定使用哪種方法,無論是OpenHub的功能還是直接使用Apache Camel 。 使用駱駝的功能沒有任何限制。 您可以從Camel,OpenHub框架或其他第三方組件中選擇功能。 當(dāng)然,您可以使用Apache Camel可以使用的相同工具,例如RedHat?JBoss?Fuse或Hawtio 。
我們的建議是最好兩者兼用-使用OpenHub框架作為基礎(chǔ)(定義項(xiàng)目結(jié)構(gòu),應(yīng)用程序堆棧,為將來的使用提供很多有用的功能……),以及所需的任何Camel功能,以及可以使用的第三方工具與Apache Camel一起 。
建筑
OpenHub框架擴(kuò)展了Apache Camel,因此基礎(chǔ)架構(gòu)來自Apache Camel。 我們使用以下庫和框架創(chuàng)建了完整的應(yīng)用程序堆棧:
- Spring靴
- Spring框架
- Spring Security解決了安全性問題
- Spring Web Services是Web服務(wù)通信的主要組件
- 休眠實(shí)現(xiàn)持久化
- PostgreSQL數(shù)據(jù)庫(或用于單元測試的H2 DB )
- Apache Tomcat應(yīng)用程序服務(wù)器
- Hazelcast緩存/內(nèi)存網(wǎng)格
建筑
OpenHub對數(shù)據(jù)庫和應(yīng)用程序服務(wù)器是中立的。 OpenHub支持本地安裝和云安裝。
OpenHub框架的創(chuàng)建考慮到了靈活性–您可以使用Camel,OpenHub的實(shí)現(xiàn)/擴(kuò)展實(shí)現(xiàn),也可以編寫自己的實(shí)現(xiàn)。
為什么要使用OpenHub框架?
OpenHub具有企業(yè)功能,例如異步消息傳遞模型,集群支持和其自己的管理控制臺。
在異步消息傳遞模型中實(shí)現(xiàn)了以下模式:
- 父子概念 –如果一條消息太復(fù)雜而無法處理,則可以將其拆分為較小的子消息(部分消息),
- 過時的消息 -此功能檢查重復(fù)和過期的呼叫,
- funnel用于在特定的集成點(diǎn)過濾并發(fā)消息。 這種過濾可確保即使是按保證的順序(可選選項(xiàng)),一次只處理一條消息,
- 有保證的郵件處理順序可確保傳入郵件的處理順序,
- 向被叫方系統(tǒng)確認(rèn) –處理異步消息(處于最終狀態(tài))時,OpenHub可以將有關(guān)處理結(jié)果的信息傳輸給被叫方,系統(tǒng),
- 監(jiān)視/警報 –定義用于監(jiān)視數(shù)據(jù)庫數(shù)據(jù)的度量,如果任何度量超出其限制,則將激活警報并可以執(zhí)行進(jìn)一步的操作。
從性能的角度來看,同步消息沒有任何限制-它與Apache Camel一樣快。 對于異步消息,默認(rèn)情況下,我們使用數(shù)據(jù)庫來保存狀態(tài)-盡管從性能的角度來看,這在某些情況下可能是瓶頸,但它仍然具有許多優(yōu)點(diǎn)。 到目前為止,我們還沒有在實(shí)際項(xiàng)目中達(dá)到性能極限,但是對于真正需要性能的項(xiàng)目,我們不會推薦它。 另一方面,我們認(rèn)為每個公司都有一個數(shù)據(jù)庫,因此我們也想將其重用于OpenHub。 但是,仍有可能在您的公司中使用JMS / MQ系統(tǒng)來支持異步消息傳遞。
管理控制臺
建立新專案
參考OpenHub框架的父構(gòu)件創(chuàng)建新的Maven項(xiàng)目:
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> ...我們建議使用至少兩個模塊創(chuàng)建以下項(xiàng)目結(jié)構(gòu):
- 項(xiàng)目 –項(xiàng)目特定路線和業(yè)務(wù)邏輯模塊
- war –一起構(gòu)建該項(xiàng)目和OpenHub框架的模塊
我們使用基本的集成方案創(chuàng)建了參考項(xiàng)目實(shí)施 。
項(xiàng)目結(jié)構(gòu)
資料來源
- 網(wǎng)址: 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
總結(jié)
以上是生活随笔為你收集整理的介绍OpenHub框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好的英语怎么读 好的英语是什么
- 下一篇: 呼叫我或异步REST