• <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 強(qiáng)調(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ù),以便進(jìn)行優(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ù)對話中如何進(jìn)行交互的協(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)您每次更改遠(yuǎn)程服務(wù)器上的這些文件時,您需要重新傳輸整個文件。大的未壓縮格式的圖形文件可以消耗掉大量的磁盤空間和帶寬量,從而延緩了訪問時間。

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







            不需要的數(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 文件不久后過期的機(jī)制。







            分區(qū)方案

            當(dāng) Web 服務(wù)連接到大型數(shù)據(jù)庫時,應(yīng)該注意是如何跨服務(wù)器訪問、篩選和分發(fā)數(shù)據(jù)的,尤其是在后者位于不同的 SOA 中的情況下。為了在減少帶寬的同時更快地進(jìn)行訪問,開發(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)進(jìn)行硬件分區(qū),物理地將表放在單獨的磁盤驅(qū)動器上而不必分割表。把一個表放在一個物理驅(qū)動器上而把其他的表放在單獨的驅(qū)動器上可以提高吞吐量和操作效率。另外,您還可以選擇將一個表拆開,放到多個驅(qū)動器上,這樣比將同一個表存儲在一個驅(qū)動器上掃描起來快。

            水平分區(qū)

            您可以基于年代水平地對數(shù)據(jù)進(jìn)行分區(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)移到遠(yuǎn)程服務(wù)器供用戶頻繁地更新。您可以通過跨一組本地服務(wù)器和另一組遠(yuǎn)程服務(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)功能。解決這個問題的一種方法就是進(jìn)行 UML 和業(yè)務(wù)流程建模(Business Process Modeling,BPM)模型之間的集成和轉(zhuǎn)換。這將有助于進(jì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ā)布功能。使用這個工具,您可以促進(jìn)如下幾方面的流程設(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)中運(yùn)行 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ù)分析人員團(tuán)隊進(jìn)行溝通。通過預(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 閱讀(132) 評論(0)  編輯 收藏 引用 所屬分類: 技術(shù)文章

            久久精品久久久久观看99水蜜桃| 26uuu久久五月天| 一本一道久久综合狠狠老| 7777精品久久久大香线蕉| 狠狠色婷婷久久综合频道日韩| 久久亚洲AV成人无码国产| 91精品久久久久久无码| 久久AV无码精品人妻糸列| 久久se精品一区精品二区| 一本久久a久久精品综合香蕉| 久久综合狠狠综合久久综合88| 亚洲国产精久久久久久久| 亚洲狠狠婷婷综合久久蜜芽| 国产精品日韩欧美久久综合| 亚洲精品美女久久777777| 久久久久无码专区亚洲av| 久久99中文字幕久久| 亚洲中文字幕无码久久综合网 | 久久久久久久国产免费看| 色婷婷久久综合中文久久蜜桃av | 亚洲人成无码久久电影网站| 久久精品中文无码资源站| 欧美午夜精品久久久久久浪潮| 久久精品国产亚洲AV电影| 亚洲精品综合久久| 久久国产热这里只有精品| 91精品国产91久久久久久| 97热久久免费频精品99| 久久人人爽人人爽人人片av麻烦 | 久久精品一区二区三区中文字幕 | 久久91精品国产91久久小草| 亚洲人成精品久久久久| 思思久久99热免费精品6| 久久国产午夜精品一区二区三区| 久久久国产乱子伦精品作者| 亚洲国产欧洲综合997久久| 2021国内久久精品| 亚洲伊人久久综合影院| 久久99国产精品久久99小说| 亚洲国产成人精品女人久久久 | 国产精品99久久久久久www|