CUBA平台–用于快速应用程序开发的开源Java框架
傳統上,自計算時代開始以來,企業軟件開發自然面臨著一個挑戰,當時自然而然地,企業軟件開發本應專注于解決實際的業務問題,但與此同時,開發人員必須在技術上花費大量時間和精力。解決方案的一面,例如架構和通用功能實現。
為了解決以技術為中心的編程和面向問題的編程之間的這種不平衡,出現了許多框架,這些框架旨在提高抽象級別并使開發人員脫離低級例程。 另外,為了提高開發效率,多年來開發工具變得越來越聰明。 Borland Delphi是2000年代初期的最好例子之一,它極大地提高了桌面應用程序的開發速度。
在過去的十年中,企業軟件得到了很大的發展,從而增加了對新一代高生產率框架和開發工具的需求。 因此,在本文中,我們將介紹CUBA平臺 -一種開放源代碼框架,該框架結合了堅實的體系結構,任何企業應用程序的“必備”功能和快速的應用程序開發工具,旨在提高開發效率。
CUBA平臺與其他框架有何不同?
與大多數其他Java框架的主要區別在于CUBA平臺是一個高級框架 。 這意味著它將開發人員從基礎技術(例如Vaadin,Spring和EclipseLink)中抽象出來,從而使他們可以專注于業務任務,并通過一組豐富的功能和開發工具進行授權。 同時,CUBA并不限制對低級代碼的訪問,從而使人們確信該框架可以適應項目的需求。
CUBA平臺在開發企業應用程序時帶來了最大的價值,企業應用程序通常需要復雜的數據模型,數十或數百個屏幕,對運行各種業務流程的支持,強大的安全性要求等。
到底是什么東西?
CUBA應用程序具有標準的三層體系結構。 關系是元數據–應用程序數據模型的知識。 首先,它使所有視覺組件都具有數據感知能力。 因此,例如,一個表知道它正在顯示驅動程序實體的某些屬性,而標簽知道它正在顯示日期。 同樣,元數據可幫助可視化組件通過ORM與數據層進行對話-定義應上載或更新的對象圖。 這同樣適用于安全子系統,報告生成器和平臺的其他部分。
豐富的網絡用戶界面具有聲明性:您可以在視覺編輯器或XML中定義屏幕布局,可以從70多種視覺組件中進行選擇,從各種按鈕到Google Maps和動態圖表。 然后,在Java控制器中添加初始化和事件處理邏輯。 考慮到數據感知組件,您可以非??焖俚貏摻◤碗s的UI,并且由于代碼和布局之間的清晰區分,它仍將易于維護。 如果可用組件的選擇不夠,則可以集成外部JavaScript,GWT或Vaadin組件。
通用過濾器是CUBA用戶界面的重要組成部分,該組件使用戶可以創建自己的搜索條件。 開發人員只需將組件放到瀏覽器屏幕(顯示實體列表的屏幕)上,然后就不用管它了。 用戶或管理員將定義他們要自行搜索的條件。
所有用戶動作均由安全子系統控制。 基于角色的模型控制CRUD訪問實體屬性,甚至可以在代碼中使用的某些屏幕組件或自定義令牌。 行級安全性有助于控制對某些數據記錄的訪問-例如,區域部門的用戶將僅看到該部門創建的文檔。 安全設置是在運行時在應用程序的UI中配置的,因此,系統管理員可以隨時進行所有更改。 最后,所有對數據的更改都將被記錄下來,因此您將看到誰更改了內容以及更改的時間–在出現問題時方便進行匯報!
除上述功能外,CUBA還提供了許多現成的功能,包括:
- 用戶管理和管理工具
- 報告管理
- 使用集成的可視設計器進行業務流程管理
- 多語言界面和多個時區支持
- 全文搜索
- 通用REST API
我可以在哪里部署我的應用程序?
關于部署階段和環境選項,您在這里有很多自由。 CUBA應用程序可以部署為各種配置,從運行所有內容的單個服務器開始,到具有單獨的中間件和Web群集的高可用性配置。 該平臺開箱即用地支持PostgreSQL,Oracle數據庫,Microsoft SQL Server,MySQL和HSQL(通常用于原型設計),并且隨著項目的發展,您可以從一個切換到另一個。 同樣重要的是,可以將CUBA應用程序部署到任何Java EE Web Profile服務器,例如Jetty,Tomcat,Glassfish或Websphere。 當然,您可以將應用程序封裝在Docker中和/或在流行的PaaS云中運行,例如CloudFoundry,OpenShift或Jelastic。
聽起來不錯,那么如何開發CUBA應用程序?
使用CUBA平臺開發應用程序所需的全部是Java SE,XML和JPQL,這使您的應用程序代碼更加統一且易于維護。 這也使您的開發團隊更加靈活-您實際上不需要Web開發人員或Java EE專家團隊。
您可以在自己選擇的IDE(例如IntelliJ IDEA或Eclipse)中創建業務邏輯,但是CUBA還具有Studio –一個補充的可視化工具,該工具可以自動完成整個CUBA特定任務的范圍:
- 建立項目基礎設施
- 進行UI和數據模型的可視化設計
- 帶多個布局選項的腳手架CRUD屏幕
- 通過自動生成和運行更新腳本來使數據庫保持最新
- 為處理程序,服務等生成存根。
Studio和IDE之間的所有更改都是同步的,因此您可以自由選擇在何處進行更改。 為了進一步提高開發人員的性能,Studio會自動熱部署除數據模型之外的所有代碼。 因此,Studio消除了許多常規工作和樣板代碼,而不會限制您用來編寫代碼的工具。
如果您打算將舊系統升級到現代堆棧,那么CUBA也可以提供解決方案。 Studio包含一個遷移工具,該工具會將舊版數據庫轉換為CUBA兼容,并根據數據庫架構自動生成屏幕。 因此,您只需要添加自定義屏幕并遷移業務邏輯。
好的,我幾乎說服了……許可呢?
如標題所述,核心框架是開源的,在Apache 2.0下獲得了許可,其源代碼可在GitHub上獲得。 這意味著您在CUBA上開發的軟件沒有許可證限制。 CUBA Studio提供免費和商業版本。 免費版CUBA Studio具有全部功能,但是限制了應用程序數據模型的大小。 引導項目并探索平臺功能是理想的選擇。 可以完全免費使用Java IDE繼續免費進行進一步開發,或者您可以購買商業許可訂閱,其中還包括訪問Premium Add-on的能力 :報告,圖表和地圖,全文本搜索和BPM。 每年每位開發人員訂閱的價格僅為311美元起
希望本概述使您對CUBA平臺是個好主意,并且很容易嘗試。 如果是這樣,只需訪問網站, 下載免費的Studio ,通過快速入門 ,即可在幾分鐘內運行您的第一個CUBA應用程序!
翻譯自: https://www.javacodegeeks.com/2016/06/cuba-platform-open-source-java-framework-rapid-application-development.html
總結
以上是生活随笔為你收集整理的CUBA平台–用于快速应用程序开发的开源Java框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦见别人抬棺材出殡是什么意思 梦见别人抬
- 下一篇: 怎么调取别人的微信聊天记录