在PaaS上構(gòu)建SaaS應用程序時先搞清這些
遺留系統(tǒng)含有成千上萬個執(zhí)行一大批業(yè)務(wù)功能的服務(wù)組件。比如說,假設(shè)貴企業(yè)運行的一個內(nèi)部遺留系統(tǒng)中的一套組件向企業(yè)高管提供一份統(tǒng)計報告。為了趕在截至日之前獲得這份每周提交的報告,該高管應該考慮將必要的組件遷移到新的軟件即服務(wù)(SaaS)應用程序。
如果經(jīng)濟可行性研究表明這種遷移是明智的決策,他應該與其他高管以及由開發(fā)人員、系統(tǒng)工程師和業(yè)務(wù)分析人員組成的一個團隊合作,將遺留系統(tǒng)細分成多個組件,然后著手開發(fā)那個應用程序。
1、識別遺留系統(tǒng)資產(chǎn)
開發(fā)團隊、高管和遺留系統(tǒng)負責人需要識別遺留系統(tǒng)的資產(chǎn)。這些資產(chǎn)包括如下:
- 說明文檔,包括遺留系統(tǒng)的描述和流程圖以及災難恢復計劃;
- 公司內(nèi)部數(shù)據(jù)中心所在的設(shè)施;
- 與遺留系統(tǒng)有關(guān)的利益相關(guān)者;
- 這包括當前用戶(包括高管)、開發(fā)人員、系統(tǒng)管理員和業(yè)務(wù)分析人員;
- 遺留系統(tǒng)運行在上面的IT基礎(chǔ)設(shè)施;
- 以及開發(fā)人員的技術(shù)技能,比如在平臺即服務(wù)(PaaS)上開發(fā)SaaS應用程序,讓開發(fā)人員能夠在虛擬環(huán)境共享技能。
2、發(fā)現(xiàn)必要的組件及依賴關(guān)系
開發(fā)人員應該掃描源代碼,查找供以后提取的服務(wù)組件。源代碼包括主程序及其與子例程之間的接口,子例程可能采用了不同于主程序語言的編程語言編寫而成。
下一步是,開發(fā)人員識別主程序和子例程中的組件之間的依賴關(guān)系。服務(wù)組件的依賴關(guān)系可能與其他服務(wù)組件的依賴關(guān)系之間存在多對多的關(guān)系。
在識別組件的過程中,開發(fā)人員還應該設(shè)計一份流程圖,幫助自己將服務(wù)組件彼此之間的依賴關(guān)系具象化。
3、提取組件
開發(fā)人員應確定應該從遺留系統(tǒng)提取哪些組件。提取服務(wù)組件的簡易性取決于下面五個因素:
- 源代碼一開始編寫得有多好;
- 源代碼打補丁、再打補丁有多頻繁,以修復軟件錯誤;
- 遺留系統(tǒng)的說明文檔是否定期更新;
- 開發(fā)人員的技術(shù)技能(比如,遺留系統(tǒng)的原始開發(fā)人員可能再也找不到);
- 以及服務(wù)組件的依賴關(guān)系具有的復雜性。
4、接受或拒絕提取的組件
一旦開發(fā)人員厘清了依賴關(guān)系,他可以接受或拒絕依賴關(guān)系。接受依賴關(guān)系并不總是意味著按原狀接受服務(wù)組件。開發(fā)人員可能需要重新設(shè)計服務(wù)組件的結(jié)構(gòu),以滿足新的業(yè)務(wù)需求。結(jié)合依賴關(guān)系有望消除重復或類似的服務(wù)功能,因而減少了服務(wù)組件的數(shù)量。開發(fā)人員把所有被接受的服務(wù)組件放入到一個組件庫,以便在構(gòu)建 SaaS應用程序時使用。
構(gòu)建和安裝SaaS應用程序
在PaaS上構(gòu)建SaaS應用程序時,開發(fā)人員應該確定:
1、用戶、開發(fā)人員、系統(tǒng)管理員和業(yè)務(wù)分析人員期望從SaaS應用程序獲得什么樣的東西,然后選擇SaaS應用程序運行所需的云部署類型:私有云、公有云還是混合云。
2、根據(jù)用戶、開發(fā)人員、系統(tǒng)開發(fā)人員和業(yè)務(wù)分析人員的預期要求構(gòu)建應用程序時,使用哪些被接受的服務(wù)組件。
3、什么方法將服務(wù)組件編排到松散耦合的SaaS應用程序最經(jīng)濟高效,并測試該應用程序的結(jié)果是否滿足預期目標。松散耦合是指,應用程序在等待用戶響應的同時,應用程序的其余部分可以繼續(xù)運行。
安裝應用程序后,開發(fā)人員應該監(jiān)控SaaS應用程序的性能以及業(yè)務(wù)需求方面出現(xiàn)的任何變化,這些變化可能需要更新及重新設(shè)計應用程序的服務(wù)組件。