自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

業(yè)務(wù)架構(gòu)映射為應(yīng)用架構(gòu)

開發(fā) 架構(gòu)
我們用到“分解”的方法,并非在解決問題,而是希望通過橫向分層與縱向切分讓問題空間變得更小,降低業(yè)務(wù)復(fù)雜度罷了。

[[410313]]

本文轉(zhuǎn)載自微信公眾號「逸言」,作者我是張逸。轉(zhuǎn)載本文請聯(lián)系逸言公眾號。

通過《多維度規(guī)劃業(yè)務(wù)架構(gòu)》,我們獲得了由業(yè)務(wù)領(lǐng)域-業(yè)務(wù)組件-業(yè)務(wù)服務(wù)三個層次組成的業(yè)務(wù)架構(gòu)。雖然是架構(gòu),但其本質(zhì)仍然屬于問題空間,其目的在于真實地探索問題空間,了解我們要解決什么樣的問題。我們用到“分解”的方法,并非在解決問題,而是希望通過橫向分層與縱向切分讓問題空間變得更小,降低業(yè)務(wù)復(fù)雜度罷了。

這種分解層次體現(xiàn)為:

  • 業(yè)務(wù)領(lǐng)域是對目標(biāo)系統(tǒng)之系統(tǒng)范圍進(jìn)行劃分,劃分依據(jù)為價值高低
  • 業(yè)務(wù)組件是對業(yè)務(wù)領(lǐng)域的劃分,劃分依據(jù)在于業(yè)務(wù)相關(guān)性
  • 業(yè)務(wù)服務(wù)是對業(yè)務(wù)組件的劃分,劃分依據(jù)在于領(lǐng)域模型的知識語境

領(lǐng)域驅(qū)動進(jìn)行的業(yè)務(wù)分解,既是對問題空間的探索,又自然地暗合確定解決方案的思路。由于有清晰的邊界存在,這一做法并未混淆問題空間與解空間,卻天然地搭建了一種映射方法,使得我們能夠以較小成本將業(yè)務(wù)架構(gòu)映射為IT架構(gòu)中的應(yīng)用架構(gòu)。

映射體系如下圖所示:

在圖右側(cè)所示的應(yīng)用架構(gòu)中,我旗幟鮮明地標(biāo)記了前臺、中臺與后臺,意味著我對應(yīng)用架構(gòu)的劃分遵循了中臺戰(zhàn)略規(guī)劃的思想。

我所理解的“中臺”,滿足以下定義:

  • 中臺是企業(yè)數(shù)字化轉(zhuǎn)型的能力復(fù)用戰(zhàn)略規(guī)劃體系
  • 中臺是演進(jìn)式的能力復(fù)用戰(zhàn)略動態(tài)規(guī)劃過程

顯然,中臺不是產(chǎn)品,也不是平臺,而是一種規(guī)劃體系。在企業(yè)架構(gòu)的應(yīng)用架構(gòu)中,中臺僅占據(jù)了中間代表了“能力服務(wù)層”的一部分,體現(xiàn)為由應(yīng)用組件構(gòu)成的能力中心。所謂的“能力復(fù)用戰(zhàn)略動態(tài)規(guī)劃過程”,就是在企業(yè)戰(zhàn)略愿景的指導(dǎo)下,以能力復(fù)用為最終目的:

  • 對于產(chǎn)品服務(wù)層,通過識別變化頻率與復(fù)用粒度,逐步將前臺的產(chǎn)品特性沉淀為可復(fù)用的業(yè)務(wù)能力中心
  • 對于基礎(chǔ)服務(wù)層,通過識別企業(yè)IT資產(chǎn),逐步從后臺的工具與框架中提煉出可復(fù)用的業(yè)務(wù)能力中心

換言之,中臺不是獨立的,隨著時間的推移,應(yīng)形成前臺、中臺和后臺(統(tǒng)稱為“三臺”)職責(zé)之間聯(lián)動;中臺也不是靜態(tài)不變的,同樣隨著時間的推移,三臺的邊界發(fā)生動態(tài)變化。

之所以要為應(yīng)用架構(gòu)建立中臺,是以復(fù)用為目的,提升研發(fā)的效率和質(zhì)量。能力中心的構(gòu)成,使得整個企業(yè)的系統(tǒng)架構(gòu)可以打破煙囪系統(tǒng)天然構(gòu)成的壁壘,也有利于它的快速演化,適應(yīng)企業(yè)高速發(fā)展的業(yè)務(wù)需要。

