摘要:本文在廣東移動(dòng)已有基礎(chǔ)設(shè)施基礎(chǔ)上,研究應(yīng)用系統(tǒng)軟件開發(fā)體系與技術(shù)開發(fā)架構(gòu),建立一套有實(shí)際指導(dǎo)意義的統(tǒng)一應(yīng)用建設(shè)標(biāo)準(zhǔn)開發(fā)體系規(guī)范,實(shí)現(xiàn)一套可運(yùn)行的“統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)”基礎(chǔ)軟件,并基于該基礎(chǔ)開發(fā)平臺(tái)實(shí)現(xiàn)典型應(yīng)用功能開發(fā)實(shí)例,用于指導(dǎo)后續(xù)應(yīng)用軟件開發(fā)。
關(guān)鍵詞:研發(fā)平臺(tái);架構(gòu);微服務(wù)
廣東移動(dòng)管理領(lǐng)域應(yīng)用系統(tǒng)經(jīng)過(guò)多年的建設(shè)發(fā)展,已經(jīng)擁有了一大批成熟的IT系統(tǒng)基礎(chǔ)能力服務(wù),并基于基礎(chǔ)能力服務(wù)構(gòu)建了大量的應(yīng)用系統(tǒng),目前管理領(lǐng)域現(xiàn)有應(yīng)用系統(tǒng)多,軟件廠商多,各系統(tǒng)技術(shù)平臺(tái)差異性大,系統(tǒng)升級(jí)與維護(hù)難度大、實(shí)施周期長(zhǎng)、風(fēng)險(xiǎn)大,已經(jīng)無(wú)法滿足當(dāng)前業(yè)務(wù)快速發(fā)展、需求快速響應(yīng)、軟件持續(xù)交付的建設(shè)需要。
2016年廣東移動(dòng)啟動(dòng)了綜合管理支撐應(yīng)用的整合建設(shè)項(xiàng)目,基于下層綜合管理支撐平臺(tái)提供的統(tǒng)一的綜合辦公支撐系統(tǒng)的底座和運(yùn)行環(huán)境。按照《綜合支撐平臺(tái)服務(wù)規(guī)范》,旨在通過(guò)“統(tǒng)一應(yīng)用建設(shè)”的模式,縮減開發(fā)商和系統(tǒng)數(shù)量,并致力于在應(yīng)用統(tǒng)建的過(guò)程中,降低應(yīng)用開發(fā)商更換門檻、降低統(tǒng)一維護(hù)門檻、提高開發(fā)速度和長(zhǎng)期降低投資的目的。隨著廣東移動(dòng)業(yè)務(wù)的快速發(fā)展,對(duì)管理需求的快速響應(yīng)提出了更高的要求.如何更加快速、高效、低成本的實(shí)現(xiàn)應(yīng)用開發(fā),對(duì)目前技術(shù)開發(fā)工作提出了新的挑戰(zhàn)。
在廣東移動(dòng)已有基礎(chǔ)設(shè)施基礎(chǔ)上,研究應(yīng)用系統(tǒng)軟件開發(fā)體系與技術(shù)開發(fā)架構(gòu),建立一套有實(shí)際指導(dǎo)意義的統(tǒng)一應(yīng)用建設(shè)標(biāo)準(zhǔn)開發(fā)體系規(guī)范,實(shí)現(xiàn)一套可運(yùn)行的“統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)”基礎(chǔ)軟件,并基于該基礎(chǔ)開發(fā)平臺(tái)實(shí)現(xiàn)典型應(yīng)用功能開發(fā)實(shí)例,用于指導(dǎo)后續(xù)應(yīng)用軟件開發(fā)。
廣東移動(dòng)管理域應(yīng)用系統(tǒng)眾多,建立統(tǒng)一的應(yīng)用建設(shè)體系,對(duì)于公司應(yīng)用建設(shè)的標(biāo)準(zhǔn)化、規(guī)范化、降低成本以及技術(shù)提升有著非常重大的意義,為后續(xù)持續(xù)性發(fā)展奠定基礎(chǔ)。
1 應(yīng)用開發(fā)現(xiàn)狀分析
1.1 應(yīng)用開發(fā)環(huán)境現(xiàn)狀調(diào)研分析
1.1.1操作系統(tǒng)
根據(jù)近兩年綜合管理域應(yīng)用開發(fā)項(xiàng)目使用操作系統(tǒng)情況統(tǒng)計(jì),更多項(xiàng)目采用Linux操作系統(tǒng),占比超過(guò)60%,Windows操作系統(tǒng)的項(xiàng)目占比約25%,而前期舊系統(tǒng)大多為Window操作系統(tǒng),Linux系統(tǒng)比重在逐步增大。
1.1.2 數(shù)據(jù)庫(kù)
根據(jù)對(duì)關(guān)系數(shù)據(jù)庫(kù)分析結(jié)果,目前綜合管理域主要使用數(shù)據(jù)庫(kù)為Oracle,占比達(dá)到55%,MySQL占比30%,SQL Server占比15%。
非關(guān)系數(shù)據(jù)庫(kù)目前綜合管理域應(yīng)用使用Redis占比達(dá)到92.3%。
1.1.3中間件
中間件中開源的Tomcat占比已超過(guò)50%,其次為Weblogic,而Weblogic更多是早期建設(shè)的系統(tǒng)使用。
1.1.4負(fù)載均衡
基于軟件實(shí)現(xiàn)負(fù)載均衡器,目前綜合管理域主流負(fù)載均衡器為Nginx占比超過(guò)80%。
1.2 應(yīng)用開發(fā)技術(shù)調(diào)研分析
目前管理域應(yīng)用主要以單體式分層應(yīng)用開發(fā)架構(gòu)為主,按照分層結(jié)構(gòu)來(lái)看,展現(xiàn)層以服務(wù)端的JSP技術(shù)為主,早期基于.net/asp實(shí)現(xiàn)的應(yīng)用也逐步替換為采用JSP實(shí)現(xiàn);業(yè)務(wù)層框架基乎所有應(yīng)用都采用了Spring框架,而Spring框架實(shí)際上也是目前業(yè)務(wù)層主流首選框架;控制層框架目前MVC開發(fā)框架基本以SpringMVC和Struts為主,SpringMVC和Struts控制層框架使用基本持平,但新開發(fā)應(yīng)用主要采用SpringMVC;持久層框架使用種類較多,除廠家自定義框架外,主要的開源框架包括Hibemate、iBatis、MyBatis、Nutz等,其中iBatis是MyBatis的前身,Nutz為國(guó)產(chǎn)開源框架,目前使用較少。
2 主流應(yīng)用軟件開發(fā)架構(gòu)分析
2.1 主流技術(shù)架構(gòu)研究分析
目前主流的Web應(yīng)用開發(fā)架構(gòu)主要包括單體式分層架構(gòu)、事件驅(qū)動(dòng)架構(gòu)(EDA)、分布式架構(gòu)(SOA、微服務(wù))等幾種架構(gòu)類型。
單體式分層架構(gòu)是目前最常見的軟件架構(gòu),也是事實(shí)上的標(biāo)準(zhǔn)架構(gòu)。這種架構(gòu)將軟件分成若干個(gè)水平層,每一層都有清晰的角色和分工,不需要知道其他層的細(xì)節(jié),層與層之間通過(guò)接口通信。
事件驅(qū)動(dòng)架構(gòu)(EDA)由一系列相關(guān)組件構(gòu)成,各組件以異步方式響應(yīng)事件完成業(yè)務(wù)功能,一個(gè)典型的事件驅(qū)動(dòng)系統(tǒng)由事件消費(fèi)者和事件產(chǎn)生者組成,適合于異步的環(huán)境,但不適合對(duì)實(shí)時(shí)性要求比較高的系統(tǒng)。
SOA是面向服務(wù)的架構(gòu),其中包含多個(gè)服務(wù),服務(wù)之間通過(guò)相互依賴最終提供一系列完整的功能。各個(gè)服務(wù)通常以獨(dú)立形式部署運(yùn)行,服務(wù)之間通過(guò)網(wǎng)絡(luò)進(jìn)行調(diào)用,通過(guò)ESB來(lái)連接各個(gè)服務(wù)節(jié)點(diǎn),集成基于不同協(xié)議的不同服務(wù),實(shí)現(xiàn)消息的轉(zhuǎn)化、解釋以及路由,以此來(lái)讓不同的服務(wù)互聯(lián)互通,SOA注重的是系統(tǒng)集成。
微服務(wù)架構(gòu)是服務(wù)導(dǎo)向架構(gòu)的升級(jí),每一個(gè)服務(wù)就是一個(gè)獨(dú)立的部署單元,這些單元都是分布式的,互相解耦,通過(guò)遠(yuǎn)程通信協(xié)議(比如REST、SOAP)聯(lián)系。是目前最為流行的Web應(yīng)用開發(fā)架構(gòu)。微服務(wù)架構(gòu)關(guān)注的是完全分離。
隨著容器技術(shù)的出現(xiàn),為微服務(wù)提供了非常便利的條件,比如更小的部署單元,每個(gè)服務(wù)可以獨(dú)立運(yùn)行。
2.2 技術(shù)開發(fā)框架研究分析
技術(shù)開發(fā)框架的研究分析主要從微服務(wù)開發(fā)框架、服務(wù)端開發(fā)框架、前端開發(fā)框架等幾個(gè)方面進(jìn)行具體的分析。
2.2.1 微服務(wù)開發(fā)框架
根據(jù)省公司應(yīng)用建設(shè)發(fā)展規(guī)劃,統(tǒng)一的微服務(wù)框架將提供支持Dubbo、SpringCloud、ServiceComb三種框架技術(shù)。Dubbo是SOA時(shí)代的產(chǎn)物,專注于服務(wù)治理,關(guān)注點(diǎn)主要在于服務(wù)的調(diào)用、流量分發(fā)、流量監(jiān)控和熔斷。ServiceComb功能大而全,開源時(shí)間短,需要時(shí)間來(lái)不斷完善。Spring Cloud誕生于微服務(wù)架構(gòu)時(shí)代,考慮的是微服務(wù)治理的各個(gè)方面,由于依托了Spimg、Spimg Boot的優(yōu)勢(shì),Spimg Cloud是一個(gè)微服務(wù)架構(gòu)生態(tài)。
2.2.2服務(wù)端開發(fā)框架
目前開發(fā)JavaWeb應(yīng)用主流的開發(fā)框架有SSH( Struts2+Spring+Hibemate)、SSM( SpringMVC+Spring+MyBatis),越來(lái)越多的開發(fā)團(tuán)隊(duì)目前都己轉(zhuǎn)向SSM框架。基于SSH與SSM開發(fā)框架的對(duì)比以及發(fā)展趨勢(shì),選擇SSM開發(fā)框架更適合未來(lái)的發(fā)展方向,更大的開發(fā)技術(shù)人員群體也使得團(tuán)隊(duì)更容易組建。
2.2.3 前端開發(fā)框架
目前前端UI開發(fā)框架眾多,使用較多的主要是Bootstrap、iQuery. Ext、Dojo等。為了更好的支持MVC體系結(jié)構(gòu),出現(xiàn)了Angular、Vue、React等流行的前端框架,方便開發(fā)人員能構(gòu)建出動(dòng)態(tài)、美觀的Web應(yīng)用程序。Angular實(shí)現(xiàn)了Model-View-ViewModel (MVVM)模式,跨瀏覽器兼容,適合大型應(yīng)用開發(fā),支持Native應(yīng)用程序、混合應(yīng)用程序和Web應(yīng)用程序開發(fā)。Vue使用較簡(jiǎn)單,關(guān)注于ViewModel或雙向數(shù)據(jù)綁定,適合開發(fā)小規(guī)模應(yīng)用。React的核心思想是封裝組件,各個(gè)組件維護(hù)自己的狀態(tài)和UI,當(dāng)狀態(tài)變更,自動(dòng)重新渲染整個(gè)組件。
3 基礎(chǔ)開發(fā)平臺(tái)與應(yīng)用開發(fā)設(shè)計(jì)實(shí)現(xiàn)
3.1 基礎(chǔ)開發(fā)架構(gòu)設(shè)計(jì)
目前微服務(wù)架構(gòu)己成為主流開發(fā)架構(gòu)和發(fā)展趨勢(shì),隨著云計(jì)算技術(shù)的發(fā)展,采用微服務(wù)架構(gòu)己成為未來(lái)廣東移動(dòng)應(yīng)用建設(shè)的必然趨勢(shì),符合廣東移動(dòng)統(tǒng)一應(yīng)用建設(shè)總體規(guī)劃。
通過(guò)對(duì)比Dubbo、SpringCloud、ServiceComb三種框架技術(shù),SpringCloud是目前成熟的開源框架,具備完善的體系,己成為主流,本次基礎(chǔ)開發(fā)平臺(tái)的架構(gòu)將采用SpringCloud實(shí)現(xiàn)微服務(wù)架構(gòu),利用SpringCloud體系提供的豐富組件來(lái)實(shí)現(xiàn),主要組件及實(shí)現(xiàn)說(shuō)明如下:
(1)網(wǎng)關(guān)服務(wù):處理用戶請(qǐng)求,轉(zhuǎn)發(fā)和控制,基于Gateway組件實(shí)現(xiàn);
(2)負(fù)載均衡:實(shí)現(xiàn)服務(wù)負(fù)載均衡訪問(wèn),基于Ribbon組件;
(3)服務(wù)注冊(cè)中心:實(shí)現(xiàn)所有服務(wù)的注冊(cè)、發(fā)現(xiàn),采用Eureka組件實(shí)現(xiàn);
(4) Restful客戶端:實(shí)現(xiàn)Restful接口支持,內(nèi)部組件之間基于Feign進(jìn)行交互;
(5)可擴(kuò)展組件:采用配置中心、Hystrix、Tunbine等實(shí)現(xiàn)統(tǒng)一配置、監(jiān)控、接口方式等輔助應(yīng)用。
基于微服務(wù)架構(gòu)的應(yīng)用,結(jié)合前后端分離的開發(fā)模式是目前應(yīng)用開發(fā)的最佳實(shí)踐,前端為純靜態(tài)頁(yè)面,通過(guò)接口從后端獲取數(shù)據(jù)展示和提交數(shù)據(jù)到后端,后端作為服務(wù)端封裝為微服務(wù),基于SpringCloud各種組件部署運(yùn)行,從而達(dá)到各項(xiàng)靈活的服務(wù)注冊(cè)發(fā)現(xiàn)、負(fù)載均衡、監(jiān)控、動(dòng)態(tài)擴(kuò)容/縮容等能力。
(1)前端采用純靜態(tài)的HTML進(jìn)行實(shí)現(xiàn),基于Vue開發(fā)框架,部署于Nginx,可根據(jù)需要輕松實(shí)現(xiàn)負(fù)載均衡;
(2)后端基于SpringCloud體系組件進(jìn)行開發(fā)、對(duì)接并實(shí)現(xiàn)相應(yīng)的功能邏輯;
(3)基于微服務(wù)架構(gòu)提供了良好的解耦、靈活性和擴(kuò)展性,對(duì)于開發(fā)框架、語(yǔ)言、數(shù)據(jù)庫(kù)等可根據(jù)微服務(wù)實(shí)際場(chǎng)景及需求進(jìn)行選擇。
基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)的整體軟件邏輯架構(gòu)設(shè)計(jì)如圖1。
3.2 運(yùn)行架構(gòu)設(shè)計(jì)
廣東移動(dòng)已有成熟完善的基礎(chǔ)設(shè)施,操作系統(tǒng)采用Lmux的比重在逐步增大,而Windows系統(tǒng)仍然還有較多系統(tǒng)在使用,很長(zhǎng)一段時(shí)間內(nèi)Linux與Window仍然是主流使用的系統(tǒng),目前相應(yīng)的技術(shù)以及軟件開發(fā)相關(guān)技術(shù)和環(huán)境仍然對(duì)Linux和Windows環(huán)境給予支持。運(yùn)行環(huán)境方面采用何種操作系統(tǒng)影響不大,但應(yīng)用開發(fā)需要考慮對(duì)Linux和Windows環(huán)境的支持。
基于微服務(wù)的基礎(chǔ)開發(fā)平臺(tái)可基于SpringBoot以Jar包的形式發(fā)布,僅基于一條簡(jiǎn)單的Java指令即可啟動(dòng)應(yīng)用并獨(dú)立運(yùn)行,簡(jiǎn)單易管理。應(yīng)用同時(shí)可支持容器化部署,如基于Docker部署并制作鏡像,通過(guò)PaaS及管理平臺(tái)進(jìn)行管理和維護(hù)。
基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)最終實(shí)現(xiàn)的應(yīng)用系統(tǒng)整體運(yùn)行結(jié)構(gòu)如圖2。
3.3基礎(chǔ)功能設(shè)計(jì)
廣東移動(dòng)管理域應(yīng)用都需要實(shí)現(xiàn)組織機(jī)構(gòu)和用戶管理(基于用戶中心進(jìn)行同步)、角色權(quán)限管理、菜單管理、認(rèn)證授權(quán)、日志管理等基礎(chǔ)功能,基礎(chǔ)開發(fā)平臺(tái)對(duì)以上基礎(chǔ)功能進(jìn)行整合封裝,作為基礎(chǔ)服務(wù)提供業(yè)務(wù)使用。
基于基礎(chǔ)微服務(wù),對(duì)辦公通用個(gè)人事務(wù)、系統(tǒng)管理、標(biāo)準(zhǔn)接口對(duì)接等常用應(yīng)用功能等進(jìn)行實(shí)現(xiàn),保證基礎(chǔ)平臺(tái)整體功能完整、可用。
3.3.1基礎(chǔ)微服務(wù)功能
通過(guò)對(duì)系統(tǒng)基本功能、標(biāo)準(zhǔn)接口功能封裝為微服務(wù),以Restful接口形式提供應(yīng)用的業(yè)務(wù)功能直接調(diào)用使用。為了避免服務(wù)過(guò)度拆分造成服務(wù)結(jié)構(gòu)過(guò)于復(fù)雜,將所有的基礎(chǔ)服務(wù)作為一個(gè)統(tǒng)一的服務(wù)應(yīng)用進(jìn)行發(fā)布,簡(jiǎn)化基礎(chǔ)微服務(wù)的部署使用難度。
3.3.2常用應(yīng)用功能
除了基礎(chǔ)微服務(wù)外,管理域應(yīng)用仍有部分功能需要作為常用的應(yīng)用功能直接提供,避免應(yīng)用重復(fù)進(jìn)行開發(fā)實(shí)現(xiàn),這些功能包括系統(tǒng)管理功能(模塊菜單、角色權(quán)限、機(jī)構(gòu)人員、系統(tǒng)日志等)、個(gè)人事務(wù)(系統(tǒng)待辦/待閱、已辦/已閱、起草中心、個(gè)人設(shè)置)等,通過(guò)對(duì)這些基本常用應(yīng)用功能的建設(shè),達(dá)到基礎(chǔ)平臺(tái)部署即可具備使用能力,只需要在此基礎(chǔ)上進(jìn)行特定的業(yè)務(wù)功能的實(shí)現(xiàn)即可,應(yīng)用開發(fā)團(tuán)隊(duì)不必關(guān)注這些基礎(chǔ)功能,從而也提升了應(yīng)用建設(shè)的效率和質(zhì)量。
3.3.3 標(biāo)準(zhǔn)接口對(duì)接
廣東移動(dòng)管理域應(yīng)用的建設(shè),都需要涉及內(nèi)部多個(gè)基礎(chǔ)系統(tǒng)的標(biāo)準(zhǔn)接口對(duì)接,接口規(guī)范標(biāo)準(zhǔn),通過(guò)對(duì)這些標(biāo)準(zhǔn)接口進(jìn)行實(shí)現(xiàn),作為應(yīng)用基礎(chǔ)能力,配置即可使用,避免重復(fù)建設(shè)。主要包括的標(biāo)準(zhǔn)接口有:
(1)人員機(jī)構(gòu)同步接口:實(shí)現(xiàn)通用的機(jī)構(gòu)、人員信息的同步、接收處理;
(2)統(tǒng)一身份認(rèn)證接口:按照接口規(guī)范實(shí)現(xiàn)用戶身份認(rèn)證、單點(diǎn)登錄功能;
(3)門戶統(tǒng)一待辦接口:將流程審批與業(yè)務(wù)辦理的個(gè)人待辦、待閱信息同步至門戶或刪除待辦、待閱,保持通過(guò)門戶統(tǒng)一處理個(gè)人待辦、待閱事項(xiàng);
(4)短信發(fā)送接口:實(shí)現(xiàn)短信發(fā)送接口對(duì)接,實(shí)現(xiàn)短信通知的發(fā)送功能。
以上標(biāo)準(zhǔn)接口實(shí)現(xiàn)后,應(yīng)用建設(shè)時(shí)只需要進(jìn)行基本的參數(shù)配置即可快速實(shí)現(xiàn)相應(yīng)的系統(tǒng)整合。
3.4 應(yīng)用二次開發(fā)設(shè)計(jì)
為了更好的驗(yàn)證微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)實(shí)際效果,開發(fā)建設(shè)一個(gè)應(yīng)用案例,通過(guò)案例驗(yàn)證微服務(wù)架構(gòu)適應(yīng)能力、基礎(chǔ)平臺(tái)微服務(wù)基礎(chǔ)支撐能力以及與傳統(tǒng)應(yīng)用效果的對(duì)比,該案例成果將能夠提供其它云應(yīng)用做為標(biāo)準(zhǔn)實(shí)現(xiàn)進(jìn)行參照。
基礎(chǔ)平臺(tái)己具備了常用的基礎(chǔ)能力與應(yīng)用功能,應(yīng)用二次開發(fā)只需關(guān)注業(yè)務(wù)即可,按照基礎(chǔ)平臺(tái)設(shè)計(jì)、開發(fā)、編碼規(guī)范進(jìn)行實(shí)現(xiàn)即可。
基礎(chǔ)微服務(wù)提供業(yè)務(wù)應(yīng)用二次開發(fā),可以采用兩種模式進(jìn)行開發(fā):
(1)每個(gè)應(yīng)用建設(shè)前,獨(dú)立部署一套基礎(chǔ)平臺(tái),在此基礎(chǔ)上進(jìn)行業(yè)務(wù)功能的設(shè)計(jì)、開發(fā)工作,該模式適合業(yè)務(wù)復(fù)雜、用戶量大、使用頻繁的業(yè)務(wù)應(yīng)用;
(2)多個(gè)應(yīng)用共同使用同一套基礎(chǔ)平臺(tái),通過(guò)微服務(wù)接口進(jìn)行共用基礎(chǔ)服務(wù)功能的訪問(wèn),完成業(yè)務(wù)應(yīng)用功能,該模式適合業(yè)務(wù)簡(jiǎn)單、用戶量不大的情況。
以上兩種模式都建議業(yè)務(wù)應(yīng)用功能獨(dú)立部署運(yùn)行,調(diào)用基礎(chǔ)服務(wù)并可向外部提供業(yè)務(wù)功能的服務(wù)。
3.5 相關(guān)規(guī)范設(shè)計(jì)
現(xiàn)有綜合管理域應(yīng)用規(guī)劃目標(biāo)是更好的響應(yīng)業(yè)務(wù)的統(tǒng)一架構(gòu)、統(tǒng)一平臺(tái)、快速開發(fā)、集中運(yùn)維,這就需要減少個(gè)性化,實(shí)現(xiàn)統(tǒng)一,規(guī)范系統(tǒng)的開發(fā)及維護(hù)。規(guī)范應(yīng)用的建設(shè)過(guò)程、建設(shè)標(biāo)準(zhǔn)、技術(shù)路線等是達(dá)成以上目標(biāo)的快速、高效的方式。需要一套開發(fā)規(guī)范體系作為后續(xù)基礎(chǔ)開發(fā)平臺(tái)使用和管理域新建應(yīng)用開發(fā)的指導(dǎo)規(guī)范。規(guī)范體系包括應(yīng)用運(yùn)行環(huán)境規(guī)范、設(shè)計(jì)與開發(fā)規(guī)范、發(fā)布與更新規(guī)范、UI/UE界面規(guī)范共四個(gè)方面:
運(yùn)行環(huán)境規(guī)范:規(guī)定了統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)的建議運(yùn)行環(huán)境,結(jié)合該運(yùn)行環(huán)境規(guī)范規(guī)劃應(yīng)用的運(yùn)行環(huán)境,主要內(nèi)容包括所需的運(yùn)行資源要求、軟件環(huán)境及版本、應(yīng)用基本配置等。運(yùn)行環(huán)境規(guī)范可以指導(dǎo)應(yīng)用開發(fā)廠商快速的搭建統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)的開發(fā)環(huán)境,規(guī)劃所需資源并應(yīng)對(duì)有關(guān)環(huán)境的問(wèn)題處理方法。
設(shè)計(jì)與開發(fā)規(guī)范:設(shè)計(jì)開發(fā)規(guī)范對(duì)應(yīng)用系統(tǒng)功能的設(shè)計(jì)、開發(fā)提供了標(biāo)準(zhǔn)化的方法,通過(guò)標(biāo)準(zhǔn)規(guī)范提高項(xiàng)目管理水平,通過(guò)開發(fā)框架提高系統(tǒng)標(biāo)準(zhǔn)化。設(shè)計(jì)開發(fā)規(guī)范主要包括應(yīng)用設(shè)計(jì)工具、代碼體系結(jié)構(gòu)、基礎(chǔ)組件的使用規(guī)范、編碼規(guī)范等。
發(fā)布與更新規(guī)范:發(fā)布與更新規(guī)范對(duì)開發(fā)完成的應(yīng)用系統(tǒng)發(fā)布到測(cè)試環(huán)境與運(yùn)行環(huán)境的規(guī)范,包括基礎(chǔ)環(huán)境的配置、應(yīng)用參數(shù)配置、系統(tǒng)更新包規(guī)范、發(fā)布或更新檢查與排錯(cuò)規(guī)范等。
UI/UE界面規(guī)范:界面規(guī)范規(guī)定了界面開發(fā)的通用規(guī)范以及基礎(chǔ)開發(fā)平臺(tái)提供的標(biāo)準(zhǔn)前端組件的使用規(guī)范、參考樣例等,以便保持應(yīng)用界面統(tǒng)一、降低開發(fā)難度。
4 總結(jié)
通過(guò)本次統(tǒng)一應(yīng)用基礎(chǔ)開發(fā)平臺(tái)的研究與實(shí)施,以理論結(jié)合實(shí)踐的形式對(duì)當(dāng)前廣東移動(dòng)微服務(wù)架構(gòu)、統(tǒng)一應(yīng)用開發(fā)模式進(jìn)行了分析、研究和探索,為后續(xù)管理域應(yīng)用開發(fā)建設(shè)建立示范性的基礎(chǔ)標(biāo)準(zhǔn),實(shí)現(xiàn)了當(dāng)前主流開發(fā)技術(shù)的應(yīng)用和整合,降低后續(xù)應(yīng)用開發(fā)的復(fù)雜度;合理的架構(gòu)及開發(fā)模式大大提升了應(yīng)用的處理能力、用戶體驗(yàn),增強(qiáng)了平臺(tái)基礎(chǔ)安全性、可靠性;平臺(tái)架構(gòu)有利于充分利用基礎(chǔ)資源,與PaaS平臺(tái)發(fā)展規(guī)劃思路一致,為后期很好的適應(yīng)及融入PaaS平臺(tái)打好了基礎(chǔ)。
參考資料
[1]《綜合支撐平臺(tái)服務(wù)規(guī)范-VI.0.0》中國(guó)移動(dòng)通信集團(tuán)廣東有限公司.
[2]《管理支撐軟件項(xiàng)目管理辦法>中國(guó)移動(dòng)通信集團(tuán)廣東有限公司信息系統(tǒng)部.
[3]Apache Dubbo官方網(wǎng)站http: //dubbo.apache.org
[4] SpringCloud官方網(wǎng)站https: //spring.io/projects/spring-cloud
[5] Vue.js官方網(wǎng)站ht tps: //cn.vuejS.org/
[6] AngularjS官方網(wǎng)站https: //angularjs.org/
[7]React官方網(wǎng)站https: //reactjs.org/
作者簡(jiǎn)介
匡華(1977-),男,湖南省人。大學(xué)本科學(xué)歷,高級(jí)工程師。研究方向?yàn)樵朴?jì)算。