999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于領域驅動的企業中臺設計研究

2019-10-21 06:52:08周紅林曾春生常歡歡
現代信息科技 2019年20期

周紅林 曾春生 常歡歡

摘? 要:領域驅動設計是國外IT圈享有盛譽并行之有效的設計法學,國內大多數的技術人員卻并不了解,也未曾運用到項目實踐中,可以說是知之稀少。然而微服務設計和企業中臺設計,似乎讓人們又重新認識和發現了領域驅動設計的價值,本文基于企業業務中臺的特性,研究領域建模與信息系統設計的內在關聯,梳理并編制了基于領域驅動企業業務中臺設計的方法,并在項目實踐中初步引用,為下一步企業中臺設計提供理論基礎和實踐指導。

關鍵詞:領域模型;企業中臺;領域設計

中圖分類號:TP311.52? ? ? 文獻標識碼:A 文章編號:2096-4706(2019)20-0079-03

Abstract:Domain-driven design is an effective design law that is well-known in foreign IT circles. Most domestic technicians do not understand it and have not applied it to project practice. It can be said that it is rare. However,the micro-service design and enterprise mid-plane design seem to let people re-recognize and discover the value of domain-driven design. Based on the characteristics of enterprise business mid-plane,the intrinsic relationship between research area modeling and information system design,this paper combs and compiles the method of domain-driven enterprise business mid-plane design,and preliminarily quotes it in project practice to provide theoretical basis and practical guidance for the next stage of enterprise business mid-plane design.

Keywords:domain model;enterprise mid-plane;domain design

0? 引? 言

傳統軟件系統設計通常采用的是聚焦在以數據及數據樣式為核心的系統建模方法。面向數據的建模方法是關系數據庫理論的延續,關注的是數據表及數據表之間關系的設計,這是典型的面向技術實現的建模方法。面對日漸復雜的業務邏輯,這種設計方法欠缺靈活性與可擴展性,也無法更好地利用面向對象設計思想及設計模式,建立可重用的、可擴展的代碼單元。

領域驅動設計(Domain-Driven Design,DDD)是由著名建模專家Eric Evans最早提出的綜合軟件系統分析和設計的面向對象建模方法,如今已經發展成為了一種針對大型復雜系統的領域建模與分析方法。它完全改變了傳統軟件開發工程師針對數據庫進行的建模方法,從而將要解決的業務概念和業務規則轉換為軟件系統中的類型以及類型的屬性與行為,通過合理運用面向對象的封裝、繼承和多態等設計要素,降低或隱藏整個系統的業務復雜性,并使得系統具有更好的擴展性,以應對紛繁多變的現實業務問題。

企業中臺支撐了企業業務的數字化和企業數據的業務化,提升了企業的數字化運營能力,支撐了企業業務的靈活迭代。業務中臺就是通過制定企業級的標準和機制,把企業內不確定的業務規則和流程通過工業化、市場化和IT化的手段確定下來,有效降低企業內各組織主體的溝通成本,通過中心化能力的垂直化自主發展和水平化的服務延伸,最大程度提升企業內個人、各組織主體的協作效率。其核心原則為集中管控、分布式執行,打造強大基礎支撐,靈活前端觸角,敏捷接受市場化的需求和變化,將企業業務能力根植到社會大環境中,增強企業核心競爭力。業務中臺的核心價值在于將傳統IT把業務能力IT化的模式轉變為將業務能力資產化的模式,從而提高業務敏捷性及響應市場的速度,進而達到企業提質轉型、降本增效的目標。

1? 企業中臺設計方法研究

通過對領域驅動設計的方法研究,并結合企業業務中臺的特性,研究發現中臺的設計過程可以分為四個步驟:首先開展業務域建模,其次基于業務建模成果開展中臺規劃,再次根據業務流程及功能開展服務識別與服務設計,最后則是服務實現。中臺設計過程示意圖如圖1所示。

1.1? 業務域建模

“業務域建模”是通過對業務中臺所涉及到的需求業務進行業務分解及業務邊界劃分,形成“高內聚低耦合”的業務子域的過程。業務域的建模采用了以下幾個步驟:

首先,采用用例建模進行業務需求的收集及分析,用例建模的最主要功能就是用來表達系統的共性需求或行為。該階段產出“用例模型”,包括“用例”及“用例描述”。

其次,基于“用例模型”同時結合領域建模分析方法,來挖掘和分析重要的業務實體,并建立業務實體之間的關系,最終形成領域模型。領域模型包括業務實體及業務實體之間的關系。

