CUBA平台–新的Java企业应用程序框架
所以..你好,世界! 我們的英語網(wǎng)站終于可以正常使用了,現(xiàn)在每個人都可以下載該平臺,并可以以前所未有的速度更快地創(chuàng)建業(yè)務(wù)應(yīng)用程序。 在我們決定與國際Java社區(qū)共享足夠好之前,我們花了六年的永久發(fā)展和偶爾的革命,才使CUBA達(dá)到成熟水平,其中包括幾年的時間來創(chuàng)建廣泛的文檔,視頻教程和實時應(yīng)用程序。代碼樣本。 自2009年以來,該平臺已經(jīng)在Haulmont和其他俄羅斯IT公司的眾多項目中經(jīng)過了實戰(zhàn)驗證,從簡單的網(wǎng)站后端到運行24×7或可服務(wù)數(shù)千個并發(fā)用戶的端到端企業(yè)自動化解決方案。
如上所述, CUBA是針對業(yè)務(wù)應(yīng)用程序的。 我們假設(shè)此類應(yīng)用程序通常將需要復(fù)雜的數(shù)據(jù)模型,數(shù)百個屏幕,對運行各種業(yè)務(wù)流程的支持,強(qiáng)大的安全性要求以及多種集成。 除此之外,它們還應(yīng)具有可伸縮性,并準(zhǔn)備隨著業(yè)務(wù)發(fā)展而進(jìn)行永久更改。
那么, CUBA是什么?與現(xiàn)有的工具和框架有何不同? 簡而言之,它是一個基于多種Java技術(shù)的完整堆棧框架:Spring,Vaadin,OpenJPA,Lucene,jBPM,Gradle等。但是,單獨使用這些(或類似技術(shù))技術(shù)仍然需要太多的精力來開發(fā)復(fù)雜的應(yīng)用程序,因此CUBA引入了兩者之間的緊密集成。
CUBA應(yīng)用程序具有標(biāo)準(zhǔn)的三層體系結(jié)構(gòu)。 關(guān)系是元數(shù)據(jù)–應(yīng)用程序數(shù)據(jù)模型的知識。 首先,它使所有視覺組件都具有數(shù)據(jù)感知能力。 因此,例如,表“知道”它正在顯示驅(qū)動程序?qū)嶓w的某些屬性,而標(biāo)簽“知道”它正在顯示日期。 同樣,元數(shù)據(jù)可以幫助可視化組件與ORM進(jìn)行對話-定義應(yīng)加載或更新的對象圖。 這同樣適用于安全子系統(tǒng),報告生成器和平臺的其他部分。
用戶界面是聲明性的:您可以使用XML或視覺編輯器定義屏幕布局,從70多種視覺組件中進(jìn)行選擇,從各種按鈕到Google Maps和動態(tài)圖表。 然后,在Java控制器中添加初始化和事件處理邏輯。 考慮到數(shù)據(jù)感知組件,您可以非常快速地創(chuàng)建復(fù)雜的UI,并且由于代碼和布局之間清晰的分隔,它仍將易于維護(hù)。 默認(rèn)情況下,使用富Web客戶端–顯然,這意味著您無需擔(dān)心在最終用戶PC上安裝任何軟件。 此外,可以在桌面Java客戶端中顯示相同的UI,甚至可以在應(yīng)用程序中同時使用這兩個UI。
用戶界面的重要組成部分是通用過濾器-允許用戶創(chuàng)建自己的搜索條件的組件。 開發(fā)人員只需將組件放到瀏覽器屏幕(顯示實體列表的屏幕)上,然后就不用管它了。 用戶或管理員將定義他們要自行搜索的條件。
所有用戶動作均由安全子系統(tǒng)控制。 基于角色的模型控制CRUD訪問實體屬性,甚至可以在代碼中使用的某些屏幕組件或自定義令牌。 行級安全性有助于控制對不同數(shù)據(jù)段的訪問-例如,部門A的用戶只能看到部門A的文檔。當(dāng)然,所有內(nèi)容都在運行時在UI中配置。 最后,所有對數(shù)據(jù)的更改都會被記錄下來,因此您將看到誰更改了內(nèi)容以及更改的時間,并具有還原功能–在出現(xiàn)問題時方便進(jìn)行匯報。
除上述功能外, CUBA還提供了許多現(xiàn)成的功能,包括:
- 使用集成的可視設(shè)計器進(jìn)行業(yè)務(wù)流程管理
- 報告生成
- 全文搜索
- 通用REST API與外部系統(tǒng)集成
- 信用卡付款支持
- 可靠的異步電子郵件發(fā)送
- 計劃任務(wù)執(zhí)行支持
- 軟刪除
- …等等,涵蓋了典型企業(yè)應(yīng)用程序的大多數(shù)需求。
關(guān)于部署和環(huán)境選項,您在這里有很多自由。 CUBA應(yīng)用程序可以部署為各種配置,從運行所有內(nèi)容的單個服務(wù)器開始,到具有單獨的中間件和Web群集的高可用性配置。 CUBA開箱即用地支持PostgreSQL,Oracle數(shù)據(jù)庫,Microsoft SQL Server和HSQL(通常用于原型設(shè)計),并且隨著項目的發(fā)展,您可以從一種切換到另一種。 如果您要使用另一個DBMS(這不是問題),則可以稍作添加對它的支持。 同樣重要的是, CUBA應(yīng)用程序可以部署到任何Java EE Web Profile服務(wù)器,例如Tomcat,Glassfish等。
最后,談?wù)勅绾卧?span id="ozvdkddzhkzd" class="c0">CUBA上實際開發(fā)應(yīng)用程序。 您需要的只是Java SE,XML和JPQL,這使您的應(yīng)用程序代碼更加統(tǒng)一且易于維護(hù)。 這也減少了對開發(fā)團(tuán)隊的需求-您實際上并不需要Web開發(fā)人員或Java EE專家團(tuán)隊。
您可以在IntelliJ IDEA或Eclipse等標(biāo)準(zhǔn)IDE中創(chuàng)建業(yè)務(wù)邏輯,但是CUBA還具有Studio –一種輔助工具,該工具可以進(jìn)行可視屏幕布局設(shè)計,幫助創(chuàng)建數(shù)據(jù)模型并為其生成標(biāo)準(zhǔn)屏幕,生成,運行和保存最新的數(shù)據(jù)庫更新腳本,創(chuàng)建和配置您的項目,構(gòu)建文件,以及自動化其他各種日常工作(很少有人喜歡手動完成)。 Studio和IDE之間的所有更改都是同步的,因此您可以選擇在何處進(jìn)行更改。
為了進(jìn)一步提高開發(fā)人員的性能, CUBA支持對除數(shù)據(jù)模型之外的所有代碼進(jìn)行熱部署。 因此,例如,如果您更改了屏幕或方法,則不再需要重新啟動服務(wù)器。 想象一下,您花了幾個小時等待停止編譯部署開始過程(盡管這是再喝一杯咖啡的好借口!)。 使用CUBA ,您只需重新打開屏幕或再次調(diào)用該方法,即可看到所做的更改。 可以通過Gradle任務(wù)調(diào)用熱部署,但是讓CUBA Studio在檢測到任何更改后立即在后臺自動進(jìn)行此操作會更容易。
我仍然想談?wù)摵芏嗍虑?#xff0c;但是希望這能給CUBA帶來足夠的嘗試機(jī)會。 并且,如果有任何問題不起作用,請隨時通過我們的支持論壇尋求幫助!
翻譯自: https://www.javacodegeeks.com/2015/06/cuba-platform-the-new-java-enterprise-applications-framework.html
總結(jié)
以上是生活随笔為你收集整理的CUBA平台–新的Java企业应用程序框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 罪恶都市游戏下载电脑版(罪恶都市电脑版中
- 下一篇: 带有光纤的可扩展,健壮和标准的Java