10.BDF2-RAPIDO

2023-07-03 17:53 更新

概述

Rapido是BDF2當(dāng)中提供的一個(gè)較為獨(dú)立的模塊,利用該模塊可以實(shí)現(xiàn)在網(wǎng)頁(yè)當(dāng)中設(shè)計(jì)、開(kāi)發(fā)Dorado7應(yīng)用頁(yè)面。Rapido在使用上與我們現(xiàn)在使用的基于Eclipse插件的Dorado7 IDE有些類似,但在開(kāi)發(fā)方式上有本質(zhì)的不同,利用Rapido來(lái)開(kāi)發(fā)Dorado7頁(yè)面更為簡(jiǎn)單,速度當(dāng)然也更快,同時(shí)因?yàn)槠湓诰W(wǎng)頁(yè)開(kāi)發(fā)頁(yè)面,所以正常情況下不需要編寫Java代碼,所以其更容易為一些不了解Java的開(kāi)發(fā)人員接受,同時(shí)開(kāi)發(fā)好的頁(yè)面還實(shí)時(shí)預(yù)覽以查看效果。如果您有一些Dorado7組件使用基礎(chǔ),同時(shí)又對(duì)Java不是很熟悉,那么使用Rapido來(lái)開(kāi)發(fā)應(yīng)用頁(yè)面,就是一個(gè)不錯(cuò)的選擇。

使用Rapido您可以在網(wǎng)頁(yè)當(dāng)中連接后臺(tái)數(shù)據(jù)庫(kù),可以通過(guò)向?qū)Х绞絹?lái)拼接我們需要的查詢數(shù)據(jù)的SQL,如果您對(duì)手寫SQL比較熟悉的話,也可以手寫輸入查詢SQL,SQL定義完成之后還可以預(yù)覽SQL查詢結(jié)果。在Rapido當(dāng)中提供了大部分Dorado7常用組件、全部的組件屬性、所有的組件布局方式以及全部的組件事件,這樣在原Dorado7 Eclipse IDE當(dāng)中能做出的頁(yè)面效果,在Rapido當(dāng)中也可以采用同樣的方式開(kāi)發(fā)出來(lái)。

為了使采用Rapido開(kāi)發(fā)更為靈活,我們也提供了一些可供用戶擴(kuò)展的點(diǎn),在這些擴(kuò)展點(diǎn)上用戶可以編寫一些復(fù)雜的Java代碼,以實(shí)現(xiàn)頁(yè)面在與后臺(tái)交互時(shí)可以做一些復(fù)雜的業(yè)務(wù)邏輯。Rapido當(dāng)中可供用戶擴(kuò)展的點(diǎn)包括以下幾種:

