領域驅動搶灘“新基建”:聚焦鼎普信創(chuàng)化之路
?
2020年以來,國家層面屢次提及“新基建”,自上而下的大力推動讓“新基建”成為市場關注熱點。作為“新基建”最底層環(huán)節(jié)的信息技術應用自主創(chuàng)新發(fā)展(以下簡稱信創(chuàng)),包含硬件(芯片、服務器等)和軟件(操作系統(tǒng)、中間件、數據庫等)一系列信息化創(chuàng)新技術,在5G、大數據、網絡安全等新基建重點方向上遍地開花,已呈現(xiàn)象級風口態(tài)勢,有望成為國家經濟發(fā)展的全新動能,已經上升為國家戰(zhàn)略。
發(fā)展信創(chuàng),核心在于解決信息的本質安全問題;而信創(chuàng)產業(yè)自身的蓬勃發(fā)展,也同樣需要安全服務來保駕護航。作為中國信息系統(tǒng)安全領域的開拓者和領先者,北京鼎普科技股份有限公司秉承“讓信息世界更安全”的企業(yè)愿景,在信創(chuàng)研發(fā)中堅持“回歸技術本質”理念,將領域驅動設計(DDD:Domain-Driven Design)應用于全系產品的信創(chuàng)化開發(fā),探索出了一條自主研發(fā)、自主掌控、自主升級的信創(chuàng)化產業(yè)轉型升級之路,未來有望在業(yè)內廣泛應用。
乘微服務熱風,領域驅動設計重獲青春
圈內人都知道,領域驅動設計不是什么新概念,早在2004年Evic Evans就在他的著作《Domain-Driven Design : Tackling Complexity in the Heart of Software》(《領域驅動設計:軟件核心復雜性應對之道》)中提出,距今已有16年之久。但是,這一設計方法論雖然并非新概念,卻歷久彌堅,不僅在國外IT圈一直享有盛譽,而且也在本土的阿里、京東、美團等知名大廠的實踐中被證明行之有效,不乏成功案例。近年隨著微服務的興起,領域驅動設計正在重新煥發(fā)青春,其價值被越來越多業(yè)內人士重新發(fā)掘。
Evic Evans在著作中將軟件系統(tǒng)設計分為兩種:戰(zhàn)略設計和戰(zhàn)術設計。在戰(zhàn)略設計層面提出了域、子域、限界上下文等重要概念;在戰(zhàn)術設計層面提出了實體、值對象、領域服務、領域事件、聚合、工廠、資源庫等重要概念。戰(zhàn)略設計部分指導我們如何拆分一個復雜的系統(tǒng),戰(zhàn)術部分指導我們對于拆分出來的單個子系統(tǒng)如何進行落地。

圖 1 戰(zhàn)略設計與戰(zhàn)術設計
早期的涉密安全軟件,相對獨立,功能也比較簡單,用戶量和規(guī)模也比較小,一個單體應用就可以搞定。隨著系統(tǒng)規(guī)模的擴容和軟件復雜度的增加,簡單的對軟件進行橫向擴容很難滿足用戶需求,而針對整個系統(tǒng)進行系統(tǒng)拆分,又很容易出現(xiàn)各行其是、欠缺整體統(tǒng)籌和統(tǒng)一溝通管理的難題。
微服務的劃分是將一個大的問題拆分成若干個小的問題,每一個小的問題用一個或多個微服務來解決。以安全類軟件主審為例,需要將其拆分成用戶管理子系統(tǒng)、日志管理子系統(tǒng)、進程管理子系統(tǒng)、流量管理子系統(tǒng)等。

圖 2 主審系統(tǒng)拆分示意圖
這時候,領域驅動設計的優(yōu)勢就凸顯了出來。領域驅動設計在戰(zhàn)略層面上的域、子域、限界上下文的劃分思想和微服務的劃分不謀而合:域對應一個問題空間,例如主審系統(tǒng);子域是把域這個大的問題空間拆分成若干個小的、更容易解決的問題空間,也就是單體應用向微服務演進過程中劃分出來的各個子系統(tǒng);限界上下文是解決方案空間,每個子域對應一個或多個解決方案空間。因此,領域驅動設計與微服務的需求十分契合。
基于領域驅動,鼎普構筑信創(chuàng)微服務應用平臺
鼎普為了滿足信創(chuàng)軟件的快速開發(fā)和快速迭代需求,引入了領域理論,結合信創(chuàng)的特點和自身原有業(yè)務的實戰(zhàn)經驗積累,采用微服務的解決方案,構建了TIPS-Micro平臺,實現(xiàn)了軟件項目的快速開發(fā)與快速迭代。通過該服務平臺,負責多個服務之間的通信,構建多個子服務并高效完成各自的功能。