最后,按職責對“領域模型”進行歸納,讓相近的職責模型聚攏在一起從而保證職責的高內聚從而形成“業務子域”,同時明確兩個子域的邊界,保證域之間的低耦合,最后形成業務域模型。

經過歸納之后的效果示意圖如圖2所示。

如圖2所示,通過業務域的劃分形成了A、B、C、D、E、F域,每個域包含相應的業務實體,比如A域包含A1、A2、A3、A4等業務實體。

另外,針對特別復雜的業務域分析,業務域還可以有層次,業務域可以再次進行向上高級別歸納,形成父級的域,也能向下細化形成業務子域。但是,無論哪個層次的業務域分析,其分析歸納方法是一樣的。通常,粒度越大的域,一般都對應的組織越大,越存在跨團隊溝通,所以對劃清域邊界的要求就越高。

1.2? 中臺規劃

當業務域架構產出之后,中臺架構的骨架初步形成,業務域基本上可以對應到相應的中臺,接下來就是在這個框架上去填充內容。先根據業務流程開始對服務進行識別,從而進行服務化的架構建模,同時把服務所在的業務范圍歸屬到相應的中臺。

另外中臺還可以從技術維度橫向縱向抽象各個中臺共同依賴的技術能力,形成技術視角的中臺。比如,多個中臺都需要內容發布能力,如果我們希望能提供統一的內容管理、發布、存儲及挖掘的能力平臺,可以形成內容發布中心。

中臺架構如圖3所示。

1.3? 服務識別與服務設計

服務化是將企業資源以業務能力的形式組織起來,通過一定的技術架構對這些業務能力進行封裝形成易于消費的服務,從而實現業務能力粒度上的重用、組裝、維護和管理,靈活迅捷構筑實現特定業務目的的企業應用,服務識別與服務設計方法如圖4所示。服務化降低了新業務應用的建設成本周期和風險,并使得大規模分布式架構的采用成為可能:

(1)業務能力的提供和消費方式標準化;

(2)業務能力之間的組裝更靈活;

(3)應用實現更關注于業務能力粒度的重用。

重用不再限于單一系統應用內部,跨系統、跨部署的業務能力重用不再是障礙。

服務識別的主要方法是業務解析和利舊分析,識別出無狀態的“高內聚松耦合”的業務能力形成服務目錄。

業務解析對預設的業務目標和業務模型,從頂級業務流開始,自頂向下,從流程、數據和規則三個方面層層解析。

輸入:項目業務目標、業務流程模型、業務域定義、系統上下文。

利舊分析對需要全部或部分重用的,要接入改造甚至重新建設的內外應用和系統,針對其已有設計自底向上逐步歸納。

輸入:系統上下文、已有系統的流程定義、接口規范、數據模型、業務規則。

服務識別是一個漸進過程,將業務能力梳理成按業務域組織的有層次的服務目錄。在此過程中會逐步調整業務流程定 義、業務規則、數據模型(主要在粗粒度的概念模型、邏輯模型層次上),甚至業務域定義和系統上下文都可能做調整,所有這些調整都是以更有效地支撐企業業務目標和愿景(如簡化業務流程、提高執行力等)為根本原則,以消除冗余(識別共同活動)和增強靈活性(識別易變活動)為基本方法。

以上述過程識別出的服務,還只是備選服務,不過已經可以初步滿足服務化的以下原則:

(1)無狀態原則:先從業務意義業務邊界上保證這一點,以支持可伸縮高可用部署,會在服務設計階段進一步加強;

(2)高內聚松耦合:以業務能力為基本粒度,業務含義和邊界清晰完整,更容易精準地描述和定義服務;

(3)業務契約先行:清晰的服務功能提供了初步的服務提供者和消費者間的契約基礎,會在服務設計階段進一步加強;

(4)業務歸屬清晰:按業務域的層次組織方式,易于垂直劃分方便組織開發和維護,且便于以節點為單位分析調整;

(5)系統層次清晰:按業務域的層次組織方式以及服務分類,對橫向的系統層次架構的設計考量提供了強力支持。

1.4? 服務實現

經過服務設計,整理好了服務模型(服務目錄+服務關聯+服務定義),并且在對系統整體架構的逐步完善中明確了這些服務的分組分類,以及不同的服務暴露、交互場景等?,F在到了真正“實現”這些服務的時候了,服務的實現要經過以下幾個主要的步驟:

(1)確定服務實現技術規格。涉及一系列的技術架構主題的分析、選型之后得到的通用和特例決策。

(2)確定服務化框架。用什么產品來封裝業務能力的實現,形成服務。

(3)確定實現業務能力依賴的技術產品。如使用什么規則、搜索、消息、緩存引擎,工作流和數據持久化框架等。