1. 數(shù)據(jù)庫(kù)表的主鍵生成方式。在對(duì)數(shù)據(jù)進(jìn)行維護(hù)時(shí),插入新的數(shù)據(jù)就需要有一些數(shù)據(jù)庫(kù)主鍵生成方式,默認(rèn)Rapido提供了基于UUID的主鍵生成方式,如果需要需要其它方式,可以通過(guò)實(shí)現(xiàn)接口加以擴(kuò)展。
2. BeanShell腳本支持。Rapido當(dāng)中允許用戶定義BeanShell腳本,同時(shí)對(duì)于腳本中可使用的變量,用戶也可以自行定義。定義好的BeanShell腳本可在數(shù)據(jù)更新或純粹的Ajax調(diào)用中執(zhí)行。
3. IAction接口實(shí)現(xiàn)。IAction是Rapido中提供的一個(gè)業(yè)務(wù)邏輯調(diào)用實(shí)現(xiàn)接口,用戶可以在這個(gè)接口實(shí)現(xiàn)當(dāng)中添加屬于自己應(yīng)用的業(yè)務(wù)邏輯,以實(shí)現(xiàn)復(fù)雜業(yè)務(wù)邏輯的執(zhí)行。
在原Dorado7IDE當(dāng)中,我們開(kāi)發(fā)頁(yè)面都在一個(gè)view.xml當(dāng)中進(jìn)行,在Rapido當(dāng)中,我們將一個(gè)標(biāo)準(zhǔn)的view.xml開(kāi)發(fā)拆分成六個(gè)部分,每個(gè)部分相互銜接,用戶可以根據(jù)頁(yè)面需要靈活選擇使用。這樣做的好處就是盡可能將一個(gè)復(fù)雜頁(yè)面的開(kāi)發(fā)的復(fù)雜度降到最低。Rapido中包含的六部分內(nèi)容如下圖所示
1. 頁(yè)面。用于生成最終的view.xml文件,頁(yè)面由若干個(gè)組件構(gòu)成。
2. 組件。用于定義頁(yè)面需要使用的Dorado7組件,組件定義時(shí)可定義其屬性、布局、事件等關(guān)鍵信息。
3. 動(dòng)作。定義頁(yè)面組件與后臺(tái)的交互,用于數(shù)據(jù)提交或純粹的Ajax調(diào)用。
4. 實(shí)體。連接后臺(tái)數(shù)據(jù)庫(kù)表,定義SQL及要顯示的字段等信息。
5. 實(shí)體映射。實(shí)現(xiàn)靜態(tài)或動(dòng)態(tài)(來(lái)自數(shù)據(jù)庫(kù)中表數(shù)據(jù)信息)字段翻譯。
6. 元數(shù)據(jù)。將一些常用字段屬性信息通過(guò)元數(shù)據(jù)方式定義起來(lái),這樣在定義實(shí)體時(shí)就可以直接數(shù)據(jù)元數(shù)據(jù)中定義的字段信息,以實(shí)現(xiàn)字段屬
   性的統(tǒng)一定義與管理。
在后面的章節(jié)當(dāng)中,我們將對(duì)這六個(gè)部分分別進(jìn)行介紹。

實(shí)現(xiàn)機(jī)制

Rapido作為現(xiàn)有Dorado7IDE頁(yè)面開(kāi)發(fā)的補(bǔ)充與完善,它以一個(gè)基于數(shù)據(jù)庫(kù)的信息管理系統(tǒng)方式實(shí)現(xiàn),既所有信息在定義時(shí)全部放在數(shù)據(jù)庫(kù)表當(dāng)中,通過(guò)關(guān)系型數(shù)據(jù)庫(kù)表將構(gòu)成頁(yè)面定義的六部分信息分別進(jìn)行存儲(chǔ),在生成頁(yè)面時(shí),再將這六部分定義的信息從數(shù)據(jù)庫(kù)中抽取出來(lái),最終生成一個(gè)view.xml文件。

從其實(shí)現(xiàn)機(jī)制上看,它并沒(méi)有改變Dorado7原有的頁(yè)面渲染方式,只是調(diào)整了頁(yè)面中各部分信息定義和存儲(chǔ)的方式,在最后一步預(yù)覽時(shí)才將這些定義的信息從數(shù)據(jù)庫(kù)表中讀取出來(lái),生成view.xml文件供Dorado7使用。也就是說(shuō)采用Rapido生成的view.xml文件,在最終Dorado渲染的時(shí)候,還是采用原有機(jī)制,不依賴Rapido定義的數(shù)據(jù)表或緩存之類,這樣就避免了由此可能產(chǎn)生的性能問(wèn)題。
利用Rapido開(kāi)發(fā)頁(yè)面,我們通常從創(chuàng)建實(shí)體開(kāi)始,實(shí)體創(chuàng)建完成之后到組件頁(yè),將創(chuàng)建的實(shí)體與Dorado7相關(guān)組件綁定,最后在頁(yè)面中添加這些組件,生成Dorado7所需要的view.xml頁(yè)面,如下圖所示。
在定義過(guò)程當(dāng)中,根據(jù)需要可能要定義元數(shù)據(jù)或定義數(shù)據(jù)映射,同樣在定義組件時(shí)可能需要定義動(dòng)作等。這里值得一提的時(shí)為實(shí)現(xiàn)快速開(kāi)發(fā),Rapido還提供了諸多快捷功能,比如可自動(dòng)實(shí)現(xiàn)DataGrid的filterbar后臺(tái)數(shù)據(jù)查詢等。

