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

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

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

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

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

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