中臺戰(zhàn)略體系保留了前臺,主要是為了適應(yīng)創(chuàng)新型產(chǎn)品的演變。前臺的設(shè)計屬于產(chǎn)品思維的范疇,因為它牽涉到快速試錯的成本,沒有時間和成本考慮對復(fù)用能力的沉淀,然而,對于中臺已經(jīng)具備的能力中心,不妨取“拿來主義”的態(tài)度,直接復(fù)用。如此既保證了快,又保證了穩(wěn)。

在我認(rèn)為的“三臺”中,后臺并非基礎(chǔ)設(shè)施,它同樣屬于業(yè)務(wù)范疇。從Pace-Layer Architecture的角度講,后臺提供的業(yè)務(wù)其區(qū)別主要在于它的變化頻率更低,甚至可能幾乎不變;從領(lǐng)域驅(qū)動設(shè)計的子領(lǐng)域角度講,后臺提供的業(yè)務(wù)更加通用,以至于考慮購買而非自己構(gòu)建的方式實現(xiàn)。

如果后臺穩(wěn)定地提供了業(yè)務(wù)支撐,其收益高于維護(hù)成本,則不必一定要將其提煉為能力中心,甚至于它就是一個或多個相對獨立而封閉的IT系統(tǒng),對它的改造存在諸多阻力,改造成本極高,就得允許在企業(yè)IT系統(tǒng)生態(tài)中繼續(xù)存在這樣的遺留煙囪系統(tǒng)。

不管是前臺的產(chǎn)品,還是中臺的能力中心,抑或后臺的工具或框架,其解決方案皆由應(yīng)用組件構(gòu)成,它由業(yè)務(wù)組件映射而得。本質(zhì)上,業(yè)務(wù)組件與應(yīng)用組件都是限界上下文,但前者對應(yīng)的限界上下文只考慮了業(yè)務(wù)邊界,后者對應(yīng)的限界上下文在此基礎(chǔ)上繼續(xù)深化,分別考慮團(tuán)隊角度的工作邊界和技術(shù)角度的應(yīng)用邊界,進(jìn)一步梳理限界上下文的邊界,使其與應(yīng)用架構(gòu)相匹配。為示區(qū)分,我將其命名為“應(yīng)用組件”。

應(yīng)用組件與限界上下文也有不同之處。在領(lǐng)域驅(qū)動設(shè)計中,限界上下文確定的是邏輯邊界,而在應(yīng)用架構(gòu)中,還需要確定它的物理邊界。物理邊界的確定是從質(zhì)量屬性角度考慮的,例如對可擴(kuò)展性、可伸縮性、低延遲、高并發(fā)的響應(yīng),技術(shù)棧的限制,資源獨立性的要求,可以確定該應(yīng)用組件究竟應(yīng)定義為服務(wù)(Service),還是庫(library)。

通常,中臺能力中心的應(yīng)用組件應(yīng)考慮微服務(wù)化,后臺工具或框架則不然,大多數(shù)時候,定義為庫可能更合適。對于前臺,可以考慮一個產(chǎn)品對應(yīng)一個微服務(wù),也可以考慮一個產(chǎn)品的特性對應(yīng)一個微服務(wù)。這取決于前臺產(chǎn)品的粒度。

業(yè)務(wù)架構(gòu)中純粹表達(dá)業(yè)務(wù)的業(yè)務(wù)服務(wù),在映射到應(yīng)用架構(gòu)時,被定義為應(yīng)用組件需要公開在外的服務(wù)接口,我將其稱之為“服務(wù)契約”,目的是體現(xiàn)服務(wù)調(diào)用者與服務(wù)提供者之間的一種”契約“關(guān)系。

一個業(yè)務(wù)服務(wù)映射到解空間,會定義一個服務(wù)契約;反之,一個服務(wù)契約卻未必對應(yīng)問題空間的業(yè)務(wù)服務(wù)——因為業(yè)務(wù)服務(wù)中的一個執(zhí)行步驟也可能映射為一個服務(wù)契約。應(yīng)用組件之間存在協(xié)作關(guān)系,根據(jù)業(yè)務(wù)服務(wù)的定義,如果一個業(yè)務(wù)服務(wù)的某個執(zhí)行步驟由另外一個應(yīng)用組件提供,就需要將其定義為另一個服務(wù)契約,但它并非業(yè)務(wù)服務(wù)。例如,“提交訂單”業(yè)務(wù)服務(wù)對應(yīng)于訂單應(yīng)用組件,需要對外公開”提交訂單“的服務(wù)契約;在執(zhí)行提交訂單的流程時,需要驗證庫存,該功能由庫存應(yīng)用組件承擔(dān)。由于訂單應(yīng)用組件會調(diào)用它,因而需要對外公開”驗證庫存“的服務(wù)契約,但”驗證庫存“并非一個業(yè)務(wù)服務(wù),如下圖所示:

業(yè)務(wù)服務(wù)屬于問題空間的范疇,服務(wù)契約屬于解空間的范疇,如此才是合理的。

服務(wù)契約對應(yīng)于我提出的《菱形對稱架構(gòu)》中的北向網(wǎng)關(guān)。若應(yīng)用組件為服務(wù),則對應(yīng)遠(yuǎn)程服務(wù);為庫,則對應(yīng)本地服務(wù)。它們都不屬于領(lǐng)域?qū)拥膬?nèi)容。業(yè)務(wù)服務(wù)的需求表現(xiàn)為業(yè)務(wù)服務(wù)規(guī)約,它的輸入成為領(lǐng)域分析建模的基礎(chǔ);服務(wù)契約需要構(gòu)成菱形對稱架構(gòu)的角色構(gòu)造型共同協(xié)作完成,利用服務(wù)驅(qū)動設(shè)計可以驅(qū)動出領(lǐng)域設(shè)計模型,進(jìn)而對其進(jìn)行建模實現(xiàn)。

從產(chǎn)品/能力中心/工具/框架到應(yīng)用組件,再從應(yīng)用組件到服務(wù)契約,都有領(lǐng)域驅(qū)動設(shè)計的對應(yīng)模式或方法去實現(xiàn),由此就能實現(xiàn)應(yīng)用架構(gòu)的真正落地。若按照中臺戰(zhàn)略思想規(guī)劃應(yīng)用架構(gòu),意味著中臺的落地也有了可供參考的實現(xiàn)過程與方法。

 

當(dāng)然,通常所謂的”中臺“,都會建立雙中臺,即業(yè)務(wù)中臺和數(shù)據(jù)中臺。這里參考了領(lǐng)域驅(qū)動設(shè)計的方法,針對的是業(yè)務(wù)中臺的落地,亦可以理解為是應(yīng)用架構(gòu)的微服務(wù)化。至于數(shù)據(jù)中臺,它關(guān)注的是全域數(shù)據(jù)的生命周期管理、數(shù)據(jù)資產(chǎn)的梳理與建設(shè)、全域數(shù)據(jù)分析與數(shù)據(jù)智能挖掘的數(shù)據(jù)服務(wù),其著眼點顯然和業(yè)務(wù)中臺有著天壤之別,需要另外的設(shè)計方法與實現(xiàn)手段。

 

責(zé)任編輯:武曉燕 來源: 逸言
相關(guān)推薦

2012-10-08 11:16:36

企業(yè)應(yīng)用架構(gòu)標(biāo)識映射

2011-10-27 09:08:59

系統(tǒng)架構(gòu)師

2022-06-06 21:53:08

云原生云計算

2020-03-05 11:15:32

IBM混合云

2021-09-13 18:09:59

騰訊文檔業(yè)務(wù)云計算

2022-01-12 18:42:02

架構(gòu)應(yīng)用行為

2017-11-28 11:19:55

SDN架構(gòu)驅(qū)動

2021-06-18 22:31:39

NVIDIA

2013-04-01 14:56:50

梅魯MobileFLEX架關(guān)鍵業(yè)務(wù)

2011-06-13 17:57:07

至強(qiáng)英特爾IA

2020-07-06 14:42:36

業(yè)務(wù)架構(gòu)IT架構(gòu)直播

2020-06-16 14:25:41

SolarWinds

2024-03-08 14:43:03

攜程技術(shù)系統(tǒng)

2016-12-04 16:46:51

大數(shù)據(jù)架構(gòu)機(jī)器學(xué)習(xí)

2013-05-06 13:00:20

華為企業(yè)架構(gòu)網(wǎng)絡(luò)架構(gòu)

2020-06-17 16:38:22

Rust業(yè)務(wù)架構(gòu)

2012-03-01 14:30:41

關(guān)鍵業(yè)務(wù)IT基礎(chǔ)架構(gòu)

2012-05-30 09:43:45

業(yè)務(wù)邏輯層

2013-12-22 15:51:00

IT基礎(chǔ)架構(gòu)關(guān)鍵業(yè)務(wù)英特爾

2012-06-07 10:35:40

架構(gòu)設(shè)計業(yè)務(wù)邏輯Java
點贊
收藏

51CTO技術(shù)棧公眾號