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