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