概述
Rapido是BDF2當中提供的一個較為獨立的模塊,利用該模塊可以實現在網頁當中設計、開發(fā)Dorado7應用頁面。Rapido在使用上與我們現在使用的基于Eclipse插件的Dorado7 IDE有些類似,但在開發(fā)方式上有本質的不同,利用Rapido來開發(fā)Dorado7頁面更為簡單,速度當然也更快,同時因為其在網頁開發(fā)頁面,所以正常情況下不需要編寫Java代碼,所以其更容易為一些不了解Java的開發(fā)人員接受,同時開發(fā)好的頁面還實時預覽以查看效果。如果您有一些Dorado7組件使用基礎,同時又對Java不是很熟悉,那么使用Rapido來開發(fā)應用頁面,就是一個不錯的選擇。
使用Rapido您可以在網頁當中連接后臺數據庫,可以通過向導方式來拼接我們需要的查詢數據的SQL,如果您對手寫SQL比較熟悉的話,也可以手寫輸入查詢SQL,SQL定義完成之后還可以預覽SQL查詢結果。在Rapido當中提供了大部分Dorado7常用組件、全部的組件屬性、所有的組件布局方式以及全部的組件事件,這樣在原Dorado7 Eclipse IDE當中能做出的頁面效果,在Rapido當中也可以采用同樣的方式開發(fā)出來。
為了使采用Rapido開發(fā)更為靈活,我們也提供了一些可供用戶擴展的點,在這些擴展點上用戶可以編寫一些復雜的Java代碼,以實現頁面在與后臺交互時可以做一些復雜的業(yè)務邏輯。Rapido當中可供用戶擴展的點包括以下幾種:
1. 數據庫表的主鍵生成方式。在對數據進行維護時,插入新的數據就需要有一些數據庫主鍵生成方式,默認Rapido提供了基于UUID的主鍵生成方式,如果需要需要其它方式,可以通過實現接口加以擴展。
2. BeanShell腳本支持。Rapido當中允許用戶定義BeanShell腳本,同時對于腳本中可使用的變量,用戶也可以自行定義。定義好的BeanShell腳本可在數據更新或純粹的Ajax調用中執(zhí)行。
3. IAction接口實現。IAction是Rapido中提供的一個業(yè)務邏輯調用實現接口,用戶可以在這個接口實現當中添加屬于自己應用的業(yè)務邏輯,以實現復雜業(yè)務邏輯的執(zhí)行。
在原Dorado7IDE當中,我們開發(fā)頁面都在一個view.xml當中進行,在Rapido當中,我們將一個標準的view.xml開發(fā)拆分成六個部分,每個部分相互銜接,用戶可以根據頁面需要靈活選擇使用。這樣做的好處就是盡可能將一個復雜頁面的開發(fā)的復雜度降到最低。Rapido中包含的六部分內容如下圖所示

1. 頁面。用于生成最終的view.xml文件,頁面由若干個組件構成。
2. 組件。用于定義頁面需要使用的Dorado7組件,組件定義時可定義其屬性、布局、事件等關鍵信息。
3. 動作。定義頁面組件與后臺的交互,用于數據提交或純粹的Ajax調用。
4. 實體。連接后臺數據庫表,定義SQL及要顯示的字段等信息。
5. 實體映射。實現靜態(tài)或動態(tài)(來自數據庫中表數據信息)字段翻譯。
6. 元數據。將一些常用字段屬性信息通過元數據方式定義起來,這樣在定義實體時就可以直接數據元數據中定義的字段信息,以實現字段屬
性的統(tǒng)一定義與管理。
在后面的章節(jié)當中,我們將對這六個部分分別進行介紹。
實現機制
Rapido作為現有Dorado7IDE頁面開發(fā)的補充與完善,它以一個基于數據庫的信息管理系統(tǒng)方式實現,既所有信息在定義時全部放在數據庫表當中,通過關系型數據庫表將構成頁面定義的六部分信息分別進行存儲,在生成頁面時,再將這六部分定義的信息從數據庫中抽取出來,最終生成一個view.xml文件。
從其實現機制上看,它并沒有改變Dorado7原有的頁面渲染方式,只是調整了頁面中各部分信息定義和存儲的方式,在最后一步預覽時才將這些定義的信息從數據庫表中讀取出來,生成view.xml文件供Dorado7使用。也就是說采用Rapido生成的view.xml文件,在最終Dorado渲染的時候,還是采用原有機制,不依賴Rapido定義的數據表或緩存之類,這樣就避免了由此可能產生的性能問題。
利用Rapido開發(fā)頁面,我們通常從創(chuàng)建實體開始,實體創(chuàng)建完成之后到組件頁,將創(chuàng)建的實體與Dorado7相關組件綁定,最后在頁面中添加這些組件,生成Dorado7所需要的view.xml頁面,如下圖所示。

