版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)戰(zhàn):基于ESB的企業(yè)系統(tǒng)集成隨著企業(yè)信息化程度的不斷提高,越來越多的信息系統(tǒng)逐漸上線,這些系統(tǒng)在為企業(yè)帶來效益的同時,也帶來了一些讓開發(fā)及維護(hù)人員頭痛不已的問題,主要表現(xiàn)在系統(tǒng)分散,信息孤島,交互復(fù)雜,維護(hù)成本太高。多說無益,直接上干貨,請看下圖:假設(shè)現(xiàn)在有A、B、C、D、E、F、G 7個業(yè)務(wù)系統(tǒng)。各系統(tǒng)均為獨(dú)立的業(yè)務(wù)系統(tǒng),系統(tǒng)的開發(fā)語言、所使用的數(shù)據(jù)庫、所需要的運(yùn)行環(huán)境也不盡相同。有些為自主開發(fā),有些為外部采購。根據(jù)業(yè)務(wù)需求各系統(tǒng)間需要有各式的數(shù)據(jù)交互。為了更加直觀,現(xiàn)將其假設(shè)為華信內(nèi)部常用的系統(tǒng)名稱。(實(shí)際上公司內(nèi)部的系統(tǒng)要遠(yuǎn)遠(yuǎn)多于上述內(nèi)容,并且關(guān)系更為復(fù)雜)。舉例來說: 假設(shè)A系統(tǒng)為H
2、R系統(tǒng),系統(tǒng)B為PMS系統(tǒng)、G為一卡通相關(guān)系統(tǒng)等等。為了與其他系統(tǒng)交互,各系統(tǒng)均提供webservice接口,用來接收處理數(shù)據(jù)。每個系統(tǒng)在發(fā)送數(shù)據(jù)時需要調(diào)用其他系統(tǒng)的接口,以HR系統(tǒng)為例:當(dāng)有新員工入職時,首先將員工信息錄入到本地系統(tǒng)中,然后分別通知,PMS、內(nèi)網(wǎng)、DPark、聯(lián)系人、門閘、消費(fèi)等等系統(tǒng),要求對方也同時追加該員工的相關(guān)信息,并根據(jù)需要向其他系統(tǒng)返回相應(yīng)信息。于是一張密密麻麻的蜘蛛網(wǎng)就成型了。直觀一點(diǎn),我們看一下現(xiàn)在HR系統(tǒng)需要調(diào)用的接口:編號目標(biāo)系統(tǒng)數(shù)據(jù)方向接口內(nèi)容1PMS輸出人員基本信息、人員職位、人員組織。2內(nèi)網(wǎng)輸出人員基本信息、人員職位、人員組織。3Dpark輸出人員基本
3、信息、人員職位、人員組織。4聯(lián)系人輸出人員基本信息、人員職位、人員組織。5郵箱輸出人員基本信息、人員職位、人員組織。6門閘、門禁輸出人員基本信息、人員職位、人員組織。7消費(fèi)輸出人員基本信息、人員職位、人員組織。既然有輸出,就一定還會有輸入,這里就不再列舉。每個系統(tǒng)都會提供很多的接口,可以想象,現(xiàn)在的數(shù)據(jù)交互這部分的復(fù)雜程度和代碼量。對編碼人員和業(yè)務(wù)人員這都是一個很殘酷的考驗(yàn)。每次新增一個系統(tǒng)或者改動某些現(xiàn)有業(yè)務(wù)就是一次噩夢。現(xiàn)在我們需要改變,我們目標(biāo)是:以面向服務(wù)的方式,實(shí)現(xiàn)異構(gòu)、分布式應(yīng)用系統(tǒng)之間松散耦合的集成共享、互聯(lián)互通的消息傳送平臺直觀些,我們想要這樣的東西:值得慶幸的是,之前的結(jié)構(gòu)看
4、起來雖然很亂,但是他們是基于SOA的?,F(xiàn)在重新梳理一下我們面對的問題和需求:n 多對多的數(shù)據(jù)交換,牽一發(fā)動全身n 各業(yè)務(wù)系統(tǒng)的接口對外公開,安全性差n 業(yè)務(wù)邏輯多處重復(fù),浪費(fèi)開發(fā)資源n 難以進(jìn)行的業(yè)務(wù)修改,無法快速推出新業(yè)務(wù)n 開發(fā)質(zhì)量難以控制n 業(yè)務(wù)系統(tǒng)工作量很大簡單說:我是一個業(yè)務(wù)系統(tǒng),我不想同時和那么多業(yè)務(wù)系統(tǒng)打交道,多了我會暈的,我只想跟一個系統(tǒng)有交互。舉個貼近生活的例子:我是名普通員工,我今天刷卡不好用了,你不能讓我分別去跟Dpark、Pms、門禁、車場、消費(fèi)等等那些相關(guān)人員去打交道,我只想跟一個人說一遍,然后等候結(jié)果就行了。這個中間的消息平臺應(yīng)該是什么呢?沒錯,就是她ESB。ESB
5、的特點(diǎn)1. 面向服務(wù)的架構(gòu) - 分布式的應(yīng)用由可重用的服務(wù)組成;2. 面向消息的架構(gòu) - 應(yīng)用之間通過ESB發(fā)送和接受消息;3. 事件驅(qū)動的架構(gòu) - 應(yīng)用之間異步地產(chǎn)生和接收消息;ESB就是在SOA架構(gòu)中實(shí)現(xiàn)服務(wù)間智能化集成與管理的中介。這簡直就是為了解決我的問題而生的東西。現(xiàn)在看一看我們都需要做什么:1、 接收數(shù)據(jù):接收各系統(tǒng)發(fā)送過來的數(shù)據(jù),這里采用對外發(fā)布webservice的方式。2、 處理數(shù)據(jù):對接收的數(shù)據(jù)進(jìn)行相應(yīng)的轉(zhuǎn)換處理,以匹配不同的目標(biāo)系統(tǒng)。舉例:A系統(tǒng)中的性別字段中存儲的是0,1 而B系統(tǒng)中是男,女。3、 發(fā)送數(shù)據(jù):根據(jù)業(yè)務(wù)規(guī)則將其發(fā)送給相關(guān)系統(tǒng),調(diào)用對方提供的服務(wù)?,F(xiàn)在看起來
6、好多了?,F(xiàn)在各業(yè)務(wù)系統(tǒng)只需要對外公開數(shù)據(jù)接收的服務(wù)就可以了。并且只需要調(diào)用ESB提供的一套webservice就可以,不用依次去調(diào)用每個系統(tǒng)的webservice。工作量大幅減少。為了讓ESB知道我的數(shù)據(jù)要發(fā)送給那個系統(tǒng),在ESB接收端有一個標(biāo)識 TargetSystem用以標(biāo)識目標(biāo)系統(tǒng)。好了,大家都很開心,但是,這樣做真的已經(jīng)很好了嗎?我們通過對比來看一下。改造前改造后發(fā)送數(shù)據(jù)調(diào)用各系統(tǒng)提供的接口。只調(diào)用ESB提供的接口。接收數(shù)據(jù)由自身提供由自身提供數(shù)據(jù)處理業(yè)務(wù)系統(tǒng)自己處理ESB統(tǒng)一處理目標(biāo)系統(tǒng)按需直接調(diào)用對方接口只需通知ESB系統(tǒng)壓力被調(diào)用時產(chǎn)生壓力ESB接收端壓力巨大日志及錯誤各系統(tǒng)自行
7、處理ESB處理安全性各系統(tǒng)間接口公開接口僅對ESB公開來一個實(shí)際的例子:公司組織機(jī)構(gòu)調(diào)整,此次涉及1000人,這些人不光人員組織信息變動,還有職位信息變動,還有部分人的基本信息進(jìn)行了變動(比如更換了手機(jī)號,增加了學(xué)歷信息),此次信息修改的發(fā)起者是HR系統(tǒng),方式是在零時統(tǒng)一執(zhí)行,接收方有10個系統(tǒng)。那么未改造前HR會調(diào)用接口:1000人*3處變動*10個系統(tǒng)=30000次。改造后HR會調(diào)用接口:1000人*3處變動*1個系統(tǒng)=3000次。與此同時PMS系統(tǒng)要對這些人所對應(yīng)的項(xiàng)目信息進(jìn)行處理,并通知5個系統(tǒng)。假設(shè)平均每個人有2條項(xiàng)目信息需要處理。那么就是1000人*2處變動*5個系統(tǒng)=10000次
8、調(diào)用。改造后PMS會調(diào)用:1000人*2處變動*1個系統(tǒng)=2000變化非常的大,但是,但是。改造后所有的壓力都轉(zhuǎn)到了ESB身上。上述兩步ESB的接口被直接調(diào)用了5000次。然后ESB再通過各種處理轉(zhuǎn)化,將這5000次的請求分別發(fā)送到其他系統(tǒng),系統(tǒng)的壓力非常大。并且這只是日常工作中的很常見的一種情況,很多時候,會有多個系統(tǒng)同時有大量數(shù)據(jù)的請求。ESB很容易因壓力過大而出現(xiàn)暫時停止響應(yīng)的情況。在安全性上,ESB的接口對外公布,潛在的危險(xiǎn)也很大。另外各個業(yè)務(wù)系統(tǒng)調(diào)用ESB接口時不了解ESB當(dāng)時的壓力。如果某個業(yè)務(wù)系統(tǒng)出現(xiàn)bug,比如死循環(huán)調(diào)用,會導(dǎo)致ESB服務(wù)器直接掛掉。各業(yè)務(wù)系統(tǒng)調(diào)用ESB接口的方
9、式和錯誤處理方式都不同,很有可能造成許多未知的問題。當(dāng)ESB停止響應(yīng)時,所有業(yè)務(wù)系統(tǒng)都會報(bào)錯。在ESB尚未恢復(fù)期間可能有大量的數(shù)據(jù)丟失,且難以恢復(fù)。另外一點(diǎn),現(xiàn)在個業(yè)務(wù)系統(tǒng)都被動的被要求知道自己數(shù)據(jù)的流向,他必須知道我的數(shù)據(jù)要到達(dá)哪些系統(tǒng),一旦有新系統(tǒng)或原有系統(tǒng)有變化工作量也很大。原則上,這不應(yīng)該是業(yè)務(wù)系統(tǒng)本身應(yīng)該考慮的問題?,F(xiàn)在我們要把這個問題簡化,業(yè)務(wù)系統(tǒng)干好自己該干的事情,其他就不要操心了。說了那么多其實(shí)就是四點(diǎn)1、性能 2、安全性 3、容錯 4、數(shù)據(jù)流向處理改進(jìn)一下,解決上面的問題:1、 性能:硬件支持。邏輯分層、物理分層。2、 安全性:ESB接收數(shù)據(jù)由被動方式變?yōu)橹鲃臃绞健?、 容錯
10、:統(tǒng)一業(yè)務(wù)系統(tǒng)的發(fā)送端和接收端,業(yè)務(wù)系統(tǒng)端采用消息隊(duì)列方式提供數(shù)據(jù)。4、 數(shù)據(jù)流向:這個是業(yè)務(wù)問題,應(yīng)該有專門的調(diào)度去處理,這部分功能加入到ESB中?,F(xiàn)在看一下改動過的效果:發(fā)送端組件:統(tǒng)一的數(shù)據(jù)發(fā)送模式、統(tǒng)一的錯誤處理機(jī)制、日志及其他。消息隊(duì)列:存儲業(yè)務(wù)系統(tǒng)需要發(fā)送的數(shù)據(jù),等待ESB的提取。接收端組件:統(tǒng)一的接收模式、統(tǒng)一的錯誤處理機(jī)制、日志及其他?,F(xiàn)在業(yè)務(wù)系統(tǒng)只需調(diào)用統(tǒng)一的組件即可。再看ESB系統(tǒng)收集服務(wù):從各業(yè)務(wù)系統(tǒng)的獲取消息隊(duì)列中獲取數(shù)據(jù)。數(shù)據(jù)處理:根據(jù)需求進(jìn)行數(shù)據(jù)的清洗、過濾、整合等等。數(shù)據(jù)分發(fā):根據(jù)規(guī)則將數(shù)據(jù)發(fā)送到指定的業(yè)務(wù)系統(tǒng)中去。以上三部分功能分別部署在三臺物理服務(wù)器上,來提高各自的使用效率。ESB由被動轉(zhuǎn)換為主動,現(xiàn)在我們可以根據(jù)ESB的負(fù)載情況來自動或手動的進(jìn)行自我調(diào)節(jié),甚至可以停止或啟用某些流程。某個業(yè)務(wù)系統(tǒng)出現(xiàn)問題,不會影響到其他系統(tǒng)的運(yùn)行,ESB出現(xiàn)問題,業(yè)務(wù)系統(tǒng)也可以正常運(yùn)轉(zhuǎn),只是在ESB恢復(fù)正常之前他無法發(fā)送或接收新的數(shù)據(jù),當(dāng)ESB恢復(fù)時,會自動將業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)獲取并發(fā)送給相應(yīng)目標(biāo)。下面給出一個相對完整的流程。當(dāng)然細(xì)節(jié)還有很多包括:日志記錄、錯誤處理、數(shù)據(jù)映射、流程管理、數(shù)據(jù)重發(fā)、規(guī)則管理等等。經(jīng)過上述改造,ESB系統(tǒng)已經(jīng)可以輕松應(yīng)對公司內(nèi)部的各系統(tǒng)間的數(shù)據(jù)交互工作,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度黃砂市場調(diào)控行業(yè)自律購銷合同范本2篇
- 二零二五年度農(nóng)業(yè)生態(tài)補(bǔ)償機(jī)制實(shí)施合同-@-1
- 汽車零部件研發(fā)合同(2篇)
- 活動室共享協(xié)議書(2篇)
- 二零二五年度物業(yè)管理公司服務(wù)質(zhì)量承諾合同6篇
- 二零二五年度環(huán)保項(xiàng)目評標(biāo)保密協(xié)議范本
- 二零二五年度海洋工程配件銷售與海洋環(huán)境保護(hù)合同3篇
- 2025年度退還彩禮離婚協(xié)議范本制作服務(wù)合同
- 二零二五年度果樹施肥機(jī)械研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五年度美術(shù)作品數(shù)字版權(quán)授權(quán)協(xié)議
- 福建省泉州市晉江市2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 2025年春新人教版物理八年級下冊課件 第十章 浮力 第4節(jié) 跨學(xué)科實(shí)踐:制作微型密度計(jì)
- 貨運(yùn)車輛駕駛員服務(wù)標(biāo)準(zhǔn)化培訓(xùn)考核試卷
- 財(cái)務(wù)BP經(jīng)營分析報(bào)告
- 三年級上冊體育課教案
- 2024高考物理二輪復(fù)習(xí)電學(xué)實(shí)驗(yàn)專項(xiàng)訓(xùn)練含解析
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 高中英語:倒裝句專項(xiàng)練習(xí)(附答案)
- 2025屆河北衡水?dāng)?shù)學(xué)高三第一學(xué)期期末統(tǒng)考試題含解析
- 2024年山東省青島市普通高中自主招生物理試卷(含解析)
- 2024信息技術(shù)數(shù)字孿生能力成熟度模型
評論
0/150
提交評論