l? 圖 3 鼎普TIPS-Micro系統(tǒng)
首先,鼎普TIPS-Micro平臺根據各項微服務的需求,將傳統(tǒng)應用拆分成多個組件應用,每個組件應用提供特定的服務,可以是一個,也可以是多個,并且組件所含服務應該是可以動態(tài)擴展的,隨著時間推移、系統(tǒng)進化,還可以自由拆分或合并。
根據其功能,各組件應用又可以歸類為AUTH集群、UPMS集群、LIC集群和業(yè)務集群。AUTH集群基于OAuth2.0協(xié)議提供單點登錄(SSO)和用戶授權的統(tǒng)一認證標準。UPMS(User Permissions Management System,通用用戶權限管理系統(tǒng)),其最大的價值在于解決重復開發(fā)的時間和技術問題,有非常良好的應用性和擴展性,可以應用到各個web領域,通用用戶權限系統(tǒng)基本能解決目前用戶系統(tǒng)中面臨的各種問題。LIC集群為各個服務組件,提供統(tǒng)一的License授權服務,防止未授權的服務和組件惡意加入,影響對外服務。業(yè)務集群通過自定義業(yè)務服務,實現(xiàn)不同的業(yè)務系統(tǒng),同時也可以通過組合方式,實現(xiàn)多個業(yè)務系統(tǒng)的融合展現(xiàn)。
TIPS-Micro平臺的五大優(yōu)勢特色
信創(chuàng)系統(tǒng)軟件系統(tǒng)多樣化,系統(tǒng)架構存在多異構體系,軟件系統(tǒng)如何從過去,零散,局部,獨立建設,升級為構建統(tǒng)一的軟件系統(tǒng)平臺,成為用戶最為迫切的需求。鼎普采用領域理論為基礎構筑的微服務架構,成為最佳選擇。TIPS-Micro平臺不僅僅能夠解決傳統(tǒng)軟件的問題,同時還提供更多的特性來滿足不同的用戶使用。
首先,TIPS-Micro統(tǒng)一了web平臺。
基于微服務架構,構建了統(tǒng)一web微服務中臺,將主審,服審,打刻,終端登錄,融合一,密標,電子文檔,隱寫等多個系統(tǒng)的Web端,統(tǒng)一到同一web中臺,采用微服務的方案,實現(xiàn)了多系統(tǒng)靈活的自由組合,從而滿足不同用戶的需求。

圖 4 鼎普TIPS-Micro Web系統(tǒng)
?
第二,它實現(xiàn)了統(tǒng)一認證。
統(tǒng)一認證OAuth2.0授權登錄讓統(tǒng)一認證用戶使用統(tǒng)一認證身份安全登錄第三方應用,在統(tǒng)一認證用戶授權登錄已接入統(tǒng)一認證OAuth2.0的第三方應用后,第三方可以獲取到用戶的接口調用憑證(access_token),通過access_token可以進行統(tǒng)一認證開放平臺授權關系接口調用,從而實現(xiàn)獲取統(tǒng)一認證用戶基本開放信息和幫助用戶實現(xiàn)基礎開放等功能。
統(tǒng)一認證OAuth2.0授權登錄目前支持authorization_code模式,適用于擁有server端的應用授權。通過統(tǒng)一認證方案,實現(xiàn)多子系統(tǒng),統(tǒng)一認證方案,省去了用戶登錄多個系統(tǒng)的操作流程,提升了用戶體驗。
第三,它統(tǒng)一了授權平臺。
基于整個系統(tǒng)的安全性要求,只有授權通過的模塊,才能夠在統(tǒng)一平臺中使用,通過提供了統(tǒng)一的授權方案,授權子系統(tǒng)是否可以使用,同時針對所有的系統(tǒng),通過統(tǒng)一授權所有子系統(tǒng)的權限,而不是針對每個子系統(tǒng)單獨授權,提升了用戶的易用性,提升了用戶體驗。
第四,它統(tǒng)一了客戶端微服務架構應用。
基于本地socket服務實現(xiàn)了客戶端微服務架構,通過提供微服務架構的開發(fā)框架,子模塊能夠輕松的加入到微服務框架中,同時整體框架提供了消息總線功能,能夠方便各個模塊之間消息交互,提升軟件系統(tǒng)的開發(fā)效率。

圖 5微服務架構
依托客戶端微服務架構,可以實現(xiàn)服務信息發(fā)布功能,向用戶顯示該服務的服務名、版本、節(jié)點以及一些附件元數據;通過注冊接口,注冊到服務注冊發(fā)布中心。當服務意外停止時,客戶端需要感知到服務停止,并將服務踢出可用的節(jié)點列表,可以使用定時心跳去實現(xiàn)。此外,通過服務注冊與發(fā)布,可以實現(xiàn)實現(xiàn)一個服務部署多個節(jié)點,客戶端實現(xiàn)在實例直接的負載均衡,從而實現(xiàn)服務的橫向擴展,提高整體系統(tǒng)的穩(wěn)定性及可靠性。
第五,系統(tǒng)同時支持windows與信創(chuàng)機型共存。
信創(chuàng)軟件同時支持兆芯、海光、飛騰、龍芯等多種CPU體系架構的機型,支持中科方德、麒麟等多款操作系統(tǒng),同時又支持舊的windows機型,很好地支持了體系架構和操作系統(tǒng)的多樣性,更好地解決了多異構終端的接入問題。
?
近年來信創(chuàng)產業(yè)的蓬勃興起,已上升到國家戰(zhàn)略層面,發(fā)展信創(chuàng)解決了本質安全的問題,作為中國領先的信息安全可信綜合解決方案提供商、集成商和服務商,鼎普科技從2003年成立以來,始終專注于信息安全領域,專注于黨、政、軍及關系國家安全的關鍵行業(yè)信息系統(tǒng)的問題。
17年來,隨著開放創(chuàng)新生態(tài)的建設升級,鼎普廣泛應用領域驅動設計,持續(xù)優(yōu)化、升級TIPS-Micro平臺,已全面實現(xiàn)鼎普全系安全系統(tǒng)軟件信創(chuàng)化。未來,鼎普科技將不忘初心、牢記使命,在創(chuàng)新產品、系統(tǒng)方案、CS服務等三個方面,持續(xù)服務客戶,更好地支撐國家信息安全事業(yè)發(fā)展,為推動國民經濟健康發(fā)展貢獻更多技術與服務。