日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用WebSphere Adapter走出面向?qū)ο缶幊陶訚?/div>

SOA業(yè)務(wù)整合中的連接性

SOA業(yè)務(wù)整合能夠讓企業(yè)充分利用其在開(kāi)發(fā)人員、IT硬件、數(shù)據(jù)庫(kù)和應(yīng)用程序方面的現(xiàn)有投資,通過(guò)對(duì)現(xiàn)有資源的重組整合從而提高生產(chǎn)率,實(shí)現(xiàn)業(yè)務(wù)靈活性與創(chuàng)新。連接性是實(shí)現(xiàn)SOA業(yè)務(wù)整合的重要前提,只有首先完成對(duì)現(xiàn)有應(yīng)用系統(tǒng)的連接互通,才能進(jìn)一步考慮業(yè)務(wù)流程的整合和優(yōu)化。IBM在SOA的連接性實(shí)現(xiàn)方面提供了若干產(chǎn)品的支持,其中就包括WebSphere Adapter。

IBM WebSphere Adapter是IBM提供的SOA業(yè)務(wù)整合解決方案中用來(lái)實(shí)現(xiàn)連接性的一款非常重要的產(chǎn)品,它遵循J2EE Connector Architecture(簡(jiǎn)稱JCA)1.5規(guī)范,為開(kāi)發(fā)人員提供了一系列連接各種異構(gòu)企業(yè)信息系統(tǒng)(Enterprise Information System,EIS)及數(shù)據(jù)源的適配器套件,從而使開(kāi)發(fā)人員可以輕松地實(shí)現(xiàn)WebSphere產(chǎn)品與以其它企業(yè)應(yīng)用程序及數(shù)據(jù)源的連接和集成。

圖1:WebSphere Adapter

開(kāi)啟探索之旅

開(kāi)始我們故事的之前,不妨先介紹一下故事的主人公——Peter,他是一家軟件公司的開(kāi)發(fā)人員,是個(gè)java編程的高手,曾經(jīng)參與過(guò)多個(gè)重大項(xiàng)目的開(kāi)發(fā)工作,有著豐富的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)。

最近,Peter收到公司的通知去參加一個(gè)重要的客戶項(xiàng)目的實(shí)施。這是一個(gè)SOA業(yè)務(wù)整合的項(xiàng)目,客戶希望通過(guò)采用IBM的基于SOA的業(yè)務(wù)整合解決方案,對(duì)現(xiàn)有的若干應(yīng)用系統(tǒng)進(jìn)行集成,并完成對(duì)業(yè)務(wù)流程的整合和優(yōu)化。系統(tǒng)的整體架構(gòu)如下所示:

圖2:系統(tǒng)架構(gòu)

這是一個(gè)比較典型的應(yīng)用系統(tǒng)集成的解決方案。其中,Peter將負(fù)責(zé)實(shí)現(xiàn)WebSphere平臺(tái)和應(yīng)用系統(tǒng)A間的連接和通信。

使用WebSphere Adapter還是采用面向?qū)ο缶幊??是個(gè)問(wèn)題!

Peter加入項(xiàng)目組后,便首先對(duì)項(xiàng)目的整體情況和自己負(fù)責(zé)的子模塊做了一些研究。他發(fā)現(xiàn)應(yīng)用系統(tǒng)A底層采用了DB2數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ),因?yàn)楫?dāng)時(shí)設(shè)計(jì)時(shí)沒(méi)有考慮到將來(lái)的可擴(kuò)展性,所以系統(tǒng)并沒(méi)有提供很好的編程接口供外部程序訪問(wèn)。

經(jīng)過(guò)仔細(xì)的分析過(guò)后,Peter發(fā)現(xiàn)實(shí)現(xiàn)WebSphere平臺(tái)對(duì)應(yīng)用系統(tǒng)A的數(shù)據(jù)庫(kù)的訪問(wèn)有兩種實(shí)現(xiàn)方案可供選擇:

