云計(jì)算應(yīng)用軟件開發(fā)平臺,包括云計(jì)算應(yīng)用軟件開發(fā)工具、云計(jì)算支撐環(huán)境和云存儲構(gòu)件庫等。應(yīng)用軟件開發(fā)過程由軟件系統(tǒng)的建模行為驅(qū)動,應(yīng)用軟件開發(fā)流程如圖1所示。
圖1 軟件開發(fā)流程
云計(jì)算應(yīng)用軟件開發(fā)過程大致如下:
①使用平臺無關(guān)模型(Platform Independent Model,PIM)來對系統(tǒng)進(jìn)行建模。在此過程中,根據(jù)客戶需求和其他因素對PIM進(jìn)行精化,以使得能夠更加精確地描述系統(tǒng)。
②PIM可以被轉(zhuǎn)換到一個(gè)或者多個(gè)特定平臺模型(Platform Specific Model,PSM),對于每種特定的技術(shù)平臺都會生成獨(dú)立的PSM。
③由特定的模型轉(zhuǎn)換方法將每個(gè)PSM模型轉(zhuǎn)換為代碼。
系統(tǒng)開發(fā)最初的需求捕獲和分析,最后的測試和發(fā)布環(huán)節(jié),同傳統(tǒng)的軟件開發(fā)一樣。云計(jì)算應(yīng)用軟件開發(fā)建立系統(tǒng)的PIM模型之后,云端提供構(gòu)件支持、環(huán)境支持、工具支持,將PIM模型自動轉(zhuǎn)換為一個(gè)或多個(gè)PSM模型,然后再生成代碼,最終測試,發(fā)布系統(tǒng)。
云計(jì)算應(yīng)用軟件開發(fā)模型如圖2所示。
云計(jì)算應(yīng)用軟件開發(fā)模型主要分布于云計(jì)算環(huán)境的兩個(gè)服務(wù)層面:SaaS和PaaS層。
在SaaS層面,向用戶提供了如下軟件業(yè)務(wù)化定制接口:
①基于SOA的變換定義編輯器:PIM模型是根據(jù)變換規(guī)則轉(zhuǎn)換為PSM模型的,變換規(guī)則被定義后,可以隨平臺環(huán)境的改變而改變,這就需要變換定義編輯器來對其進(jìn)行創(chuàng)建和修改。
②基于SOA的模型編輯器:為PIM模型提供的編輯器,可以創(chuàng)建和修改模型。
③基于SOA的代碼編輯器:交互開發(fā)環(huán)境(Interactive DevelopmentEnvironment)提供的常用功能。各個(gè)PSM模型轉(zhuǎn)換為代碼塊之后,由于代碼之間存在細(xì)節(jié)問題,需要進(jìn)一步調(diào)試、編譯、代碼編輯。
圖2 云計(jì)算應(yīng)用軟件開發(fā)模型架構(gòu)
以上的用戶使用接口均采用SOA的方式提供,平臺需要考慮其中的技術(shù)細(xì)節(jié)與使用形式,以及開放給用戶的編輯器UI規(guī)劃等問題。
在PaaS層面,提供了該平臺的核心:軟件業(yè)務(wù)化定制引擎。其中,云環(huán)境下的模型交換和變換交換總線是聯(lián)系整個(gè)開發(fā)平臺的技術(shù)紐帶,其以SOA的架構(gòu)方式,對外提供統(tǒng)一開放的API,其余分布在云端的各模塊借以和它進(jìn)行交互。該層面包括的各模塊的功能概括如下:
①基于云存儲的變換定義倉庫:基于云存儲,保存變換規(guī)則。
②基于SOA的模型校驗(yàn)器:用來生成PSM模型的PIM模型必須定義得非常精確。模型校驗(yàn)器可以按照一組預(yù)定義或用戶定義的規(guī)則來檢查PIM模型并確保模型適合進(jìn)行變換。
③變換工具:該工具以開放的風(fēng)格組合了一系列功能,如PIM到PSM的變換工具、PSM到代碼的轉(zhuǎn)換工具、PIM到代碼的轉(zhuǎn)換工具。
④基于云存儲的模型倉庫:基于云存儲,保存PIM模型和PSM模型。
⑤代碼文件:雖然可以把轉(zhuǎn)換后的代碼看作模型,但是這個(gè)模型一般是存放在文本文件中的。文本文件不是其他工具能夠理解的格式,因此還需要代碼文件解析器和代碼文件生成器進(jìn)行輔助理解。
由于平臺中各模塊都處于云端,因此各模塊之間的互操作需要通過統(tǒng)一的形式進(jìn)行。這里還是選擇SOA的方式進(jìn)行通信與互操作。