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