1) 使用WebSphere Adapter產(chǎn)品。像我們前面介紹的那樣,WebSphere Adapter可以實(shí)現(xiàn)WebSphere平臺(tái)與其它各種應(yīng)用系統(tǒng)和數(shù)據(jù)源(包括數(shù)據(jù)庫(kù))的快速集成。采用這種實(shí)現(xiàn)技術(shù)的好處是可以避免大量的編程工作,絕大部分的配置工作都可以通過(guò)圖形化的工具來(lái)完成。而Peter對(duì)這種實(shí)現(xiàn)方式的顧慮在于,他需要花一定時(shí)間去學(xué)習(xí)和熟悉該產(chǎn)品的功能和具體用法,另外它是否能支持一些比較復(fù)雜的數(shù)據(jù)庫(kù)操作。

2) 面向?qū)ο缶幊?。通過(guò)編寫java代碼,使用JDBC接口實(shí)現(xiàn)對(duì)目標(biāo)數(shù)據(jù)庫(kù)的訪問(wèn)。這是Peter比較熟悉的一種實(shí)現(xiàn)方式。它的好處在于開(kāi)發(fā)人員可以根據(jù)實(shí)際需求編寫任意的代碼實(shí)現(xiàn),具有很強(qiáng)的靈活性。而這種方式相應(yīng)的代價(jià)就在于開(kāi)發(fā)人員需要進(jìn)行較多的編程工作。

二種實(shí)現(xiàn)方式似乎各有利弊,到底應(yīng)該選哪個(gè)呢?這是個(gè)問(wèn)題!

順利開(kāi)局

經(jīng)過(guò)反復(fù)的思考之后,Peter最后決定采用面向?qū)ο缶幊踢@種實(shí)現(xiàn)方案,因?yàn)樗麑?duì)自己的java編程能力還是相當(dāng)有信心的。于是,Peter很快設(shè)計(jì)出了下面的系統(tǒng)架構(gòu)。

圖3:實(shí)現(xiàn)方案

在接下來(lái)的幾天里,Peter埋頭苦干,很快便完成了程序的主體框架和主要功能的實(shí)現(xiàn)。單元測(cè)試進(jìn)行的也很順利,實(shí)現(xiàn)的功能基本都已經(jīng)達(dá)到了預(yù)定的目標(biāo)。在Peter看來(lái),項(xiàng)目的進(jìn)展頗為順利,他只要再對(duì)子模塊的實(shí)現(xiàn)做一些后續(xù)的完善工作,并完成整個(gè)項(xiàng)目的集成測(cè)試,就可以大功告成了。Peter不禁有些得意,甚至已經(jīng)開(kāi)始盤算著完成這個(gè)項(xiàng)目后去海邊好好的度個(gè)假了,殊不知,他正在慢慢的陷入一個(gè)看不見(jiàn)的沼澤之中。

逐漸陷入沼澤

需求變化

這天早晨,Peter一到公司便被項(xiàng)目經(jīng)理叫到了辦公室。原來(lái),項(xiàng)目的需求有點(diǎn)變化,Peter負(fù)責(zé)的那個(gè)子模塊的功能需要增加,不僅要實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)A的若干數(shù)據(jù)庫(kù)表的數(shù)據(jù)寫入,還要能夠完成相應(yīng)的修改和刪除操作。在Peter看來(lái),增加這些功能簡(jiǎn)直是小菜一碟,自己以前的實(shí)現(xiàn)代碼很多地方很重用,只需稍微修改一下便可搞定。于是,他花了一個(gè)下午,在原來(lái)的代碼基礎(chǔ)上增加了幾個(gè)方法便搞定了。

在接下來(lái)的幾天里,Peter所負(fù)責(zé)的子模塊不斷地有新的功能需求加入進(jìn)來(lái),隨著功能不斷增多,其實(shí)現(xiàn)的代碼量自然也是不斷地膨脹,已經(jīng)由最初的200行左右增加到了5000行左右。