安裝與配置

Rapido是BDF眾多模塊中的一部分,所以在使用時(shí)需要配置好一個(gè)BDF項(xiàng)目,需要注意的時(shí),它依賴BDF中的com.bstek.bdf.jbpm4.dorado7模塊,也就是在使用Rapido模塊時(shí),要保證項(xiàng)目中包含com.bstek.bdf.jbpm4.dorado7模塊,并能正常運(yùn)行。
如果已經(jīng)有一個(gè)可運(yùn)行的BDF項(xiàng)目后,接下來(lái)只需要到BDF的下載頁(yè)面里將Rapido模塊下載下來(lái)(Rapido單獨(dú)發(fā)布,不與現(xiàn)在的BDF眾模塊一塊發(fā)布),解壓后將名為com.bstek.bdf.rapido.[version].jar放置到項(xiàng)目的WEB-INF/lib目錄下,然后打開(kāi)dbschema,把Rapido運(yùn)行時(shí)依賴的數(shù)據(jù)庫(kù)表創(chuàng)建出來(lái),最后再配置Rapido中一些參數(shù)即可。
Rapido中提供的可覆蓋的系統(tǒng)參數(shù)如下表所示:
屬性名描述
bdf2.rapido.dataSourceName

Rapido運(yùn)行時(shí),定義頁(yè)面的所需六部分信息存儲(chǔ)所依賴的表所在的數(shù)據(jù)源名稱,默認(rèn)值為空,表示采用BDF2中默認(rèn)數(shù)據(jù)源
bdf2.rapido.app.dataSourceName
利用Rapido定義頁(yè)面實(shí)體時(shí)采用的數(shù)據(jù)源,需要注意的時(shí),利用BDF2中提供的多數(shù)據(jù)源機(jī)制,使用Rapido時(shí),可以通過(guò)該屬性單獨(dú)指定一個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)所在的數(shù)據(jù)源名,也就是說(shuō)可以將BDF2的基礎(chǔ)表及Rapido基礎(chǔ)表放在一個(gè)數(shù)據(jù)源中,而定義頁(yè)面需要使用的業(yè)務(wù)表所在數(shù)
據(jù)源定義為另一個(gè),這樣在定義頁(yè)面實(shí)體時(shí),我們只能看到業(yè)務(wù)表,而看不到BDF2中眾多基礎(chǔ)表,這樣就可以極大方便Rapido使用人員。
bdf2.rapido.outputDir
Rapido定義完成后,最終生成的view.xml文件存儲(chǔ)路徑,它的默認(rèn)值為rapidooutput,表示將在我們應(yīng)用的根下創(chuàng)建一名為rapidooutput的目錄,然后將生成的view.xml文件及其所在子目錄存放于該目錄下,如果我們需要設(shè)置一個(gè)絕對(duì)路徑,比如D:/output目錄,那么可以在WEB-INF/dorado-home/configure.properties文件中添加該屬性,并設(shè)置該屬性值為D:/output。需要注意的是這個(gè)output目錄必須在D盤下已存在,否則將出現(xiàn)錯(cuò)誤。
bdf2.rapido.urlPrefix
請(qǐng)求Rapido生成的view.xml頁(yè)面時(shí),URL的前綴是什么。它的默認(rèn)值為r,這就表示如果我們要訪問(wèn)一個(gè)位于test包下的名為Employee的view.xml文件,那么請(qǐng)求的地址就是r.test.Employee.d,如果要修改這個(gè)前綴,同樣在WEB-INF/dorado-home/configure.properties中添加該屬性,同時(shí)將其值定義成我們需要的即可。
運(yùn)行工程,打開(kāi)瀏覽器訪問(wèn)bdf2.rapido.view.Workspace.d,就可以打開(kāi)Rapido操作主界面。
以上內(nèi)容了解完后,接下來(lái)我們就可以使用Rapido來(lái)在線設(shè)計(jì)Dorado7應(yīng)用頁(yè)面啦。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)