摘 要:JDP MARMOT快速開發(fā)框架是在國網(wǎng)華東分部技改大修項目管理系統(tǒng)的建設(shè)過程中逐漸形成的一體化快速開發(fā)框架,基于該技術(shù)框架建設(shè)企業(yè)信息系統(tǒng)可極大地縮短系統(tǒng)建設(shè)周期,降低系統(tǒng)建設(shè)成本,提高系統(tǒng)的可維護(hù)性和擴(kuò)展性。文章介紹了JDP MARMOT快速開發(fā)框架基本情況。
關(guān)鍵詞:快速開發(fā)框架;工作流引擎;中間件
引言
國家電網(wǎng)公司華東分部自2011年開始建設(shè)技改大修項目管理系統(tǒng),在研發(fā)過程中對AJAX技術(shù)的敏銳把握和創(chuàng)造性的使用之后,逐步形成自己專屬的J2EE技術(shù)框架——JDP MARMOT快速開發(fā)框架。通過將展現(xiàn)中間件、工作流引擎和統(tǒng)一權(quán)限管理融合于同一技術(shù)框架,開發(fā)適用于工作流程復(fù)雜,分支節(jié)點繁多,控制要求靈活的業(yè)務(wù)環(huán)境,尤其適用于企業(yè)MIS開發(fā)的需要。
1 JDP MARMOT框架概述
從框架形態(tài)上JDP MARMOT核心由三部分組成,第一部分是一個具有AJAX特征的Web應(yīng)用表現(xiàn)層中間件控件,第二個部分是自定義工作流引擎,第三個部分是作為前兩部分基礎(chǔ)支撐的統(tǒng)一身份與權(quán)限管理。三大核心部分統(tǒng)一在技術(shù)框架內(nèi),使JDP MARMOT框架具有以下優(yōu)點:
1.1 降低開發(fā)成本,提高開發(fā)效率
Web應(yīng)用表現(xiàn)層中間件控件包括了非常豐富的頁面控件,如常用表格、樹、表單、多頁標(biāo)簽等一整套界面組件,不需要頁面級開發(fā)工程師,后臺開發(fā)工程師可以獨立完成復(fù)雜頁面的開發(fā)。使得原本一個初級程序員需要兩天才能開發(fā)完成的復(fù)雜頁面現(xiàn)在只需要半天就能開發(fā)完成。因此,開發(fā)者可以把更多的時間放到后臺邏輯層的實現(xiàn)上,而不是放在前端展現(xiàn)。
1.2 統(tǒng)一開發(fā)規(guī)范,無需任何第三方控件
目前開發(fā)J2EE前端展示,有很多種第三方控件。目前主流的團(tuán)隊開發(fā),每個程序員如果都用自己一套熟悉的控件進(jìn)行開發(fā),會使得代碼過于凌亂,每個功能后臺代碼都不一樣。因此,用了JDP MARMOT后,統(tǒng)一并且規(guī)范了開發(fā)過程中的代碼,使得開發(fā)團(tuán)隊更規(guī)范,代碼更便于管理,減少軟件BUG。
1.3 規(guī)范客戶體驗
由于全部采用統(tǒng)一JDP MARMOT框架的控件。因此,對于客戶來說頁面風(fēng)格、功能操作、系統(tǒng)管理方式以及所有的數(shù)據(jù)列表,編輯等等頁面都大致相同,使得客戶體驗得到了統(tǒng)一,有助于信息系統(tǒng)在成品交付后快速推廣,降低實用化成本。
1.4 跨平臺,運行速度快,部署方便
支持各種主流的應(yīng)用服務(wù)器如:weblogic,webshphere等,不會產(chǎn)生系統(tǒng)沖突,無法部署等問題,只需要安裝了JDk4.0及其以上版本便可以運行。在Linux和unix下運行能更好的發(fā)揮其性能的優(yōu)越性。
2 JDP MARMOT展現(xiàn)中間件
Web表現(xiàn)層方面的產(chǎn)品主要技術(shù)流派有離散控件構(gòu)架、后臺衍伸構(gòu)架、展現(xiàn)中間件構(gòu)架等數(shù)種。JDP MARMOT采用的展現(xiàn)中間件構(gòu)架,基于Webget Lib(表現(xiàn)層控件庫)并由展現(xiàn)層引擎統(tǒng)一驅(qū)動與管理??丶褂玫膫€數(shù)越多種類越多,越有效用??蓪拥臉I(yè)務(wù)邏輯層也不限于某種框架,可以廣泛地通過整合接口與各種第三方后臺邏輯框架相整合。還可以通過展現(xiàn)層引擎整合基于離散控件架構(gòu)的Web表現(xiàn)層產(chǎn)品,進(jìn)一步增強(qiáng)Web的展現(xiàn)力、操作性與承載量,同時提高開發(fā)效率。
目前,JDP MARMOT展現(xiàn)中間件包括記錄集下拉框、命令按鈕、樹形控件和布局控件四大類,十六小類展現(xiàn)控件,具有易于掌握,上手簡單、復(fù)用效率高、成本低、質(zhì)量可靠等特點,大大加快了華東技改大修項目的研發(fā)速度,降低系統(tǒng)出錯率,并且提高了系統(tǒng)可用性。
3 JDP MARMOT工作流引擎
早期的工單流轉(zhuǎn)系統(tǒng)都是通過“硬編碼”的方式將業(yè)務(wù)流程定義程序?qū)懺谙到y(tǒng)中,這就需要對原系統(tǒng)進(jìn)行重新設(shè)計來適應(yīng)流程的變更,不僅會給企業(yè)帶來難以承受的工作量,同時使得系統(tǒng)的適應(yīng)性和擴(kuò)展性較差。JDP MARMOT工作流引擎可以完成業(yè)務(wù)流程的全方位管控。
工作流是一項分離業(yè)務(wù)操作和系統(tǒng)流程的技術(shù)。工作流由實體(Entity)、參與者(Participant)、流程定義(Flow Definition)、工作流引擎(Engine) 四部分組成。前三個要素是靜態(tài)的,而第四個要素是動態(tài)的,它將前三者結(jié)合起來,是工作流的核心組成元素。
JDP MARMOT工作流引擎首先從眾多的業(yè)務(wù)需求中抽取出工作流模型所包含的對象,再分析各個對象之間的邏輯關(guān)系,然后提出一個系統(tǒng)結(jié)構(gòu),再進(jìn)行模塊劃分,數(shù)據(jù)庫設(shè)計,最終完成類的設(shè)計。主要功能包括:流程配置定義、流程監(jiān)控、工單上報、回退、指定回退、流程掛起、工單分發(fā)、工單委辦等一系列的接口功能,系統(tǒng)架構(gòu)圖如下圖所示:
JDP MARMOT工作流引擎對流程的控制非常豐富,包括5種基本控制模式和5種高級分支與同步模式,能夠滿足大型企業(yè)特有的復(fù)雜業(yè)務(wù)流程管控的需要。其中基本控制模式包括:順序模式、并行分支模式、同步模式、單選模式、簡單合并模式。高級分支與同步模式包括:多選模式、同步合并模式、多合并模式、鑒別器模式(合并多條路徑而不進(jìn)行同步,只執(zhí)行一次后續(xù)活動)、M中的N模式(合并多條路徑,進(jìn)行部分同步,只執(zhí)行一次后續(xù)活動)
JDP MARMOT工作流引擎還支持子流程的支持,進(jìn)一步提高了對流程的管控能力。
4 統(tǒng)一系統(tǒng)管理模塊
JDP MARMOT框架中集成了統(tǒng)一身份和權(quán)限認(rèn)證,包括:人員組織機(jī)構(gòu)管理,權(quán)限角色分配,工作流角色權(quán)限綁定,系統(tǒng)登錄安全性配置,系統(tǒng)基礎(chǔ)數(shù)據(jù)配置等功能。
角色模塊是系統(tǒng)管理平臺和工作流的接口平臺,工作流需要用到管理平臺的角色授權(quán)才能實現(xiàn)流程的分配和跳轉(zhuǎn)。角色模塊的核心是基于角色配置文件,角色配置文件是一個與視圖模型同名的xml描述文件,一個視圖模型最多只有一個角色配置文件。如視圖模型文件名為Employee.view.xml,則角色配置文件名就必須為Employee.role.xml。角色配置文件用來描述各個角色的頁面具體特征,例如dataset的只讀屬性,組件的可視化屬性等。
5 結(jié)束語
JDP MARMOT框架中除了展現(xiàn)中間件、工作流引擎、統(tǒng)一身份與權(quán)限管理,還集成了諸如日歷管理、風(fēng)格管理、報表工具等小的輔助模塊。從設(shè)計初期,JDP MARMOT框架就被設(shè)計為一個可不斷擴(kuò)展的開放式框架。從整體上看,它把前臺展現(xiàn)、權(quán)限控制、業(yè)務(wù)邏輯無縫地整合在一起,是一套一體化的快速開發(fā)框架。該平臺具有良好的穩(wěn)定性和開放性,在此平臺上構(gòu)建的華東技改大修項目管理系統(tǒng)具有良好的可擴(kuò)展性和易維護(hù)性。
參考文獻(xiàn)
[1]鄭志強(qiáng).框架設(shè)計通用化方法研究[D].西南農(nóng)業(yè)大學(xué),2005.
[2]王然.輿情分析系統(tǒng)的設(shè)計與實現(xiàn)[D].北京郵電大學(xué),2013.