隨著代碼的日益臃腫,一些代碼的bug開(kāi)始逐漸出現(xiàn)了,并且有逐漸增長(zhǎng)的趨勢(shì)。這讓Peter開(kāi)始感到有些隱隱的不安。

漸入困境

第天一大早,項(xiàng)目的測(cè)試人員便跑過(guò)來(lái)找Peter。原來(lái),客戶對(duì)系統(tǒng)的整體性能做了一個(gè)初步的測(cè)試,而測(cè)試結(jié)果非常不令人滿意。測(cè)試人員經(jīng)過(guò)仔細(xì)分析后發(fā)現(xiàn),Peter負(fù)責(zé)的那個(gè)子模塊是整個(gè)系統(tǒng)性能低下的罪魁禍?zhǔn)?。這天Peter工作到半夜,終于找到了其中的原因。原來(lái),他在每次數(shù)據(jù)庫(kù)操作之前都要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)連接,操作過(guò)后再關(guān)閉該連接,頻繁的數(shù)據(jù)庫(kù)連接新建和關(guān)閉操作造成了系統(tǒng)性能的大幅下降。Peter決定把數(shù)據(jù)庫(kù)連接的管理功能抽取出來(lái),采用連接池機(jī)制,這樣可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接的共享,避免頻繁的新建和關(guān)閉操作,從而解決系統(tǒng)的性能問(wèn)題。在Peter對(duì)代碼做了一番修改之后,性能問(wèn)題是解決了,可是測(cè)試人員很快發(fā)現(xiàn)原來(lái)的一些正常功能受到了破壞。

事情似乎進(jìn)入了一個(gè)惡性循環(huán),解決一個(gè)現(xiàn)有的問(wèn)題時(shí)稍不小心就會(huì)引起更多新的問(wèn)題。

致命打擊

就在Peter已經(jīng)忙得焦頭爛額時(shí),一個(gè)噩耗傳來(lái):項(xiàng)目需求又有變化,應(yīng)用系統(tǒng)A的數(shù)據(jù)表結(jié)構(gòu)要進(jìn)行調(diào)整,而且需要增加對(duì)另外幾個(gè)數(shù)據(jù)表的訪問(wèn)。這意味著Peter原來(lái)的實(shí)現(xiàn)代碼大部分需要重寫。這讓Peter幾乎絕望,項(xiàng)目目前已經(jīng)接近尾聲,他很清楚現(xiàn)在做這樣大規(guī)模的代碼改動(dòng)不僅時(shí)間上不允許,而且風(fēng)險(xiǎn)很大。

Peter瀕臨崩潰,整個(gè)項(xiàng)目也將面臨失敗的危險(xiǎn)。

使用WebSphere Adapter擺脫困境

就在Peter感到束手無(wú)策之時(shí),忽然想起了WebSphere Adapter這種實(shí)現(xiàn)方案。當(dāng)初他曾經(jīng)在兩種實(shí)現(xiàn)方案間思量過(guò)很久,并最終選擇了面向?qū)ο缶幊痰膶?shí)現(xiàn)方案?,F(xiàn)在看來(lái),使用WebShere Adapter或許是一種更恰當(dāng)?shù)倪x擇。

于是,Peter去WebSphere Adapter的信息中心,對(duì)其功能做了一番仔細(xì)研究。他發(fā)現(xiàn)其中有一款WebSphere JDBC Adapter可以專門用來(lái)實(shí)現(xiàn)對(duì)各類數(shù)據(jù)庫(kù)的訪問(wèn),它的底層通過(guò)JDBC編程接口實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的通信,可以支持包括DB2在內(nèi)的各種主流數(shù)據(jù)庫(kù)平臺(tái)

圖4:WebSphere JDBC Adapter

