領(lǐng)域驅(qū)動搶灘“新基建”:聚焦鼎普信創(chuàng)化之路
?
2020年以來,國家層面屢次提及“新基建”,自上而下的大力推動讓“新基建”成為市場關(guān)注熱點(diǎn)。作為“新基建”最底層環(huán)節(jié)的信息技術(shù)應(yīng)用自主創(chuàng)新發(fā)展(以下簡稱信創(chuàng)),包含硬件(芯片、服務(wù)器等)和軟件(操作系統(tǒng)、中間件、數(shù)據(jù)庫等)一系列信息化創(chuàng)新技術(shù),在5G、大數(shù)據(jù)、網(wǎng)絡(luò)安全等新基建重點(diǎn)方向上遍地開花,已呈現(xiàn)象級風(fēng)口態(tài)勢,有望成為國家經(jīng)濟(jì)發(fā)展的全新動能,已經(jīng)上升為國家戰(zhàn)略。
發(fā)展信創(chuàng),核心在于解決信息的本質(zhì)安全問題;而信創(chuàng)產(chǎn)業(yè)自身的蓬勃發(fā)展,也同樣需要安全服務(wù)來保駕護(hù)航。作為中國信息系統(tǒng)安全領(lǐng)域的開拓者和領(lǐng)先者,北京鼎普科技股份有限公司秉承“讓信息世界更安全”的企業(yè)愿景,在信創(chuàng)研發(fā)中堅持“回歸技術(shù)本質(zhì)”理念,將領(lǐng)域驅(qū)動設(shè)計(DDD:Domain-Driven Design)應(yīng)用于全系產(chǎn)品的信創(chuàng)化開發(fā),探索出了一條自主研發(fā)、自主掌控、自主升級的信創(chuàng)化產(chǎn)業(yè)轉(zhuǎn)型升級之路,未來有望在業(yè)內(nèi)廣泛應(yīng)用。
乘微服務(wù)熱風(fēng),領(lǐng)域驅(qū)動設(shè)計重獲青春
圈內(nèi)人都知道,領(lǐng)域驅(qū)動設(shè)計不是什么新概念,早在2004年Evic Evans就在他的著作《Domain-Driven Design : Tackling Complexity in the Heart of Software》(《領(lǐng)域驅(qū)動設(shè)計:軟件核心復(fù)雜性應(yīng)對之道》)中提出,距今已有16年之久。但是,這一設(shè)計方法論雖然并非新概念,卻歷久彌堅,不僅在國外IT圈一直享有盛譽(yù),而且也在本土的阿里、京東、美團(tuán)等知名大廠的實踐中被證明行之有效,不乏成功案例。近年隨著微服務(wù)的興起,領(lǐng)域驅(qū)動設(shè)計正在重新煥發(fā)青春,其價值被越來越多業(yè)內(nèi)人士重新發(fā)掘。
Evic Evans在著作中將軟件系統(tǒng)設(shè)計分為兩種:戰(zhàn)略設(shè)計和戰(zhàn)術(shù)設(shè)計。在戰(zhàn)略設(shè)計層面提出了域、子域、限界上下文等重要概念;在戰(zhàn)術(shù)設(shè)計層面提出了實體、值對象、領(lǐng)域服務(wù)、領(lǐng)域事件、聚合、工廠、資源庫等重要概念。戰(zhàn)略設(shè)計部分指導(dǎo)我們?nèi)绾尾鸱忠粋€復(fù)雜的系統(tǒng),戰(zhàn)術(shù)部分指導(dǎo)我們對于拆分出來的單個子系統(tǒng)如何進(jìn)行落地。
圖 1 戰(zhàn)略設(shè)計與戰(zhàn)術(shù)設(shè)計
早期的涉密安全軟件,相對獨(dú)立,功能也比較簡單,用戶量和規(guī)模也比較小,一個單體應(yīng)用就可以搞定。隨著系統(tǒng)規(guī)模的擴(kuò)容和軟件復(fù)雜度的增加,簡單的對軟件進(jìn)行橫向擴(kuò)容很難滿足用戶需求,而針對整個系統(tǒng)進(jìn)行系統(tǒng)拆分,又很容易出現(xiàn)各行其是、欠缺整體統(tǒng)籌和統(tǒng)一溝通管理的難題。
微服務(wù)的劃分是將一個大的問題拆分成若干個小的問題,每一個小的問題用一個或多個微服務(wù)來解決。以安全類軟件主審為例,需要將其拆分成用戶管理子系統(tǒng)、日志管理子系統(tǒng)、進(jìn)程管理子系統(tǒng)、流量管理子系統(tǒng)等。
圖 2 主審系統(tǒng)拆分示意圖
這時候,領(lǐng)域驅(qū)動設(shè)計的優(yōu)勢就凸顯了出來。領(lǐng)域驅(qū)動設(shè)計在戰(zhàn)略層面上的域、子域、限界上下文的劃分思想和微服務(wù)的劃分不謀而合:域?qū)?yīng)一個問題空間,例如主審系統(tǒng);子域是把域這個大的問題空間拆分成若干個小的、更容易解決的問題空間,也就是單體應(yīng)用向微服務(wù)演進(jìn)過程中劃分出來的各個子系統(tǒng);限界上下文是解決方案空間,每個子域?qū)?yīng)一個或多個解決方案空間。因此,領(lǐng)域驅(qū)動設(shè)計與微服務(wù)的需求十分契合。
基于領(lǐng)域驅(qū)動,鼎普構(gòu)筑信創(chuàng)微服務(wù)應(yīng)用平臺
鼎普為了滿足信創(chuàng)軟件的快速開發(fā)和快速迭代需求,引入了領(lǐng)域理論,結(jié)合信創(chuàng)的特點(diǎn)和自身原有業(yè)務(wù)的實戰(zhàn)經(jīng)驗積累,采用微服務(wù)的解決方案,構(gòu)建了TIPS-Micro平臺,實現(xiàn)了軟件項目的快速開發(fā)與快速迭代。通過該服務(wù)平臺,負(fù)責(zé)多個服務(wù)之間的通信,構(gòu)建多個子服務(wù)并高效完成各自的功能。
l? 圖 3 鼎普TIPS-Micro系統(tǒng)
首先,鼎普TIPS-Micro平臺根據(jù)各項微服務(wù)的需求,將傳統(tǒng)應(yīng)用拆分成多個組件應(yīng)用,每個組件應(yīng)用提供特定的服務(wù),可以是一個,也可以是多個,并且組件所含服務(wù)應(yīng)該是可以動態(tài)擴(kuò)展的,隨著時間推移、系統(tǒng)進(jìn)化,還可以自由拆分或合并。
根據(jù)其功能,各組件應(yīng)用又可以歸類為AUTH集群、UPMS集群、LIC集群和業(yè)務(wù)集群。AUTH集群基于OAuth2.0協(xié)議提供單點(diǎn)登錄(SSO)和用戶授權(quán)的統(tǒng)一認(rèn)證標(biāo)準(zhǔn)。UPMS(User Permissions Management System,通用用戶權(quán)限管理系統(tǒng)),其最大的價值在于解決重復(fù)開發(fā)的時間和技術(shù)問題,有非常良好的應(yīng)用性和擴(kuò)展性,可以應(yīng)用到各個web領(lǐng)域,通用用戶權(quán)限系統(tǒng)基本能解決目前用戶系統(tǒng)中面臨的各種問題。LIC集群為各個服務(wù)組件,提供統(tǒng)一的License授權(quán)服務(wù),防止未授權(quán)的服務(wù)和組件惡意加入,影響對外服務(wù)。業(yè)務(wù)集群通過自定義業(yè)務(wù)服務(wù),實現(xiàn)不同的業(yè)務(wù)系統(tǒng),同時也可以通過組合方式,實現(xiàn)多個業(yè)務(wù)系統(tǒng)的融合展現(xiàn)。
TIPS-Micro平臺的五大優(yōu)勢特色
信創(chuàng)系統(tǒng)軟件系統(tǒng)多樣化,系統(tǒng)架構(gòu)存在多異構(gòu)體系,軟件系統(tǒng)如何從過去,零散,局部,獨(dú)立建設(shè),升級為構(gòu)建統(tǒng)一的軟件系統(tǒng)平臺,成為用戶最為迫切的需求。鼎普采用領(lǐng)域理論為基礎(chǔ)構(gòu)筑的微服務(wù)架構(gòu),成為最佳選擇。TIPS-Micro平臺不僅僅能夠解決傳統(tǒng)軟件的問題,同時還提供更多的特性來滿足不同的用戶使用。
首先,TIPS-Micro統(tǒng)一了web平臺。
基于微服務(wù)架構(gòu),構(gòu)建了統(tǒng)一web微服務(wù)中臺,將主審,服審,打刻,終端登錄,融合一,密標(biāo),電子文檔,隱寫等多個系統(tǒng)的Web端,統(tǒng)一到同一web中臺,采用微服務(wù)的方案,實現(xiàn)了多系統(tǒng)靈活的自由組合,從而滿足不同用戶的需求。
圖 4 鼎普TIPS-Micro Web系統(tǒng)
?
第二,它實現(xiàn)了統(tǒng)一認(rèn)證。
統(tǒng)一認(rèn)證OAuth2.0授權(quán)登錄讓統(tǒng)一認(rèn)證用戶使用統(tǒng)一認(rèn)證身份安全登錄第三方應(yīng)用,在統(tǒng)一認(rèn)證用戶授權(quán)登錄已接入統(tǒng)一認(rèn)證OAuth2.0的第三方應(yīng)用后,第三方可以獲取到用戶的接口調(diào)用憑證(access_token),通過access_token可以進(jìn)行統(tǒng)一認(rèn)證開放平臺授權(quán)關(guān)系接口調(diào)用,從而實現(xiàn)獲取統(tǒng)一認(rèn)證用戶基本開放信息和幫助用戶實現(xiàn)基礎(chǔ)開放等功能。
統(tǒng)一認(rèn)證OAuth2.0授權(quán)登錄目前支持authorization_code模式,適用于擁有server端的應(yīng)用授權(quán)。通過統(tǒng)一認(rèn)證方案,實現(xiàn)多子系統(tǒng),統(tǒng)一認(rèn)證方案,省去了用戶登錄多個系統(tǒng)的操作流程,提升了用戶體驗。
第三,它統(tǒng)一了授權(quán)平臺。
基于整個系統(tǒng)的安全性要求,只有授權(quán)通過的模塊,才能夠在統(tǒng)一平臺中使用,通過提供了統(tǒng)一的授權(quán)方案,授權(quán)子系統(tǒng)是否可以使用,同時針對所有的系統(tǒng),通過統(tǒng)一授權(quán)所有子系統(tǒng)的權(quán)限,而不是針對每個子系統(tǒng)單獨(dú)授權(quán),提升了用戶的易用性,提升了用戶體驗。
第四,它統(tǒng)一了客戶端微服務(wù)架構(gòu)應(yīng)用。
基于本地socket服務(wù)實現(xiàn)了客戶端微服務(wù)架構(gòu),通過提供微服務(wù)架構(gòu)的開發(fā)框架,子模塊能夠輕松的加入到微服務(wù)框架中,同時整體框架提供了消息總線功能,能夠方便各個模塊之間消息交互,提升軟件系統(tǒng)的開發(fā)效率。
圖 5微服務(wù)架構(gòu)
依托客戶端微服務(wù)架構(gòu),可以實現(xiàn)服務(wù)信息發(fā)布功能,向用戶顯示該服務(wù)的服務(wù)名、版本、節(jié)點(diǎn)以及一些附件元數(shù)據(jù);通過注冊接口,注冊到服務(wù)注冊發(fā)布中心。當(dāng)服務(wù)意外停止時,客戶端需要感知到服務(wù)停止,并將服務(wù)踢出可用的節(jié)點(diǎn)列表,可以使用定時心跳去實現(xiàn)。此外,通過服務(wù)注冊與發(fā)布,可以實現(xiàn)實現(xiàn)一個服務(wù)部署多個節(jié)點(diǎn),客戶端實現(xiàn)在實例直接的負(fù)載均衡,從而實現(xiàn)服務(wù)的橫向擴(kuò)展,提高整體系統(tǒng)的穩(wěn)定性及可靠性。
第五,系統(tǒng)同時支持windows與信創(chuàng)機(jī)型共存。
信創(chuàng)軟件同時支持兆芯、海光、飛騰、龍芯等多種CPU體系架構(gòu)的機(jī)型,支持中科方德、麒麟等多款操作系統(tǒng),同時又支持舊的windows機(jī)型,很好地支持了體系架構(gòu)和操作系統(tǒng)的多樣性,更好地解決了多異構(gòu)終端的接入問題。
?
近年來信創(chuàng)產(chǎn)業(yè)的蓬勃興起,已上升到國家戰(zhàn)略層面,發(fā)展信創(chuàng)解決了本質(zhì)安全的問題,作為中國領(lǐng)先的信息安全可信綜合解決方案提供商、集成商和服務(wù)商,鼎普科技從2003年成立以來,始終專注于信息安全領(lǐng)域,專注于黨、政、軍及關(guān)系國家安全的關(guān)鍵行業(yè)信息系統(tǒng)的問題。
17年來,隨著開放創(chuàng)新生態(tài)的建設(shè)升級,鼎普廣泛應(yīng)用領(lǐng)域驅(qū)動設(shè)計,持續(xù)優(yōu)化、升級TIPS-Micro平臺,已全面實現(xiàn)鼎普全系安全系統(tǒng)軟件信創(chuàng)化。未來,鼎普科技將不忘初心、牢記使命,在創(chuàng)新產(chǎn)品、系統(tǒng)方案、CS服務(wù)等三個方面,持續(xù)服務(wù)客戶,更好地支撐國家信息安全事業(yè)發(fā)展,為推動國民經(jīng)濟(jì)健康發(fā)展貢獻(xiàn)更多技術(shù)與服務(wù)。