吳爭(zhēng)榮 杜杰 尹立彬
摘要:本文探討了智能配電網(wǎng)基礎(chǔ)開(kāi)發(fā)管理平臺(tái),分析了數(shù)據(jù)構(gòu)架及實(shí)體模型,研究了數(shù)據(jù)模型解析的后端實(shí)體結(jié)構(gòu)建模方法。
關(guān)鍵詞:智能配電網(wǎng);數(shù)據(jù)模型解析;應(yīng)用建模
中圖分類號(hào):TP391.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)11-0080-02
0 引言
深化配電網(wǎng)管理,既是滿足客戶訴求,實(shí)現(xiàn)企業(yè)健康發(fā)展的需求,更是實(shí)現(xiàn)社會(huì)穩(wěn)定、經(jīng)濟(jì)發(fā)展的需求。通過(guò)智能配電網(wǎng)基礎(chǔ)開(kāi)發(fā)及服務(wù)平臺(tái)建設(shè),完善平臺(tái)總體框架,構(gòu)建服務(wù)于智能配電網(wǎng)業(yè)務(wù)領(lǐng)域的統(tǒng)一應(yīng)用支撐平臺(tái),確保業(yè)務(wù)領(lǐng)域內(nèi)各應(yīng)用基于統(tǒng)一的技術(shù)架構(gòu)、統(tǒng)一的數(shù)據(jù)模型規(guī)范和統(tǒng)一的質(zhì)量標(biāo)準(zhǔn)。本文基于數(shù)據(jù)模型解析的后端實(shí)體結(jié)構(gòu)建模方法進(jìn)行研究。
1 智能配電網(wǎng)基礎(chǔ)開(kāi)發(fā)管理平臺(tái)概述
智能配電網(wǎng)基礎(chǔ)開(kāi)發(fā)管理平臺(tái)融合了豐富的運(yùn)行時(shí)服務(wù)組件,為開(kāi)發(fā)平臺(tái)構(gòu)建的微服務(wù)運(yùn)行時(shí)系統(tǒng)提供相關(guān)的人員組織服務(wù)、認(rèn)證服務(wù)、權(quán)限服務(wù)、業(yè)務(wù)流程服務(wù)、附件服務(wù)、網(wǎng)關(guān)服務(wù)等基礎(chǔ)能力。通過(guò)可視化IDE快速完成業(yè)務(wù)服務(wù)、業(yè)務(wù)界面的設(shè)計(jì)與代碼生成,并可通過(guò)開(kāi)發(fā)平臺(tái)將生成的代碼提交到代碼配置庫(kù)中,實(shí)現(xiàn)業(yè)務(wù)應(yīng)用的持續(xù)集成、構(gòu)建、代碼檢查與應(yīng)用部署。
開(kāi)發(fā)管理平臺(tái)參考了TOGAF/CMMI/PMP/南網(wǎng)EA架構(gòu)等規(guī)范標(biāo)準(zhǔn),覆蓋了軟件開(kāi)發(fā)過(guò)程域。其基于模型驅(qū)動(dòng)架構(gòu)(MDA)的思想而設(shè)計(jì),整個(gè)系統(tǒng)以元數(shù)據(jù)為核心,將傳統(tǒng)手工開(kāi)發(fā)轉(zhuǎn)化為,通過(guò)可視化的建模操作實(shí)現(xiàn)軟件業(yè)務(wù)功能,并通過(guò)元數(shù)據(jù)進(jìn)行軟件資產(chǎn)的積累和分層沉淀。由于元數(shù)據(jù)是計(jì)算機(jī)能夠直接理解的數(shù)據(jù),開(kāi)發(fā)平臺(tái)將軟件開(kāi)發(fā)中由于人造成的信息傳遞失真,嚴(yán)重技能依賴、不可復(fù)用性等問(wèn)題降到了最低,使得軟件開(kāi)發(fā)過(guò)程達(dá)到了半自動(dòng)化、標(biāo)準(zhǔn)化,極大提升了企業(yè)生產(chǎn)效率和質(zhì)量。
2 數(shù)據(jù)構(gòu)架及實(shí)體模型
2.1 開(kāi)發(fā)IDE
開(kāi)發(fā)IDE提供統(tǒng)一的可視化開(kāi)發(fā)環(huán)境以便設(shè)計(jì)和開(kāi)發(fā)人員能夠快速完成業(yè)務(wù)服務(wù)、業(yè)務(wù)界面的設(shè)計(jì)與代碼生成。主要包含平臺(tái)管理及開(kāi)發(fā)建模兩部分。其中開(kāi)發(fā)建模,覆蓋軟件開(kāi)發(fā)的設(shè)計(jì)、實(shí)現(xiàn)階段。提供可視化的建模操作(項(xiàng)目建模、實(shí)體界面、界面建模、數(shù)據(jù)庫(kù)建模、流程建模、數(shù)據(jù)項(xiàng)建模等),基于標(biāo)準(zhǔn)模型及最佳實(shí)踐模板,生成目標(biāo)業(yè)務(wù)應(yīng)用代碼,并自動(dòng)提交指定的代碼庫(kù)進(jìn)行集成。
2.2 數(shù)據(jù)架構(gòu)
開(kāi)發(fā)平臺(tái)主體模型包括:項(xiàng)目模型、數(shù)據(jù)庫(kù)模型、實(shí)體模型、界面模型、流程模型、服務(wù)模型及當(dāng)前項(xiàng)目所使用的代碼模板模型;其中,實(shí)體模型是指當(dāng)前應(yīng)用下的實(shí)體結(jié)構(gòu)、實(shí)體行為、實(shí)體關(guān)聯(lián)等信息。
3 數(shù)據(jù)模型解析的后端實(shí)體結(jié)構(gòu)建模方法
3.1 模塊首頁(yè)
實(shí)時(shí)的展示了當(dāng)前模塊下所有子項(xiàng)的信息。子項(xiàng)包括實(shí)體、界面、工作流、數(shù)據(jù)庫(kù)、服務(wù)、數(shù)據(jù)項(xiàng)以及工作臺(tái)配置。
3.2 項(xiàng)目建模
一個(gè)業(yè)務(wù)系統(tǒng),會(huì)根據(jù)業(yè)務(wù)劃分為若干子系統(tǒng)、應(yīng)用、功能。項(xiàng)目建模就是用來(lái)定義業(yè)務(wù)系統(tǒng)的邏輯劃分,系統(tǒng)下可以定義子系統(tǒng),應(yīng)用下可以定義子應(yīng)用。項(xiàng)目建模后的元數(shù)據(jù)將作為實(shí)體建模、界面建模的基礎(chǔ)數(shù)據(jù)。項(xiàng)目建模分為系統(tǒng)建模、目錄建模、應(yīng)用建模。系統(tǒng)建模對(duì)系統(tǒng)節(jié)點(diǎn)進(jìn)行建模,建模后的系統(tǒng)節(jié)點(diǎn)下,能增加系統(tǒng)、目錄、應(yīng)用節(jié)點(diǎn)。目錄建模為了更清晰的劃分系統(tǒng)下的系統(tǒng)、應(yīng)用,可以增加目錄節(jié)點(diǎn)進(jìn)行邏輯劃分。建模后的目錄節(jié)點(diǎn)下,能增加系統(tǒng)、目錄、應(yīng)用節(jié)點(diǎn)。
3.3 快速構(gòu)建
整合實(shí)體建模、界面建模等功能,提供實(shí)體導(dǎo)入,實(shí)體編輯,界面編輯,代碼生成功能快速完成模塊開(kāi)發(fā)。還可以關(guān)聯(lián)流程相關(guān),選擇流程相關(guān)的實(shí)體,就能夠生成流程相關(guān)的界面。實(shí)體信息編輯通過(guò)導(dǎo)入實(shí)體功能從數(shù)據(jù)庫(kù)中導(dǎo)入實(shí)體,同時(shí)對(duì)實(shí)體的父類,關(guān)聯(lián)流程,關(guān)聯(lián)關(guān)系進(jìn)行編輯。實(shí)體屬性編輯根據(jù)當(dāng)前實(shí)體信息對(duì)實(shí)體各屬性進(jìn)行編輯、查詢表達(dá)式編輯、定義屬性在界面中使用的控件類型等。代碼生成根據(jù)實(shí)體及界面模板信息,展示當(dāng)前編輯實(shí)體,界面信息;同時(shí)可以對(duì)實(shí)體及界面進(jìn)行編輯、生成代碼操作。
3.4 實(shí)體建模
在業(yè)務(wù)系統(tǒng)開(kāi)發(fā)的分析設(shè)計(jì)階段,將分析出業(yè)務(wù)實(shí)體、業(yè)務(wù)屬性、業(yè)務(wù)方法、業(yè)務(wù)實(shí)體間的關(guān)系。實(shí)體建模就是將分析出的業(yè)務(wù)實(shí)體及其屬性、方法、關(guān)系定義到系統(tǒng)中。實(shí)體建模的信息將作為元數(shù)據(jù)提供給界面建模、代碼生成等模塊使用。實(shí)體編輯對(duì)實(shí)體的基本信息進(jìn)行編輯。實(shí)體基本信息中如果當(dāng)前實(shí)體需要走工作流需要選擇父實(shí)體為工作流實(shí)體,并且還要關(guān)聯(lián)一個(gè)工作流流程,其他基本信息都會(huì)自動(dòng)從數(shù)據(jù)庫(kù)表導(dǎo)入時(shí)自動(dòng)檢索出。屬性編輯對(duì)實(shí)體屬性的信息進(jìn)行編輯。實(shí)體屬性一般是從數(shù)據(jù)庫(kù)表導(dǎo)入時(shí)會(huì)自動(dòng)帶出所有的字段作為屬性,屬性來(lái)源分為:關(guān)聯(lián)字典、關(guān)聯(lián)枚舉和關(guān)聯(lián)屬性。方法編輯對(duì)實(shí)體方法的信息進(jìn)行編輯,在實(shí)體方法中共分為七大類型:空方法、級(jí)聯(lián)操作、存儲(chǔ)過(guò)程調(diào)用、函數(shù)調(diào)用、自定義SQL調(diào)用、查詢建模和查詢重寫。
3.5 數(shù)據(jù)庫(kù)建模
業(yè)務(wù)系統(tǒng)的分析設(shè)計(jì)階段,分析出的實(shí)體、字段、關(guān)系可能通過(guò)數(shù)據(jù)庫(kù)設(shè)計(jì)的形式體現(xiàn)。數(shù)據(jù)庫(kù)建模就是將數(shù)據(jù)庫(kù)中的表、視圖、存儲(chǔ)過(guò)程、函數(shù)信息導(dǎo)入到系統(tǒng)中。數(shù)據(jù)庫(kù)建模的信息將作為元數(shù)據(jù)提供給實(shí)體建模、代碼生成等模塊使用。表建模將數(shù)據(jù)庫(kù)中的表導(dǎo)入系統(tǒng),作為元數(shù)據(jù)提供給系統(tǒng)中其它模塊使用。視圖建模將數(shù)據(jù)庫(kù)中的視圖導(dǎo)入系統(tǒng),作為元數(shù)據(jù)提供給系統(tǒng)中其它模塊使用。存儲(chǔ)過(guò)程建模將數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程導(dǎo)入系統(tǒng),作為元數(shù)據(jù)提供給系統(tǒng)中其它模塊使用。函數(shù)建模將數(shù)據(jù)庫(kù)中的函數(shù)導(dǎo)入系統(tǒng),作為元數(shù)據(jù)提供給系統(tǒng)中其它模塊使用。
3.6 界面建模
界面建模主要分幾點(diǎn)功能:基本信息、設(shè)計(jì)器、控件狀態(tài)、數(shù)據(jù)模型、行為。業(yè)務(wù)系統(tǒng)的界面多種多樣,界面建??蓪?shí)現(xiàn)不同布局的各種頁(yè)面的生成。界面建模內(nèi)置界面常用的各種控件,如input、radio、select、textarea、gird、layout等等,通過(guò)對(duì)界面進(jìn)行布局,拖拽控件填充到布局,再輔以界面數(shù)據(jù)模型、界面行為、控件狀態(tài)的定義,可實(shí)現(xiàn)界面的建模生成界面元數(shù)據(jù),從而實(shí)現(xiàn)業(yè)務(wù)界面的自動(dòng)生成。
基本信息定義列表界面的基本信息、界面的引入js\css、頁(yè)面參數(shù)、頁(yè)面菜單權(quán)限以及關(guān)聯(lián)界面原型。數(shù)據(jù)模型定義界面需要用到的數(shù)據(jù)模型。數(shù)據(jù)模型在這里分為以下幾類:頁(yè)面全局參數(shù)、頁(yè)面?zhèn)魅雲(yún)?shù)、頁(yè)面用戶權(quán)限、頁(yè)面常量和業(yè)務(wù)數(shù)據(jù)模型。行為定義界面需要的行為,如pulldown的click事件、gird的datasource數(shù)據(jù)源函數(shù)等。從模板創(chuàng)建頁(yè)面通過(guò)選擇模板和快速元數(shù)據(jù)錄入來(lái)快速構(gòu)建頁(yè)面,再輔以對(duì)頁(yè)面進(jìn)行微調(diào),從而達(dá)到快速高效構(gòu)建業(yè)務(wù)頁(yè)面的目的。
4 結(jié)語(yǔ)
本文通過(guò)對(duì)基于數(shù)據(jù)模型解析的后端實(shí)體結(jié)構(gòu)建模方法分析,構(gòu)建服務(wù)于智能配電網(wǎng)業(yè)務(wù)領(lǐng)域的統(tǒng)一應(yīng)用支撐平臺(tái),確保業(yè)務(wù)領(lǐng)域內(nèi)各應(yīng)用基于統(tǒng)一的技術(shù)架構(gòu)、統(tǒng)一的數(shù)據(jù)模型規(guī)范和統(tǒng)一的質(zhì)量標(biāo)準(zhǔn)。具體來(lái)說(shuō),其優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:
(1)直接解析已有數(shù)據(jù)設(shè)計(jì)成果-數(shù)據(jù)模型,自動(dòng)轉(zhuǎn)化為后端實(shí)體初始模型,實(shí)現(xiàn)設(shè)計(jì)階段成果的傳承;(2)支持對(duì)常用的數(shù)據(jù)庫(kù)對(duì)象模型解析,如Oracle、mysql數(shù)據(jù)庫(kù)的表、視圖、存儲(chǔ)過(guò)程的解析;(3)支持在線構(gòu)建與展示數(shù)據(jù)表模型,實(shí)現(xiàn)正向設(shè)計(jì)與反向解析雙向互通;(4)轉(zhuǎn)化后的實(shí)體模型可以通過(guò)在線實(shí)體建模形式進(jìn)行模型完善與補(bǔ)充。