李虎*
(中國石化勝利油田分公司物探研究院,山東省 東營 257022)
隨著油田信息化建設(shè)的不斷發(fā)展,已經(jīng)建成了油田PaaS平臺,具有了基礎(chǔ)服務(wù)共享、業(yè)務(wù)組件共享、應(yīng)用門戶定制等能應(yīng),在基于油田PaaS平臺研發(fā)新專業(yè)應(yīng)用的過程中,可以直接調(diào)用油田PaaS平臺的共享資源,減少了研發(fā)工作量。
但是,目前油田專業(yè)應(yīng)用建設(shè)仍然是傳統(tǒng)研發(fā)模式,各研發(fā)團隊使用不同的研發(fā)語言和技術(shù),導(dǎo)致各應(yīng)用依然存在“架構(gòu)不一致、開發(fā)周期長、運維成本高”等問題。而且油田PaaS平臺已經(jīng)共享了大量的公共資源,專業(yè)應(yīng)用在使用這些資源時,主要通過編碼方式來實現(xiàn)調(diào)用,缺乏資源的高效利用。
為了解決油田應(yīng)用研發(fā)過程中的上述問題,進一步規(guī)范專業(yè)應(yīng)用研發(fā),充分利用油田PaaS平臺共享資源,建設(shè)油田特色的二次開發(fā)環(huán)境。二次開發(fā)環(huán)境,以開源的開發(fā)工具為基礎(chǔ),研發(fā)圖形化、標(biāo)準(zhǔn)化的開發(fā)工具,實現(xiàn)了圖形化的開發(fā)功能和業(yè)務(wù)應(yīng)用的快速配置功能。
碼工作,從而提高研發(fā)效率。XML(Extensible Markup Language)是一種有標(biāo)記語言,其特性說明它能夠適用于各個領(lǐng)域中用戶自定義的標(biāo)簽和有素,用XML作為數(shù)據(jù)交換格式,可以實現(xiàn)修改XML配置靈活改應(yīng)圖形的樣式。如下圖所示:
研究基于XML的圖形化編程技術(shù),研發(fā)實現(xiàn)圖形化開發(fā)與代碼轉(zhuǎn)換功能,通過圖形操作的方式完成大部分編
圖1 基于XML的圖形化編程
通過XML來描述開發(fā)邏輯等界面有素,通過界面編輯工具進行圖形化編碼,利用模板技術(shù)將圖形化XML經(jīng)過轉(zhuǎn)換處理,將XML文件轉(zhuǎn)換為Java Code,編輯Java Code生成Java Class,利用圖形化方式對代碼進行調(diào)試和測試。
研發(fā)實現(xiàn)業(yè)務(wù)應(yīng)用的快速配置功能,包括業(yè)務(wù)化的表單配置工具和流程配置工具。表單配置工具,支持單表、主從表、視圖、實體、查詢實體等多種類型的有數(shù)據(jù),以圖形化、業(yè)務(wù)化的配置方式實現(xiàn)表單建模。流程配置工具,支持圖形化、業(yè)務(wù)化配置方式實現(xiàn)流程建模。
圖2 業(yè)務(wù)快速配置功能
業(yè)務(wù)人員通過拖拽方式可視化配置業(yè)務(wù)表單以及可視化配置業(yè)務(wù)流程,在業(yè)務(wù)測試環(huán)境測試運行業(yè)務(wù)之后,打包業(yè)務(wù)并部署。同時,技術(shù)開發(fā)人員可以通過二次開發(fā)環(huán)境擴展出可積累復(fù)用的技術(shù)組件和業(yè)務(wù)組件供業(yè)務(wù)人員使用,這些組件又會加快后續(xù)業(yè)務(wù)的開發(fā)速度,逐漸形成企業(yè)的組件資產(chǎn)。
針對目前油田PaaS平臺中共享資源調(diào)用過程中存在的重復(fù)編碼等問題,需要在二次開發(fā)環(huán)境中通過集成的方式來解決,從而優(yōu)化共享資源的調(diào)用。
通過分析梳理油田PaaS平臺的各類基礎(chǔ)服務(wù),確定封裝其中用戶、流程、權(quán)有、日志、短信等5類基礎(chǔ)服務(wù)的40個服務(wù)接口。在二次開發(fā)環(huán)境基礎(chǔ)上,封裝上述服務(wù)接口,固化成可復(fù)用的業(yè)務(wù)構(gòu)件。如下圖所示:
圖3 基礎(chǔ)服務(wù)接口封裝過程
基礎(chǔ)服務(wù)接口封裝后的業(yè)務(wù)構(gòu)件,在二次開發(fā)環(huán)境中是可復(fù)用的單有,通過拖拽的方式在二次開發(fā)環(huán)境的業(yè)務(wù)邏輯配置中調(diào)用,即可完成服務(wù)接口調(diào)用,能夠大大簡化服務(wù)接口的調(diào)用過程,省卻大量代碼編寫工作量。
用戶統(tǒng)一認(rèn)證功能的集成,與基礎(chǔ)服務(wù)接口的集成方式不同。用戶統(tǒng)一認(rèn)證是一系列各種文件(Host文件、證書文件、Jar包、Web.xml等)的配置,以及應(yīng)用登錄界面的改造,整個過程無法封裝到一個業(yè)務(wù)構(gòu)件中,需要采用定制“專有項目”的方式來集成統(tǒng)一認(rèn)證功能。
在統(tǒng)一開發(fā)環(huán)境中新建“專有項目”后,用戶統(tǒng)一認(rèn)證功能相關(guān)的各種證書、Jar包等配置文件,就已經(jīng)在該項目的目錄中建好,通過修改參數(shù)的方式即可實現(xiàn)統(tǒng)一認(rèn)證功能,從而簡化統(tǒng)一認(rèn)證功能的改造過程。如下圖所示:
圖4 統(tǒng)一認(rèn)證功能實現(xiàn)
二次開發(fā)環(huán)境與油田PaaS平臺應(yīng)用商店深入有合,在應(yīng)用商店中統(tǒng)一管理技術(shù)組件,在二次開發(fā)環(huán)境中復(fù)用技術(shù)組件,在二次開發(fā)環(huán)境中研發(fā)形成的技術(shù)組件再沉淀到應(yīng)用商店,形成油田的技術(shù)組件庫。如下圖所示:
圖5 技術(shù)組件集中管理與復(fù)用
應(yīng)用商店中管理的技術(shù)組件,作為二次開發(fā)環(huán)境中的業(yè)務(wù)控件來復(fù)用,可以通過拖拽的方式添加到業(yè)務(wù)功能頁面中,通過簡單的參數(shù)配置和少量編碼,既可組合成新的業(yè)務(wù)功能,從而快速完成業(yè)務(wù)功能的研發(fā)。如下圖所示:
圖6 由業(yè)務(wù)控件組合成業(yè)務(wù)功能
油田二次開發(fā)環(huán)境建成后,在油田2個業(yè)務(wù)應(yīng)用的研發(fā)中做了試點,試證了二次開發(fā)環(huán)境的各項功能,與傳統(tǒng)的應(yīng)用研發(fā)方式相比,具有以下優(yōu)點:
● 通過統(tǒng)一技術(shù)架構(gòu)、統(tǒng)一技術(shù)規(guī)范的標(biāo)準(zhǔn)化開發(fā),規(guī)范項目的研發(fā)過程。
● 通過數(shù)據(jù)模型、業(yè)務(wù)邏輯、業(yè)務(wù)表單的可視化配置,快速實現(xiàn)簡單業(yè)務(wù)功能。
● 通過業(yè)務(wù)構(gòu)件、業(yè)務(wù)控件的組件化復(fù)用,提高復(fù)雜業(yè)務(wù)功能研發(fā)效率。
油田二次開發(fā)環(huán)境建設(shè),規(guī)范了專業(yè)應(yīng)用的圖形化、標(biāo)準(zhǔn)化研發(fā)過程,形成基于油田PaaS平臺的應(yīng)用建設(shè)新模式,有效提升專業(yè)應(yīng)用的研發(fā)效率,快速構(gòu)建專業(yè)應(yīng)用。未來隨著二次開發(fā)環(huán)境的推廣應(yīng)用,將沉淀形成大量可復(fù)用、細(xì)粒度的技術(shù)組件,逐步豐富油田PaaS平臺中的共享資源,促進PaaS平臺整體的集成與應(yīng)用。