此次開發在***會議項目之后進行的優化。主要內容:
1、 對在這次開發中發現的問題進行解決。
2、 對流程引擎進行重構。
3、 擴展部分流程引擎的功能。
4、 進行結構調整。
5、 單元測試。測試驅動。
調整總體結構
目前結構主要的問題在于,流程內核、應用服務器的服務,業務邏輯都一個動態庫中,代碼雜糅在一起,不利于后面的維護,重用,以及開發。
現在要做的事情是把它分成三層:
1、 Flow Engine Core 流程內核層
主要的功能是建立一個流程模型,包括:
1) 解析腳本,生成流程。
2) 實現流程的運轉。
3) 提供一個擴展機制,以便擴展出多種服務,多種對象。
把流程內核單獨剝離出來,形成一個動態鏈接庫。這樣,相當于建立了一個流程模型,不單IVR可以使用,其他的流程處理也可以使用。
這是第一層。
2、 AS Service 應用服務器服務層
應用服務器服務層通過流程內核層的服務擴展機制,建立應用服務器相關服務實體,比如:呼叫,拆線,放音,收號等。
還包括特定的對象,如用戶對象,會議對象。但是記錄用戶對象和會議對象的對應關系。這個對象關系在業務邏輯層進行記錄。
這一層可能對業務邏輯層封裝一些復合服務,比如追呼,強插,強拆等。
3、 Business Logic 業務邏輯層
業務邏輯層的主要功能是處理不同業務的邏輯。以電話會議業務為例:
這一層通過電話號碼和會議號和和應用服務器服務層進行交互,保存用戶和會議的對應關系,以及會議屬性(是否錄音,追呼,),記錄會場信息,和頁面進行交互等。
這里也可以擴展一些會議業務所特有的服務,比如,追呼,三個號碼,輪呼等。
node,執行環境,service三者的關系目前不是很好。這里也要調整。
擴展流程功能
擴展的功能包括:
1) 實現流程的“節外生枝”——即在主流程里調用一個子流程。
2) 同步分裂,與匯聚流程
3) 同步分裂,或匯聚流程
代碼重構
對代碼進行重構。有些接口設計比較差,這里進行一下優化。在優化之前,倒是可以學習一下《設計模式》以及《重構》,順便溫習一下《代碼大全》,借鑒一些好的思路。
測試驅動開發
嘗試測試驅動開發,為流程引擎代碼構建一個可靠的測試環境。這里使用Google Test單元測試框架。
解決這次開發中的技術債務
將這次開發中一些臨時的方案用新的方案來進行代替。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
