Openbiz應(yīng)用開發(fā)軌范
Openbiz是一個(gè)基于元數(shù)據(jù)的框架,是以應(yīng)用軌范的開發(fā)過程可能有別于傳統(tǒng)開發(fā)
· 軌范1: 收集需求
· 軌范2: 設(shè)計(jì)數(shù)據(jù)模子,例如:數(shù)據(jù)結(jié)構(gòu)
· 軌范3: 編心暌姑商業(yè)對(duì)象搜羅數(shù)據(jù)對(duì)象及其元數(shù)據(jù)
· 軌范4: 編心暌姑戶界面搜羅表單和視圖
· 軌范5: 如不美觀需要?jiǎng)t編寫自界說的數(shù)據(jù)、表單或處事對(duì)象
· 軌范6: 優(yōu)化元數(shù)據(jù)及自界說代碼
· 軌范7: 測(cè)試及調(diào)試
軌范3和4都是關(guān)于編纂XML元數(shù)據(jù),您可以使用您最喜歡熟悉的XML或文本編纂器來編纂他們。Openbiz Cubi中也包含了一組工具來輔佐您快速的生成或編纂這些元數(shù)據(jù)。
打點(diǎn)元數(shù)據(jù)
介紹元數(shù)據(jù)
Openbiz 的焦點(diǎn)理念在于他是一個(gè)基于元數(shù)據(jù)驅(qū)動(dòng)的機(jī)制,什么是元數(shù)據(jù)呢?年夜字面上來詮釋,元數(shù)據(jù)是一個(gè)描述數(shù)據(jù)的數(shù)據(jù)組件。它是“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。在 Openbiz中元數(shù)據(jù)文件飾演著Openbiz類的設(shè)置裝備擺設(shè)文件。所有Openbiz焦點(diǎn)類都是一般類。它們由分歧的元數(shù)據(jù)年夜頭賦雍屯窕通的意義,它們分袂 代表著分歧的事務(wù)與關(guān)系。例如:當(dāng)StudentDO.xml聯(lián)系關(guān)系到BizDataObj類時(shí),這個(gè)BizDataObj實(shí)例就是一個(gè)“學(xué)生”對(duì)象,但當(dāng) SchoolDO.xml 聯(lián)系關(guān)系到BizDataObj類時(shí),那么這個(gè)BizDataObj實(shí)例就成為了一個(gè)“黌舍”對(duì)象。

正因?yàn)镺penbiz的類是被元數(shù)據(jù)所描述的,編寫元數(shù)據(jù)文件就如同實(shí)現(xiàn)了一個(gè)類,是以,應(yīng)用軌范的開發(fā)工作年夜年夜都時(shí)辰就改釀成了編寫元數(shù)據(jù)文件的工作,替代了傳統(tǒng)意義上的編程。經(jīng)由過程元數(shù)據(jù)的體例來描述應(yīng)用軌范將會(huì)使其具有更清楚的邏輯和設(shè)計(jì)。
元數(shù)據(jù)可以實(shí)現(xiàn)什么:
· 描述對(duì)象的屬性
· 描述對(duì)象間的關(guān)系
· 描述暗示層對(duì)象的襯著(顯示)體例
· 描述數(shù)據(jù)的有用性校驗(yàn)體例
· 描述用戶在頁面上的交互行為
源數(shù)據(jù)不能實(shí)現(xiàn)什么:
· 邏輯與功能,這部門理當(dāng)在真正的軌范代碼中得以實(shí)現(xiàn),“Class”屬性可以使也述元數(shù)據(jù)綁定到肆意矣閩自界說的對(duì)象上,年夜而實(shí)現(xiàn)非凡的邏輯與功能。
元數(shù)據(jù)典型
讓我們來看兩個(gè)簡(jiǎn)單的元數(shù)據(jù)典型。UserDO.xml 代表了一個(gè)用戶信息對(duì)象,UserNewForm.xml代表了一個(gè)建樹該用戶信息對(duì)象的表單,兩段XML元數(shù)據(jù)的寄義是可以實(shí)現(xiàn)自我詮釋的。
數(shù)據(jù)對(duì)象元數(shù)據(jù)
UserDO.xml (該文件可以在Cubi 的/modules/system/do/ 目錄中找到).

表單對(duì)象元數(shù)據(jù)
UserNewForm.xml (該文件可以在Cubi 的/modules/system/form/ 目錄中找到).

經(jīng)由過程“包”來打點(diǎn)元數(shù)據(jù)
一個(gè)好的應(yīng)用軌范設(shè)計(jì)凡是是模塊化的。Openbiz舉薦軌范開發(fā)人員在app/modules/ 這樣的目錄結(jié)構(gòu)中建樹自己的元數(shù)據(jù)。這也恰是Openbiz Cubi遵循的尺度。Openbiz源數(shù)據(jù)文件可以被組織為模塊名和子目錄名,這就像在Java中實(shí)現(xiàn)的包的概念。例如:
PackageX.PackageY.metaA.xml 引用了在 modules/PackageA/PackageB 目錄中的metaB.xml