企業(yè)SOA框架設(shè)計_第1頁
企業(yè)SOA框架設(shè)計_第2頁
企業(yè)SOA框架設(shè)計_第3頁
企業(yè)SOA框架設(shè)計_第4頁
企業(yè)SOA框架設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 企業(yè)SOA框架設(shè)計架構(gòu)之家 微信號 itfly8功能介紹 ITFLY8架構(gòu)之家,專注于架構(gòu)知識分享交流,涵蓋項目管理和產(chǎn)品設(shè)計。包括大型分布式網(wǎng)站架構(gòu)(高性能,高可用,緩存,消息隊列.),設(shè)計模式,架構(gòu)模式,大數(shù)據(jù),項目管理(SCRUM,PMP,Prince2),產(chǎn)品設(shè)計等SOA 是面向服務(wù)的架構(gòu),其核心思想是把業(yè)務(wù)進行組件化,而業(yè)務(wù)組件的能力服務(wù)化。我們的整個 SOA 的設(shè)計分為兩個層面:一個是系統(tǒng)間的 SOA 設(shè)計,另一個則是單個系統(tǒng)內(nèi)的 SOA 設(shè)計。系統(tǒng)間的 SOA 設(shè)計,主要是設(shè)計一個 ESB 系統(tǒng)來實現(xiàn)各業(yè)務(wù)系統(tǒng)間的交互。而系統(tǒng)內(nèi)部的 SOA 設(shè)計,則是建立一個組件化的技術(shù)平臺,

2、使得系統(tǒng)的開發(fā)能以一個個業(yè)務(wù)組件的形式完成,并通過技術(shù)平臺來實現(xiàn)各業(yè)務(wù)組件的組合與互連。一般說的 SOA 設(shè)計,都是在講如何進行系統(tǒng)間的互連,例如如何進行 ESB 的設(shè)計。但是,不論是系統(tǒng)間互連,還是系統(tǒng)內(nèi)部的組件化,其實都是 SOA 思想在不同層面上的體現(xiàn)。而我認為,應(yīng)用系統(tǒng)內(nèi)部的 SOA 設(shè)計,會更重要。因為它不但是一個低耦合、高復(fù)用的產(chǎn)品設(shè)計,而且也為系統(tǒng)間的 SOA 提供了更好的支持。本文,主要說明如何實現(xiàn) ESB 的設(shè)計。而更重要的應(yīng)用系統(tǒng)內(nèi)部的組件化產(chǎn)品開發(fā)平臺,則留到下一篇。ESB 目標(biāo)功能在前一篇中,列出了一個較完整 ESB 應(yīng)有的功能。SOA 不但包括簡單的系統(tǒng)間互邊的功能,

3、也應(yīng)該包含更高級的 BPM 業(yè)務(wù)流程編排的功能。下面,簡單列出了我們對于我們的 ESB 的功能樹:圖中,功能按優(yōu)先級進行了排序。第一個階段,只會實現(xiàn)其中紅色的部分。而服務(wù)編排,則放到了最后。紅色部分,是一個 ESB 應(yīng)該具有的最小功能集。在交互模式部分,我選擇了實現(xiàn)響應(yīng)/請求模式,這種交互方式在系統(tǒng)間互連時場景相對較少,但是不需要引用 MSMQ 等功能,所以實現(xiàn)起來會更簡單。ESB 主體設(shè)計對于 ESB 的主體設(shè)計,是參考了網(wǎng)上另一個 ESB 的設(shè)計,下面是它的設(shè)計圖:ESB 詳細設(shè)計首先,規(guī)劃出 ESB 整個系統(tǒng)內(nèi)部的所有組件。1.Web Portal:ESB 對外以網(wǎng)站的形式公布。同時,服

4、務(wù)調(diào)用者、提供者,都是直接使用網(wǎng)站提供的功能。2.Adapter:協(xié)議的適配器組件。3.Service Invoker:服務(wù)的同步調(diào)用器。4.Async Invoker:異步方式的同步調(diào)用器。5.Service Mocker:這個組件用于實體 ESB 的服務(wù)可以以 WS 等方式暴露。6.ESB Message:ESB 內(nèi)部的消息結(jié)構(gòu)體。7.Service Registry:服務(wù)的注冊庫。8.Service Router:服務(wù)的路由器組件。9.Service Router Cache Notification:路由緩存通知組件。10.Logger:日志組件。11.Exception Handle

5、r:異常處理組件。12.Performance Counter:服務(wù)調(diào)用過程中的一些性能統(tǒng)計工具。以下是一些詳細的調(diào)用設(shè)計。ESB 網(wǎng)站:模擬服務(wù):服務(wù)的調(diào)用:服務(wù)調(diào)用過程中的管道模塊設(shè)計:路由表及路由更新:適配器:最后,是最重要的持久化的領(lǐng)域?qū)嶓w:本篇寫到我們的 SOA 設(shè)計分為兩個層面來進行:一個是系統(tǒng)間的 SOA 設(shè)計,主要通過 ESB 來完成;另一方面則是單個應(yīng)用系統(tǒng)內(nèi)部的 SOA 設(shè)計,下邊將會就后者進行詳細說明。企業(yè) SOA 設(shè)計(2)組件化產(chǎn)品開發(fā)平臺平臺整體結(jié)構(gòu)在產(chǎn)品開發(fā)過程中,為了達到業(yè)務(wù)級別的較大粒度重用,我們需要把縱向把業(yè)務(wù)進行拆分,以業(yè)務(wù)組件的形式進行開發(fā),并最終把多個

6、開發(fā)完成的業(yè)務(wù)組件進行組合,形成最終的軟件產(chǎn)品。按照組件化開發(fā)的產(chǎn)品,是基于一個公共的產(chǎn)品開發(fā)平臺來建立的。由平臺來提供所有的底層設(shè)施。平臺包括技術(shù)平臺和業(yè)務(wù)平臺兩個層面。在技術(shù)層面上,平臺提供了一系列的類庫、框架、組件、工具,以及為業(yè)務(wù)組件化提供相應(yīng)的技術(shù)支撐。在業(yè)務(wù)層面上,業(yè)務(wù)平臺中積累了大量的封裝完善的業(yè)務(wù)組件,以及一些常用的業(yè)務(wù)控件,以供開發(fā)新產(chǎn)品時進行選配。同時,平臺還為整個軟件過程提供一系列的其它支持,例如工具、設(shè)計器、管理界面等。下圖,是平臺的整體結(jié)構(gòu)圖:圖中羅列了大部分的關(guān)鍵組成部分,細節(jié)本篇不述。組件集成平臺對于一個獨立的業(yè)務(wù),我們可以將其封裝為一個獨立的業(yè)務(wù)組件,并最終放到

7、組件庫中。業(yè)務(wù)組件之間,則以服務(wù)、事件兩種形式進行交互。要支持這種模式的交互,技術(shù)平臺還需要提供幾個技術(shù)框架:插件平臺、服務(wù)容器、事件總線。下圖是組件集成架構(gòu):1.技術(shù)平臺提供事件總線、輕量級服務(wù)總線。2.組件內(nèi)部以領(lǐng)域驅(qū)動的模式開發(fā),以領(lǐng)域?qū)嶓w框架作為基礎(chǔ)框架。組件內(nèi)、組件間,也都是面向領(lǐng)域?qū)嶓w來進行交互。3.組件向外部的其它組件提供組件事件、組件服務(wù)。外部組件也只能直接調(diào)用組件提供的服務(wù),或者監(jiān)聽組件的事件。4.組件還提供了一些可重用的 UI、一些可直接使用的分布式服務(wù)。5.整個應(yīng)用系統(tǒng)在組合多個業(yè)務(wù)組件后,再開發(fā)一些特定的功能、UI 就可以完成一個完整的系統(tǒng)了。產(chǎn)品構(gòu)成下圖是一個完整產(chǎn)品

8、的組件構(gòu)成圖:由于我們的產(chǎn)品開發(fā)平臺必須要支持 721 客戶化定制,所以同一個業(yè)務(wù)組件還對應(yīng)不同的業(yè)務(wù)通用級別進行劃分:Organization Common 表示組織架構(gòu)組件最通用的部分,Org Part1 表示組織架構(gòu)組件的可選包。而 Customiztion 則可以對引用的業(yè)務(wù)組件做深入的定制和擴展,而不需修改引用組件的代碼??梢钥吹?,對于整個產(chǎn)品來說,在引用了業(yè)務(wù)組件庫中的一些業(yè)務(wù)組件后,就可以組成了產(chǎn)品的基礎(chǔ)功能。Customer App Component 中是應(yīng)用系統(tǒng)在組件的功能基礎(chǔ)上需要再做的工作:完成產(chǎn)品的額外功能,并通過平臺接口為一些組件做相關(guān)定制。組件內(nèi)部架構(gòu)對于單個的業(yè)務(wù)組件,其內(nèi)部的架構(gòu)依然采用領(lǐng)域驅(qū)動的分層架構(gòu):圖雖大,但并不復(fù)雜,就是領(lǐng)域驅(qū)動的經(jīng)典分層:Distribute(DTO 接口層)、Application(應(yīng)用層/領(lǐng)域邏輯層)、Repository(倉庫)、Domain(領(lǐng)域?qū)嶓w)。重點在于 Domain 包,它不但包括領(lǐng)域?qū)嶓w,還包括了組件事件、組件服務(wù)接口,這些都是領(lǐng)域的核心。位于底層的技術(shù)平臺,提供一系列支持:IOC/AOP、屬性擴展框架、領(lǐng)域?qū)嶓w框架、721定制化框架、數(shù)據(jù)庫生成框架等結(jié)尾其實,組件化架構(gòu)設(shè)計中,最為復(fù)雜是分析

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論