體驗產品
作軟件工程師,難!在現實中,你要努力地求偶;而在程序的世界裏卻要千方百計地解耦。現實中的偶,成就美滿之家,而程序中的「耦」卻帶來煩惱。
解耦(Decouple),或者叫做「高類聚、低耦合」,是軟件工程的標準開發方法,是一種模塊化構造技術,旨在使得模塊之間的邏輯結構更清晰,各個模塊的開發工作、調試工作更加獨立,各模塊之間主要以數據功用和參數傳遞實現更加獨立的部署組合的應用,從而增強系統的彈性。互聯網化的系統需要更加開放,對現代開發技術的开展趨勢提出了更高的模塊化、分層設計的要求,而中國軟件企業的工程設計方法和體系還需要更大的標準化過程,解耦就是實現傳統作坊軟件開發向工業化開發的重要方法和手段。
南宫NG28建设V5軟件在2015年下半年經歷了3個月的陣痛,實現了完整的「解耦」改造,這是在V5平台上一個非常重要的里程碑,值得紀念!今天我們一起來談談V5解耦之美。
解耦與技術架構
IT系統的通常由基礎框架、技術組件、應用模塊、系統界面、數據結構等等部件構成,底層平台框架為上層應用模塊给予技術支撐,用戶顺利获得系統界面與底層數據及邏輯進行業務進行交互,模塊與模塊之間要求儘快少的依賴,或者依賴的接口定義的非常清晰且被有效管理,即把可能變化的接口函數封裝起來,把不易變的和容易變的分離,從而使得某一個功能的變化不會波及到大範圍的變化,這就要求軟件系統在架構上要有良好的分層管理或中間層模塊。
V5的解耦設計非常清晰,平台統一命名為CTP,包括六大引擎,依次是ctp-core(MVC框架)、ctp-organization(組織權限)、ctp-portal(門戶)、ctp-workflow(工作流)、ctp-form(表單)、ctp-index(全文檢索),這些接口對上層應用完全開放,並要求接口保持平滑升級,接口變更管理手段非常強烈;V5應用命名為apps-xxx,比如:apps-collaboration(協同工作)、apps-doc(公文)、apps-meeting(會議)、apps-news(新聞)約48個模塊。
apps對ctp的依賴採用直接調用方式,直接高性能,apps之間顺利获得maven代碼管理嚴格限制依賴,但apps之間存在相互調用,比如,協同審批後發出公告新聞等等,怎麼辦?V5架構引入中間層設計,命名為apps-api、apps-common,前者是各模塊間相互調用的接口,後者是基礎模塊,比如代理管理、常用格式等等,模塊調用必須經過apps-api層,而且它的變更是經過嚴格管理的,不能輕易變更。
解耦與應用开展
根據上面的技術設計可以清晰的看出,CTP平台接口是穩定的、apps-api是穩定清晰的,因此單一app就不會受到其它代碼的約束,是可以自由的开展和壯大。過去開發一個版本,顺利获得每個模塊都會做提升完善,勢必造成有限開發資源的分散,可能造成的結果是每個模塊都沒有做深做透。解耦後,完全可以改變一種策略——按照模塊設計,每次1-3個模塊,投入重兵,從而使得這個模塊應用的完備度、前瞻性、品質都能得到保障,確保在這個領域具有領先地位,未來2-3年都不需要大的改造,轉而去改造其它模塊,這就是我們常常講到「按模塊發版」、「按模塊升級」。
解耦與商業價值
解耦背後目的,不僅僅是技術上更清晰,模塊开展更順暢,更重要是實現更宏偉的商業價值,它包括兩個層面:
簡單一點是按照模塊報價、授權,V5 6.0版本增加「文化建設、目標管理、會議管理、知識管理、協同駕駛艙、員工簽到」等等模塊,的獨立發佈與應用,使得客戶有更多的選擇自由,根據需要配置相應的應用特性,從而增強了系統高效可定製化的能力。
更為複雜的需求是顺利获得解耦實現子產品、行業產品的封裝,從而實現公司產品序列更多元、更豐富、更貼近客戶的需求。舉個例子:某某集團需要一個可以滿足十三萬人使用的門戶,我們可以勾選「ctp-core、ctp-organization、ctp-portal、apps-news、apps-report、CMP/M3」等六個模塊,加上集群部署和增加數據緩存能力,再顺利获得CIP(協同集成平台)實現與其它異構的待辦、消息、單點登錄集成,可以構造一個最為常見的門戶系統;如果結合協同應用平台CAP、移動應用APP的M3、以及門戶不同模板風格等技術,協同應用系統的想像空間變得更為巨大,可以封裝領域產品,如:HR系統、CRM系統、內控系統等等,也可以封裝行業產品,如:律所業務管理系統、建築公司項目協同管理系統。
這就是V5解耦之美、協同之美,大美美於斯...
AI賦能 · 開箱即用 · 無縫協作
百餘種業務應用互聯互通,無縫銜接
行業領航 · 深度定製 · 標杆實踐
行業專屬定製方案,源自TOP企業成功實踐






























京公網安備11010802020540號