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