(4)編寫、集成、組裝、測試,形成應用部署交付件。要求之前服務設計階段提出的實現指導原則能夠切實落實。

(5)部署服務。要求服務應用能夠便捷甚至自動地適應不同的部署目標環境之間的切換。

2? 結? 論

本文在研究領域驅動設計方法的基礎之上,結合企業中臺特性,首先通過業務域建模方法完成業務域的架構梳理和設計,然后基于業務域架構完成中臺規劃,并對中臺的能力范圍進行定義和規范,最后根據業務流程和業務內容完成服務識別和服務設計,并對照中臺的范圍和規范納入中臺管理。

參考文獻:

[1] Vernon V.實現領域驅動設計 [M].滕云,譯.北京:電子工業出版社,2014.

[2] 云棲社區.關于DDD領域驅動設計的理論知識收集匯總 [EB/OL].(2016-05-27).https://yq.aliyun.com/articles/53436.

[3] 王磊.微服務架構與實踐 [M].北京:電子工業出版社,2015.

[4] Newman S.Building Microservices [M].America:OReilly Media,2014.

[5] Richards M.Software Architecture Patterns [M].America:OReilly Media,2015.

[6] Newman S.微服務設計 [M].崔力強,張駿,譯.北京:人民郵電出版社,2016.

[7] 李勇.分布式Web服務發現機制研究 [D].北京:北京郵電大學,2008.

[8] 李林峰.分布式服框架原理與實踐 [M].北京:電子工業出版社,2016.

作者簡介:周紅林(1978.02-),男,漢族,江蘇泰興人,項目經理,助理工程師,學士學位,研究方向:軟件項目管理、系統架構設計;曾春生(1985.02-),男,漢族,福建莆田人,需求分析師,學士學位,研究方向:軟件需求分析、系統架構設計;常歡歡(1989.10-),男,漢族,安徽宿州人,架構師,學士學位,研究方向:系統架構設計、領域建模設計。

主站蜘蛛池模板: 色精品视频| 国产Av无码精品色午夜| 丁香婷婷久久| 久久久噜噜噜| 中文字幕乱妇无码AV在线| 欧美国产日韩在线| 2021国产乱人伦在线播放| 女人av社区男人的天堂| 成年看免费观看视频拍拍| 欧美性天天| 国产视频资源在线观看| 日韩一级二级三级| 福利一区在线| 色婷婷在线播放| 尤物国产在线| 国产极品美女在线观看| 欧美有码在线| 日本亚洲欧美在线| 亚洲欧美日本国产专区一区| 99视频国产精品| 国产午夜精品鲁丝片| 伦精品一区二区三区视频| 亚洲女同一区二区| 99热这里只有精品国产99| 亚洲第一国产综合| 99人妻碰碰碰久久久久禁片| 91亚洲视频下载| 久久综合色天堂av| 女人爽到高潮免费视频大全| 国产白丝av| 国产欧美精品一区二区| 中文字幕欧美成人免费| 在线免费看片a| 亚洲最大情网站在线观看| 国产精品毛片在线直播完整版| 亚洲精品综合一二三区在线| 久久久91人妻无码精品蜜桃HD| 亚洲经典在线中文字幕| 无码av免费不卡在线观看| 亚洲国产黄色| 欧美va亚洲va香蕉在线| 特级做a爰片毛片免费69| 色综合五月| 无码免费视频| 精品无码国产自产野外拍在线| 尤物国产在线| 国产精品福利社| 亚洲欧美日本国产综合在线 | 国产精品漂亮美女在线观看| 激情无码视频在线看| 久久成人免费| 色播五月婷婷| 国产永久在线观看| 亚洲综合片| 四虎国产精品永久一区| 国产极品粉嫩小泬免费看| 一本大道香蕉高清久久| 亚洲欧洲日产国产无码AV| 亚洲欧美一区在线| 青青青视频91在线 | 国产精品短篇二区| 亚洲第一视频区| 日本少妇又色又爽又高潮| 99成人在线观看| 日韩国产黄色网站| 亚洲天堂视频在线免费观看| 精品视频一区二区三区在线播| 国产高清在线观看| 中文字幕资源站| 日本精品αv中文字幕| 色老二精品视频在线观看| 国产精品人莉莉成在线播放| 国产成人一级| 人妻无码一区二区视频| 久久久国产精品无码专区| 亚洲美女操| 久久男人视频| 久久99国产综合精品女同| 欧美亚洲一二三区| 国产在线精品99一区不卡| 高清免费毛片| 成人午夜精品一级毛片|