• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
            數(shù)據(jù)加載中……

            在企業(yè)級 SOA 中使用 Web 服務(wù),第 5 部分: 使用 WebSphere Business Integration 工具優(yōu)化 Web 服務(wù)應(yīng)用程序

            想要學(xué)習(xí)如何優(yōu)化面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)中的 Web 服務(wù)應(yīng)用程序嗎?Judith M. Myerson 強調(diào)了業(yè)務(wù)流程規(guī)則在優(yōu)化 Web 服務(wù)的過程中具有最高優(yōu)先級的重要性,并給出了其他優(yōu)化技術(shù)的例子,例如減少 Web 請求的數(shù)量和執(zhí)行時間。 她還討論了 IBM WebSphere Business Integration,開發(fā)人員和業(yè)務(wù)分析人員可以使用這個工具來協(xié)作建模 Web 服務(wù),以便進行優(yōu)化 。

            引言

            在這個系列的第 1 部分中,我展示了如何執(zhí)行 Web 服務(wù)的業(yè)務(wù)邏輯來使專有的企業(yè)應(yīng)用程序集成(Enterprise Application Integration,EAI)應(yīng)用程序可以交互。在第 3 部分中,我指出了 Web 服務(wù)如何相互通信來交流集成和實現(xiàn)多個 SOA 中的流程的方式。同樣,我還在第 4 部分中討論了開發(fā)人員可以如何使用 Rational? 開發(fā)工具來創(chuàng)建實際的應(yīng)用程序。

            在本文中,我將討論在優(yōu)化 Web 服務(wù)和 SOA 的過程中具有最高優(yōu)先級的 Web 服務(wù)的業(yè)務(wù)流程規(guī)則。一旦開發(fā)人員優(yōu)化了流程規(guī)則,那么他們就可以開始減少:

            • Web 請求的數(shù)量
            • 執(zhí)行時間
            • 訪問時間
            • 不需要的數(shù)據(jù)
            • 帶寬量

            開發(fā)人員還需要考慮連接到一個或多個 Web 服務(wù)的大型數(shù)據(jù)庫的分區(qū)方案。







            業(yè)務(wù)流程規(guī)則

            為了減少通信量瓶頸或者加載開銷,開發(fā)人員需要使用某些業(yè)務(wù)流程規(guī)則來優(yōu)化跨 SOA 的 Web 服務(wù)的性能。他們應(yīng)該使用用于 Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language for Web Services,BPEL4WS)規(guī)范來創(chuàng)建新的業(yè)務(wù)邏輯、調(diào)用 Web 服務(wù)、操作數(shù)據(jù)、拋出錯誤或者終止流程。

            您可以使用可執(zhí)行的流程基于業(yè)務(wù)邏輯組成新的 Web 服務(wù),以便實現(xiàn)組織的業(yè)務(wù)目標(biāo)。您還可以使用抽象的流程作為兩個合作伙伴之間在電子商務(wù)對話中如何進行交互的協(xié)議。







            Web 請求

            在優(yōu)化業(yè)務(wù)流程規(guī)則之后,開發(fā)人員可以繼續(xù)開發(fā)他們所需要的 Web 請求,從現(xiàn)有的 Web 服務(wù)構(gòu)建新的 Web 服務(wù)。Web 服務(wù)是在 SOA 內(nèi)部還是跨 SOA 都沒有關(guān)系。如果新的 Web 服務(wù)——業(yè)務(wù)邏輯或者以數(shù)據(jù)為中心——提供更好的或者額外的服務(wù)或功能,開發(fā)人員必須減少或者完全消除冗余的 Web 請求。圖 1 展示了兩個現(xiàn)有的 Web 服務(wù)各自發(fā)送了一個冗余的 Web 請求來創(chuàng)建新的 Web 服務(wù)。


            圖 1. 冗余的 Web 請求
            冗余的 Web 請求






            執(zhí)行時間

            在開發(fā)人員優(yōu)化了現(xiàn)有的 Web 服務(wù)可以發(fā)出的請求數(shù)量之后,他們還需要減少現(xiàn)有的 Web 服務(wù)的執(zhí)行時間,以便在組合生命周期的任何時刻基于業(yè)務(wù)流程創(chuàng)建新的 Web 服務(wù)。以數(shù)據(jù)為中心的 Web 服務(wù)極少自己執(zhí)行。

            當(dāng)開發(fā)人員組合新的 Web 服務(wù)時,他們應(yīng)該當(dāng)心不要導(dǎo)致新的冗余。為了消除冗余,可能需要將某些冗余的 Web 服務(wù)合并成為一個服務(wù)。







            訪問時間

            如果給定最佳的執(zhí)行時間,則減少訪問時間是開發(fā)人員需要關(guān)心的另一個問題。當(dāng) Web 服務(wù)請求比較簡單時,從數(shù)據(jù)庫或者另外的數(shù)據(jù)源中訪問所請求的信息的時間必須是最佳的。在使用和發(fā)布 Web 服務(wù)時必須注意請求不要互相重疊。

            開發(fā)人員應(yīng)該模塊化、最優(yōu)化和索引化請求,以便減少訪問時間。然后,他們可以將 Web 請求放在儲存庫中,以便在新的應(yīng)用程序中重用。







            帶寬量

            正如您所知道的,Web 服務(wù)基于 XML,并且大部分文件都很小。通常帶寬不是問題,而且執(zhí)行和訪問時間也都是最佳的。問題在于大的 XML 文件。當(dāng)您每次更改遠程服務(wù)器上的這些文件時,您需要重新傳輸整個文件。大的未壓縮格式的圖形文件可以消耗掉大量的磁盤空間和帶寬量,從而延緩了訪問時間。

            作為部分的解決方案,開發(fā)人員只需要傳輸對新的 Web 服務(wù)的文件的更改。其他節(jié)省帶寬的技術(shù)包括:加速頁面加載的緩存技術(shù)、優(yōu)化解析文本格式的 XML 文件的時間,以及將 XML 文件編譯成二進制文件(不可讀的)。







            不需要的數(shù)據(jù)

            開發(fā)人員應(yīng)該指定篩選規(guī)則來清除他們不想要的數(shù)據(jù)。篩選規(guī)則與針對減少數(shù)據(jù)冗余的標(biāo)準(zhǔn)化規(guī)則不是一回事。他們同樣也應(yīng)該優(yōu)化篩選規(guī)則,然后將它們(XML 格式)存儲到儲存庫中,供以后調(diào)用。您可以在需要這些規(guī)則時從儲存庫中加載它們,而在您不需要時將它們卸載回儲存庫。篩選規(guī)則還應(yīng)該包括對舊數(shù)據(jù)的自動清除或者備份、以及使大的 XML 文件不久后過期的機制。







            分區(qū)方案

            當(dāng) Web 服務(wù)連接到大型數(shù)據(jù)庫時,應(yīng)該注意是如何跨服務(wù)器訪問、篩選和分發(fā)數(shù)據(jù)的,尤其是在后者位于不同的 SOA 中的情況下。為了在減少帶寬的同時更快地進行訪問,開發(fā)人員應(yīng)該考慮兩件事情:

            • 數(shù)據(jù)庫的更新頻率
            • 數(shù)據(jù)庫更新部分的大小

            如果數(shù)據(jù)庫的大部分經(jīng)常都需要更新,那么您應(yīng)該考慮分區(qū)方案:硬件分區(qū)、水平分區(qū)或者垂直分區(qū)。而如果數(shù)據(jù)庫只是一小部分經(jīng)常需要更新,那么就考慮動態(tài)分區(qū)。

            硬件分區(qū)

            您可以使用獨立磁盤冗余陣列(Redundant Array of Independent Disk,RAID)進行硬件分區(qū),物理地將表放在單獨的磁盤驅(qū)動器上而不必分割表。把一個表放在一個物理驅(qū)動器上而把其他的表放在單獨的驅(qū)動器上可以提高吞吐量和操作效率。另外,您還可以選擇將一個表拆開,放到多個驅(qū)動器上,這樣比將同一個表存儲在一個驅(qū)動器上掃描起來快。

            水平分區(qū)

            您可以基于年代水平地對數(shù)據(jù)進行分區(qū)。例如,您可以將一個大表分成十個小的子表,每個子表包括十年中的一年的數(shù)據(jù)和業(yè)務(wù)流程規(guī)則。

            垂直分區(qū)

            您可以使用這種方法將表分成若干個子表。您可以應(yīng)用規(guī)范化的概念刪除表的冗余部分,然后將它們放在次表中。您還可以在次表中建立外鍵,以鏈接主表中的主鍵。

            動態(tài)分區(qū)

            在某種情況下,您可能需要經(jīng)常更新數(shù)據(jù)中相對較小而非常重要的子集,我們假定您的數(shù)據(jù)庫中的絕大多數(shù)信息相對來說是靜態(tài)的。如下面的圖 2 所示,您需要分別按頻繁更新和很少更新將數(shù)據(jù)庫分成動態(tài)部分和靜態(tài)部分。


            圖 2. 動態(tài)部分和靜態(tài)部分
            動態(tài)部分和靜態(tài)部分

            這就意味著您需要以這樣的方式設(shè)計數(shù)據(jù)庫系統(tǒng),即將數(shù)據(jù)庫表劃分成兩種類型——靜態(tài)和動態(tài)——的模塊化、最優(yōu)化部分。您可以將靜態(tài)的部分保存在本地服務(wù)器上,而將動態(tài)的部分轉(zhuǎn)移到遠程服務(wù)器供用戶頻繁地更新。您可以通過跨一組本地服務(wù)器和另一組遠程服務(wù)器分割表來實現(xiàn)這一點。當(dāng)新的 Web 服務(wù)更新數(shù)據(jù)庫時,這種方法可以幫助減少多個數(shù)量級的帶寬使用。







            消除語言隔閡

            開發(fā)人員和業(yè)務(wù)分析人員應(yīng)該找到優(yōu)化 Web 服務(wù)和 SOA 的方法的共同基礎(chǔ)。這種方法存在的一個問題就是,他們往往使用不同的語言,使用不同的術(shù)語,并且具有不同的知識背景。

            例如,業(yè)務(wù)分析人員使用流程模型來處理業(yè)務(wù)需求,而開發(fā)人員使用統(tǒng)一建模語言(Unified Modeling Language,UML)模型來專注于他們想要優(yōu)化的 Web 服務(wù)的系統(tǒng)功能。解決這個問題的一種方法就是進行 UML 和業(yè)務(wù)流程建模(Business Process Modeling,BPM)模型之間的集成和轉(zhuǎn)換。這將有助于進行良好的溝通,并減少由于缺乏交流而帶來的成本。







            WebSphere Business Integration 工具

            下面是 IBM WebSphere? Business Integration(以前稱為 IBM Holosofx)工具,您可以使用它們來消除這種隔閡:

            • IBM WebSphere Business Integration Workbench:這是一個 BPM 工具,您可以使用它通過共同的 UML/BPM 工作區(qū)來消除業(yè)務(wù)分析人員或經(jīng)理與開發(fā)人員之間的隔閡。
            • IBM WebSphere Business Integration Monitor:使用這個工具,您可以顯示來自 WebSphere MQ Workflow 所產(chǎn)生的事件的實時數(shù)據(jù)和歷史數(shù)據(jù)。通過查看業(yè)務(wù)控制、業(yè)務(wù)和 IT 的工作流 (Workflow) 和業(yè)務(wù)儀表板 (Business Dashboard),您可以優(yōu)化和管理業(yè)務(wù)性能。
            • IBM WebSphere Business Integration Workbench Server:這個工具向您提供儲存庫管理和 Web 發(fā)布功能。使用這個工具,您可以促進如下幾方面的流程設(shè)計協(xié)作和即時 Web 訪問:
              • 流程模型
              • 策略
              • 過程
              • 業(yè)務(wù)規(guī)則
            • IBM WebSphere Business Integration Modeler Advanced Edition:您可以在協(xié)作環(huán)境中使用這個工具來設(shè)計與多個用戶交互的流程。這款產(chǎn)品由 IBM WebSphere Business Integration Workbench Server 和 IBM WebSphere Business Integration Workbench 許可捆綁組成。您可以在 Windows? 2000 或者 Windows XP 操作系統(tǒng)中運行 WebSphere Business Integration Modeler Advanced Edition。







            結(jié)束語

            優(yōu)化跨 SOA 的 Web 服務(wù)需要提前計劃實際上有多少依賴于業(yè)務(wù)規(guī)則的 Web 服務(wù)可以優(yōu)化。開發(fā)人員應(yīng)該就 Web 服務(wù)設(shè)計中使用什么建模技術(shù)和優(yōu)化方案的問題與業(yè)務(wù)分析人員團隊進行溝通。通過預(yù)先解決這個問題,開發(fā)人員將會發(fā)現(xiàn)他們優(yōu)化 Web 服務(wù)的工作變得更加容易了。他們可以開發(fā)和優(yōu)化相互交互和集成——在 SOA 內(nèi)部以及跨 SOA——的 Web 服務(wù)。

            分析人員同樣也會發(fā)現(xiàn),預(yù)先解決這些問題使他們設(shè)計和分析優(yōu)化 Web 服務(wù)的業(yè)務(wù)端工作變得更加容易了。他們可以確定使用哪種建模方法、使用什么方案、以及在 SOA 中有多少 Web 服務(wù)可以優(yōu)化。

            posted on 2006-04-17 03:44 wsdfsdf 閱讀(134) 評論(0)  編輯 收藏 引用 所屬分類: 技術(shù)文章

            亚洲精品乱码久久久久久自慰| 91久久婷婷国产综合精品青草| 久久精品国产69国产精品亚洲| 久久r热这里有精品视频| 狠狠色丁香久久综合五月| 麻豆精品久久久一区二区| 欧美亚洲国产精品久久久久| 国产美女亚洲精品久久久综合| 大蕉久久伊人中文字幕| 伊人色综合九久久天天蜜桃| 久久精品国产精品青草app| 久久黄视频| 国产Av激情久久无码天堂| 午夜精品久久久久久影视riav| 久久久一本精品99久久精品66| 天天综合久久一二三区| 久久久九九有精品国产| 亚洲欧美国产精品专区久久| 香蕉久久夜色精品国产小说| 综合网日日天干夜夜久久| 99久久精品免费看国产| 东方aⅴ免费观看久久av| 精品综合久久久久久88小说| 9191精品国产免费久久| 久久亚洲AV成人无码国产| 四虎国产精品成人免费久久| 精品久久久久久无码免费| 久久精品a亚洲国产v高清不卡| 久久免费香蕉视频| 一级做a爰片久久毛片看看| 99久久综合狠狠综合久久| 国产∨亚洲V天堂无码久久久| 久久99热这里只有精品国产| 一本一本久久a久久综合精品蜜桃| 国产精品熟女福利久久AV| 久久er国产精品免费观看2| 国产精品久久久久久搜索| 久久久久人妻一区精品色| 国产综合久久久久久鬼色| 久久人人爽人人爽人人片av高请| 亚洲精品国精品久久99热一|