Peter發(fā)現(xiàn),用戶可以通過(guò)WebSphere JDBC Adapter輕松地實(shí)現(xiàn)對(duì)目標(biāo)數(shù)據(jù)庫(kù)中各類數(shù)據(jù)表、視圖、別名和存儲(chǔ)過(guò)程的訪問(wèn),而且它還支持用戶自定義的SQL語(yǔ)句的執(zhí)行。另外,它還提供了連接管理、事務(wù)支持、事件唯一性保證等各種功能來(lái)滿足用戶的不同需求。這些功能正是Peter在項(xiàng)目中所需要的。

圖5:WebSphere JDBC Adapter功能

另外,WebSphere Adapter的使用也是相當(dāng)?shù)谋憬?,所有的配置操作都可以在IBM的集成開(kāi)發(fā)環(huán)境WebSphere Integration Developer中完成,幾乎不需要任何額外的編程工作。下面就是WebSphere JDBC Adapter的一個(gè)服務(wù)配置向?qū)Ы缑妫?/p>

圖6:WebSphere Adapter服務(wù)配置向?qū)?/p>

這些發(fā)現(xiàn)讓Peter有些欣喜若狂,于是,他很快對(duì)原來(lái)的實(shí)現(xiàn)方案進(jìn)行了調(diào)整,用WebSphere JDBC Adapter取代了面向?qū)ο缶幊痰姆绞絹?lái)實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)A的訪問(wèn)。新的實(shí)現(xiàn)方案如下所示:

圖7:新的實(shí)現(xiàn)方案

新的實(shí)現(xiàn)方案進(jìn)展的相當(dāng)順利,Peter用了不到兩天時(shí)間便完成了所有的開(kāi)發(fā)工作,測(cè)試的結(jié)果也非常令人滿意。

故事后的思考

我們的故事有了一個(gè)圓滿的結(jié)局,而里面的一些問(wèn)題卻值得我們進(jìn)一步的思考:在實(shí)施SOA業(yè)務(wù)整合解決方案時(shí),究竟應(yīng)該選用什么樣的實(shí)現(xiàn)方案來(lái)實(shí)現(xiàn)各異構(gòu)系統(tǒng)間的連接?

我們不妨對(duì)故事中提到的兩種實(shí)現(xiàn)方案(使用WebSphere Adapter和面向?qū)ο缶幊蹋┳鲆粋€(gè)簡(jiǎn)單的比較:

表1:兩種實(shí)現(xiàn)方案的比較

通過(guò)上面的比較,我們可以很容易的看到:

對(duì)于一些功能比較簡(jiǎn)單、不需要考慮系統(tǒng)將來(lái)的可擴(kuò)展性的項(xiàng)目,面向?qū)ο缶幊毯褪褂肳ebSphere Adapter兩種方案都是適用的。當(dāng)然,面向?qū)ο缶幊踢@種方案要求開(kāi)發(fā)人員必須熟悉目標(biāo)應(yīng)用系統(tǒng)的編程接口,而使用WebSphere Adapter這種實(shí)現(xiàn)方案則沒(méi)有這種限制。

另外,對(duì)于一些功能比較復(fù)雜、項(xiàng)目需求可能會(huì)不斷變化、需要考慮系統(tǒng)將來(lái)的可擴(kuò)展性的項(xiàng)目,使用WebSphere Adapter這種實(shí)現(xiàn)方案無(wú)疑是一種比較明智的選擇。

【編輯推薦】

  1. TechTarget調(diào)查表明SOA勢(shì)頭正勁
  2. 化解云計(jì)算與SOA沖突的三把利器
  3. IBM加大對(duì)SOA、SaaS、云計(jì)算、Web2.0投入
  4. 詳解為SOA而生的應(yīng)用服務(wù)建模
  5. 中小企業(yè)如何進(jìn)行敏捷SOA治理?

分享文章:使用WebSphere Adapter走出面向?qū)ο缶幊陶訚?
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/cojoide.html