在定義過程當中,根據需要可能要定義元數據或定義數據映射,同樣在定義組件時可能需要定義動作等。這里值得一提的時為實現快速開發(fā),Rapido還提供了諸多快捷功能,比如可自動實現DataGrid的filterbar后臺數據查詢等。
安裝與配置
Rapido是BDF眾多模塊中的一部分,所以在使用時需要配置好一個BDF項目,需要注意的時,它依賴BDF中的com.bstek.bdf.jbpm4.dorado7模塊,也就是在使用Rapido模塊時,要保證項目中包含com.bstek.bdf.jbpm4.dorado7模塊,并能正常運行。
如果已經有一個可運行的BDF項目后,接下來只需要到BDF的下載頁面里將Rapido模塊下載下來(Rapido單獨發(fā)布,不與現在的BDF眾模塊一塊發(fā)布),解壓后將名為com.bstek.bdf.rapido.[version].jar放置到項目的WEB-INF/lib目錄下,然后打開dbschema,把Rapido運行時依賴的數據庫表創(chuàng)建出來,最后再配置Rapido中一些參數即可。
Rapido中提供的可覆蓋的系統(tǒng)參數如下表所示:
屬性名 | 描述 |
bdf2.rapido.dataSourceName
| Rapido運行時,定義頁面的所需六部分信息存儲所依賴的表所在的數據源名稱,默認值為空,表示采用BDF2中默認數據源 |
bdf2.rapido.app.dataSourceName | 利用Rapido定義頁面實體時采用的數據源,需要注意的時,利用BDF2中提供的多數據源機制,使用Rapido時,可以通過該屬性單獨指定一個業(yè)務數據庫所在的數據源名,也就是說可以將BDF2的基礎表及Rapido基礎表放在一個數據源中,而定義頁面需要使用的業(yè)務表所在數 據源定義為另一個,這樣在定義頁面實體時,我們只能看到業(yè)務表,而看不到BDF2中眾多基礎表,這樣就可以極大方便Rapido使用人員。 |
bdf2.rapido.outputDir | Rapido定義完成后,最終生成的view.xml文件存儲路徑,它的默認值為rapidooutput,表示將在我們應用的根下創(chuàng)建一名為rapidooutput的目錄,然后將生成的view.xml文件及其所在子目錄存放于該目錄下,如果我們需要設置一個絕對路徑,比如D:/output目錄,那么可以在WEB-INF/dorado-home/configure.properties文件中添加該屬性,并設置該屬性值為D:/output。需要注意的是這個output目錄必須在D盤下已存在,否則將出現錯誤。 |
bdf2.rapido.urlPrefix | 請求Rapido生成的view.xml頁面時,URL的前綴是什么。它的默認值為r,這就表示如果我們要訪問一個位于test包下的名為Employee的view.xml文件,那么請求的地址就是r.test.Employee.d,如果要修改這個前綴,同樣在WEB-INF/dorado-home/configure.properties中添加該屬性,同時將其值定義成我們需要的即可。 |
運行工程,打開瀏覽器訪問bdf2.rapido.view.Workspace.d,就可以打開Rapido操作主界面。
以上內容了解完后,接下來我們就可以使用Rapido來在線設計Dorado7應用頁面啦。
更多建議: