IBM認(rèn)為一個(gè)完整的EAI的解決方案應(yīng)當(dāng)包括五個(gè)方面:用戶交互、應(yīng)用連接、業(yè)務(wù)流程整合、構(gòu)建整合和信息集成。
在這篇blog中來(lái)探討下EAI的應(yīng)用連接,IBM對(duì)于應(yīng)用連接的定義:通過(guò) HUB 或總線架構(gòu),實(shí)現(xiàn)應(yīng)用與應(yīng)用之間的連接,完成相關(guān)的數(shù)據(jù)路由與數(shù)據(jù)格式轉(zhuǎn)換,對(duì)于IBM的這個(gè)定義,非常的認(rèn)可,在實(shí)際的EAI類(lèi)的項(xiàng)目中,這也確實(shí)是個(gè)很實(shí)際的需要解決的問(wèn)題,可能很多人仍然會(huì)認(rèn)為EAI是一種炒作,好象也是沒(méi)有什么做的成功的EAI項(xiàng)目,但EAI項(xiàng)目現(xiàn)在確實(shí)是存在的,而且在這塊的技術(shù)、實(shí)施經(jīng)驗(yàn)也是不斷的成熟,EAI項(xiàng)目帶來(lái)的意義更是不可否認(rèn),在這篇blog中將從應(yīng)用連接所應(yīng)對(duì)的應(yīng)用場(chǎng)景、技術(shù)實(shí)現(xiàn)兩個(gè)方面來(lái)探討下:
應(yīng)用連接所應(yīng)對(duì)的應(yīng)用場(chǎng)景
在EAI項(xiàng)目中,通常都會(huì)有這樣的需求,那就是A應(yīng)用需要主動(dòng)的發(fā)送某些數(shù)據(jù)給B、C或C或C、D應(yīng)用,要做到的效果就是不論B、C或C或C、D應(yīng)用是否啟動(dòng),在這些應(yīng)用啟動(dòng)后數(shù)據(jù)都必須100%的送到,在送到時(shí)需要讓A應(yīng)用得到通知,在未送到的情況下也要讓A應(yīng)用知道未送到的原因,而如果超出時(shí)間仍然未送到的話則要告訴A應(yīng)用發(fā)送給某應(yīng)用的數(shù)據(jù)失敗了。
這個(gè)應(yīng)用場(chǎng)景更為形象的描述的話可以類(lèi)比實(shí)際生活中的送信的過(guò)程,盡管應(yīng)用連接的需求的復(fù)雜程度遠(yuǎn)超過(guò)送信的過(guò)程,如果大家能想起更加吻合的場(chǎng)景的話,請(qǐng)回復(fù)一下,多謝。
應(yīng)用連接的技術(shù)實(shí)現(xiàn)
應(yīng)用連接的技術(shù)實(shí)現(xiàn)的發(fā)展過(guò)程和階段非常的明顯,在最早各大廠商開(kāi)始炒作EAI時(shí),對(duì)于應(yīng)用連接這塊全部是號(hào)稱(chēng)用MQ就可以直接實(shí)現(xiàn)的,為什么會(huì)想到用MQ呢,這是因?yàn)樵趹?yīng)用連接所應(yīng)對(duì)的應(yīng)用場(chǎng)景中非常重要和典型的需求就是“保證信息能夠及時(shí)和準(zhǔn)確傳遞”,這正是MQ的強(qiáng)項(xiàng),自然MQ就當(dāng)仁不讓的成為了應(yīng)用連接技術(shù)實(shí)現(xiàn)的首選,當(dāng)然,這確實(shí)是應(yīng)用連接技術(shù)實(shí)現(xiàn)中的一個(gè)重要的選擇,即使在現(xiàn)在MQ也仍然是應(yīng)用連接技術(shù)實(shí)現(xiàn)中核心的產(chǎn)品,但僅僅基于MQ是無(wú)法實(shí)現(xiàn)應(yīng)用連接中的應(yīng)用需求的,MQ僅僅能保證消息及時(shí)、準(zhǔn)確的傳遞,但它對(duì)于應(yīng)用連接中重要的應(yīng)用級(jí)別的生命周期、應(yīng)用級(jí)別上的消息的100%到達(dá)的需求都是無(wú)法實(shí)現(xiàn)的,但是基于MQ是可以實(shí)現(xiàn)這些的,而且MQ對(duì)于扮演兩點(diǎn)之間的消息的可靠的到達(dá)上還是起到了很大的作用的,近一兩年來(lái)EAI開(kāi)始從炒作進(jìn)入做實(shí)事的階段,大廠商們也開(kāi)始推廣新的產(chǎn)品來(lái)實(shí)現(xiàn)應(yīng)用連接,象IBM的MB、BEA的Service Bus,這都是開(kāi)始從應(yīng)用層面考慮對(duì)于應(yīng)用連接的實(shí)現(xiàn)的,但是否基于這些產(chǎn)品就真的可以實(shí)現(xiàn)呢,仍然是存在著巨大的疑問(wèn)的,而數(shù)據(jù)傳輸時(shí)采用怎么樣的數(shù)據(jù)標(biāo)準(zhǔn)是純粹的應(yīng)用領(lǐng)域的需求,中間件產(chǎn)品能否很好的支持這個(gè)也是一個(gè)非常重要的問(wèn)題。
根據(jù)IBM對(duì)于應(yīng)用連接的定義,可以看出,上面的技術(shù)實(shí)現(xiàn)的描述只是探討了對(duì)于通過(guò) HUB 或總線架構(gòu),實(shí)現(xiàn)應(yīng)用與應(yīng)用之間的連接,完成相關(guān)的數(shù)據(jù)路由,但對(duì)于數(shù)據(jù)轉(zhuǎn)換這塊還沒(méi)探討,數(shù)據(jù)到了接收的應(yīng)用后,如何轉(zhuǎn)換為符合該應(yīng)用的數(shù)據(jù)結(jié)構(gòu)呢,這是數(shù)據(jù)轉(zhuǎn)換所需要做的事情,數(shù)據(jù)轉(zhuǎn)換這塊目前發(fā)展的已經(jīng)較為成熟了,各種圖形化的非常好用的數(shù)據(jù)轉(zhuǎn)換工具已經(jīng)出現(xiàn)。
根據(jù)這樣的技術(shù)實(shí)現(xiàn)的描述,可以看到在應(yīng)用連接的技術(shù)實(shí)現(xiàn)上應(yīng)用級(jí)別的數(shù)據(jù)傳輸這塊仍然是EAI領(lǐng)域的一個(gè)產(chǎn)品的爭(zhēng)奪點(diǎn),而如何實(shí)現(xiàn)好數(shù)據(jù)傳輸這塊則需要依據(jù)豐富的EAI類(lèi)項(xiàng)目的經(jīng)驗(yàn)才行。