孫利民
摘要 不同企業(yè)有著不同的管理理論,理論的實(shí)施落地,需要有相應(yīng)的信息化管理軟件的支撐,而目前市面的有業(yè)務(wù)針對(duì)性的管理軟件落后于新的管理理論,無法滿足不同集團(tuán)的個(gè)性化需求,為適應(yīng)企業(yè)的管理理論變更,能夠平滑的過度,及時(shí)的實(shí)現(xiàn)理論與信息化系統(tǒng)的聯(lián)動(dòng),需要支持即時(shí)開發(fā)并且可在線熱部署的軟件開發(fā)平臺(tái)。
【關(guān)鍵詞】容器技術(shù) 互聯(lián)網(wǎng) 開發(fā)運(yùn)維一體化
1 總體思路
為了快速適應(yīng)管理需求的發(fā)展,提高信息系統(tǒng)開發(fā)規(guī)范性,有效管理和監(jiān)控信息系統(tǒng)運(yùn)行,合理規(guī)劃信息化系統(tǒng)開發(fā)進(jìn)程,降低信息化系統(tǒng)開發(fā)難度,提升開發(fā)效率,縮短開發(fā)周期。設(shè)計(jì)并開發(fā)了一套,可在線開發(fā),支持熱部署,的在線開發(fā)體系,實(shí)現(xiàn)系統(tǒng)的開發(fā)運(yùn)維一體化目標(biāo)。
2 技術(shù)方案
針對(duì)大型企業(yè)集團(tuán)綜合信息化系統(tǒng)開發(fā)所具有的信息源點(diǎn)多、分布廣、安全級(jí)別高、跨地域和跨多個(gè)操作系統(tǒng)和平臺(tái)、動(dòng)態(tài)性強(qiáng)、要求信息處理的效率和柔性兼顧等特點(diǎn),決定了必須有一個(gè)基于互聯(lián)網(wǎng)的敏捷、健壯、高效的開發(fā)平臺(tái)作為支撐,自主研發(fā)了基于容器技術(shù)和基于WebSocket技術(shù)的消息管理的開發(fā)平臺(tái),可以實(shí)現(xiàn)前臺(tái)UI在線開發(fā),可配置通用后臺(tái)管理,并適應(yīng)互聯(lián)網(wǎng)開發(fā)要求,支持多瀏覽器和多數(shù)據(jù)源。滿足大型企業(yè)集團(tuán)綜合信息化系統(tǒng)開發(fā)所具有的信息源點(diǎn)多、分布廣、安全級(jí)別高、跨地域和跨多個(gè)操作系統(tǒng)和平臺(tái)、動(dòng)態(tài)性強(qiáng)、要求信息處理的效率和柔性兼顧等特點(diǎn)和要求。
2.1 主要內(nèi)容
“工欲善其事必先利其器”,自主研發(fā)一套基于互聯(lián)網(wǎng)的開發(fā)平臺(tái),滿足大型企業(yè)集團(tuán)綜合信息化系統(tǒng)開發(fā)所具有的信息源點(diǎn)多、分布廣、安全級(jí)別高、跨多個(gè)操作系統(tǒng)和平臺(tái)、動(dòng)態(tài)性強(qiáng)、要求信息處理的效率和柔性兼顧等特點(diǎn)和要求。
2.1.1 基于容器技術(shù)的軟件結(jié)構(gòu)
針對(duì)大型集團(tuán)集中應(yīng)用的特點(diǎn)平臺(tái),最首要的要求就是敏捷性,即資源利用率高,開發(fā)效率高。容器技術(shù)虛擬化技術(shù)已經(jīng)成為一種被大家廣泛認(rèn)可的資源共享方式,容器技術(shù)可以在按需構(gòu)建容器技術(shù)操作系統(tǒng)實(shí)例的過程當(dāng)中為系統(tǒng)管理員提供極大的靈活性。只需要通過簡(jiǎn)單的觀察我們便能夠發(fā)現(xiàn)容器技術(shù)的出現(xiàn)是為了解決多操作系統(tǒng)/應(yīng)用程序堆棧的問題
(1)對(duì)于大規(guī)模集群來說,在本地硬盤當(dāng)中存儲(chǔ)操作系統(tǒng)副本將會(huì)使得更新過程變得更為復(fù)雜;
(2)最為重要的是,容器技術(shù)可以同時(shí)將操作系統(tǒng)鏡像和應(yīng)用程序加載到內(nèi)存當(dāng)中。還可以從網(wǎng)絡(luò)磁盤進(jìn)行加載,因?yàn)橥瑫r(shí)啟動(dòng)幾十臺(tái)鏡像不會(huì)對(duì)網(wǎng)絡(luò)和存儲(chǔ)帶來很大負(fù)載。之后的鏡像創(chuàng)建過程只需要指向通用鏡像,大大減少了所需內(nèi)存。
平臺(tái)以容器調(diào)度為基礎(chǔ),采用WebSocket技術(shù)的消息管理與系統(tǒng)運(yùn)維系體系、數(shù)據(jù)庫(kù)在線管理體系,平臺(tái)架構(gòu)由網(wǎng)關(guān),服務(wù)總線、容器三部分組成:
2.1.2 強(qiáng)大的平臺(tái)支撐能力,快速滿足軟件開發(fā)
軟件的開發(fā)價(jià)值,無法以工廠模式來考量,軟件價(jià)值的四分之三來源于服務(wù),而快速開發(fā)平臺(tái),提高了軟件的可重復(fù)性,促進(jìn)整個(gè)信息化開發(fā)效率的提升,縮短了開發(fā)周期,并降低了后期維護(hù)難度,提高了問題處理的響應(yīng)速度。也就是說快速開發(fā)平臺(tái)是為軟件開發(fā)者提供服務(wù)的產(chǎn)品。在對(duì)比國(guó)內(nèi)外優(yōu)秀的開發(fā)平臺(tái)之后,組織專家進(jìn)行了分析論證,確定總體要求并組織實(shí)施。經(jīng)過1年多的開發(fā)實(shí)踐,完成了開發(fā)平臺(tái)的功能實(shí)施,取得了顯著成效。主要實(shí)現(xiàn)功能如下:
(1)臺(tái)UI在線開發(fā)工具。功能界面以Minui樣式風(fēng)格為基礎(chǔ),應(yīng)用Miniui控件,實(shí)現(xiàn)統(tǒng)一的頁面布局、生成功能界面,可以在線生成,修改界面代碼。多種可視化開發(fā)組件充分滿足各種需求開發(fā)。數(shù)十種數(shù)據(jù)編輯控件:列表選擇框、下拉樹、超文本、超鏈接、二維碼、附件,數(shù)十種數(shù)據(jù)編輯界面:網(wǎng)格式、主次表、單據(jù)式、EXCEL文件、WORD模板、自定義HTML,數(shù)十種數(shù)據(jù)管理模板:標(biāo)準(zhǔn)列表、主次表、編輯+列表、內(nèi)容+列表、網(wǎng)格、圖標(biāo)式、卡片式,數(shù)十種數(shù)據(jù)分析方案:多表查詢、多層表頭、統(tǒng)計(jì)圖、狀態(tài)圖、年度曲線、同比環(huán)比、地圖分布、儀表盤、自定義分析。
(2)自適應(yīng)的代碼生成器。平臺(tái)的代碼生成方法用于生成單表或單視圖的標(biāo)準(zhǔn)BO類和DAO類。生成的類可以簡(jiǎn)化開發(fā)代碼,通過編譯器識(shí)別避免低級(jí)的書寫錯(cuò)誤,使開發(fā)者更專注于業(yè)務(wù)。另外,也可以在此基礎(chǔ)上配合一定的代碼來防止SQL注入的問題。生成的BO類因?yàn)榉螶PA的規(guī)范,除了可以用于自己對(duì)應(yīng)的平臺(tái)的DAO類,也可以用于Hibemate。又因?yàn)锽O類符合JAXB規(guī)范,還可用于CXF生成的Web Service方法。
(3)可配置通用后臺(tái)管理。結(jié)合多年開發(fā)的信息系統(tǒng),提煉出了通的用戶、角色、機(jī)構(gòu)、功能菜單、數(shù)據(jù)字典、授權(quán)等每個(gè)系統(tǒng)都需的功能。可以替換之前開發(fā)的后臺(tái)管理功能,也可直接應(yīng)用的新的系統(tǒng)開發(fā)中?;诮巧臋?quán)限管理,大大減輕了系統(tǒng)授權(quán)的工作量??煞峙涠嗳瞬僮魇跈?quán),各自管理自己授權(quán)的用戶和范圍??稍O(shè)置每個(gè)模塊、表的操作權(quán)限??稍O(shè)置用戶數(shù)據(jù)范圍,如全部數(shù)據(jù)、分公司數(shù)據(jù)、本部門數(shù)據(jù)、本人數(shù)據(jù)等??啥x禁止操作字段、禁止查看字段、禁止打印報(bào)表項(xiàng)目、禁止分析項(xiàng)目等。職務(wù)代理功能。出差或請(qǐng)假時(shí)可設(shè)置自己的職務(wù)代理人。標(biāo)準(zhǔn)的數(shù)據(jù)初始化、備份、還原、系統(tǒng)日志工具。
2.1.3 踐行“以用戶體驗(yàn)為先”的互聯(lián)網(wǎng)思維,適應(yīng)“互聯(lián)網(wǎng)”開發(fā)
(1)良好的適應(yīng)性。支持主流瀏覽器:支持目前各種主流瀏覽器,包括IE(微軟瀏覽器)、Chrome(谷歌瀏覽器)、Firefox(火狐瀏覽器)、Safari(蘋果瀏覽器)、Opera,以及國(guó)內(nèi)眾多基于IE內(nèi)核的瀏覽器,如360、傲游、世界之窗等。
支持多數(shù)據(jù)源:平臺(tái)提供報(bào)表、視頻播放、打印、圖像識(shí)別、上傳、下載、發(fā)送短信等通用服務(wù)功能。在開發(fā)新的系統(tǒng)時(shí)只要進(jìn)行簡(jiǎn)單的配制即可完成相應(yīng)的功能而無需再開發(fā)相關(guān)的代碼。
(2)輕量級(jí)流程引擎。開發(fā)平臺(tái)自主設(shè)計(jì)開發(fā)輕量級(jí)流程引擎,吸納了JBPM3、Activiti5、BonitaBPM等國(guó)際開源流程引擎的精髓,同時(shí)提供了強(qiáng)大的中國(guó)式流程流轉(zhuǎn)處理,引擎采用微內(nèi)核+插件形式設(shè)計(jì),提供靈活的擴(kuò)展模式,不僅僅為審批流程提供了解決方案,同時(shí)還為復(fù)雜業(yè)務(wù)流程編排提供了強(qiáng)大的支持,實(shí)現(xiàn)在線畫流程,自定義表單,表單掛靠,業(yè)務(wù)流轉(zhuǎn)。
參考文獻(xiàn)
[1]劉威,以敏捷編程思想為指導(dǎo)利用開源軟件工具開發(fā)基于J2EE平臺(tái)的企業(yè)信息系統(tǒng)[D].北京化工大學(xué),2005.
[2]馬軍.軟件研發(fā)管理平臺(tái)的設(shè)計(jì)與應(yīng)用[D].北京郵電大學(xué),2009.
[3]李新.敏捷開發(fā)平臺(tái)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33 (09): 3604-3608.