監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

精通SOA 構(gòu)建企業(yè)應(yīng)用服務(wù)組合

申請免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

盡管面向服務(wù)的體系結(jié)構(gòu)或SOA仍然是新生事物,但許多公司正逐步認(rèn)識到需要采用SOA方法作為執(zhí)行滿足業(yè)務(wù)需求的解決方案的方法。采用這種方法的一個關(guān)鍵步驟是構(gòu)建可重用服務(wù)的組合。

    SOA表示新應(yīng)用程序的設(shè)計(jì)、開發(fā)和集成方式的根本性轉(zhuǎn)變。它還將企業(yè)應(yīng)用程序的開發(fā)簡化為模塊化業(yè)務(wù)服務(wù),可以輕松地對其進(jìn)行集成和重用。

    SOA的一個主要優(yōu)點(diǎn)是縮小了業(yè)務(wù)和IT之間的差距。作為需求收集活動的一部分,將業(yè)務(wù)和技術(shù)需求與機(jī)構(gòu)的與項(xiàng)目有關(guān)的主要業(yè)務(wù)目標(biāo)相對應(yīng),將對確保項(xiàng)目與業(yè)務(wù)需求同步大有幫助。

    著手構(gòu)建服務(wù)組合的動力主要源于意識到需要保持業(yè)務(wù)需求與IT項(xiàng)目之間的一致性。一般來說,該過程始于初步確定所需的服務(wù),進(jìn)而發(fā)展到發(fā)現(xiàn)它們所依賴的服務(wù)與資源(如定義特定業(yè)務(wù)規(guī)則的政策等)并對其進(jìn)行分類。理想狀況下,這樣做的成果是一套面向服務(wù)的業(yè)務(wù)應(yīng)用程序,應(yīng)用程序可以修正和重用,以滿足企業(yè)不斷變化的業(yè)務(wù)需求。

    盡管在執(zhí)行SOA時有許多問題需要考慮(如業(yè)務(wù)流程的編排、用戶界面的開發(fā)以及支持安全和性能的基礎(chǔ)架構(gòu)等),但是獲得服務(wù)組合在邏輯上顯然是第一步。在”精通SOA“系列的此部分中,您可以大致了解用于構(gòu)建服務(wù)組合的框架。

    SOA管理驅(qū)動組合構(gòu)建

    對SOA組合的創(chuàng)建起積極推動作用的通常是那些最為關(guān)心SOA管理相關(guān)問題的人。理想狀況下,這個”管理委員會“應(yīng)當(dāng)是相關(guān)組的交叉項(xiàng),包括業(yè)務(wù)流程所有者、系統(tǒng)架構(gòu)師和開發(fā)人員。

    SOA管理是一個寬泛的題目,值得專門撰文加以論述。不過,在這里我們不妨將其概括為”將SOA的靈活性與傳統(tǒng)IT體系結(jié)構(gòu)的控制及可預(yù)言性相結(jié)合的框架“。

    SOA管理在本文中一般涉及下列方面:

    ◆ 服務(wù)與相關(guān)資源的生命周期管理

    ◆ 相關(guān)性管理

    ◆ 策略的應(yīng)用與管理

    ◆ 安全性和運(yùn)行時策略執(zhí)行

    ◆ 服務(wù)可用性

    ◆ 服務(wù)供應(yīng)

    ◆ 執(zhí)行能夠管理不斷增長的服務(wù)組合的管理平臺的重要意義遠(yuǎn)遠(yuǎn)不止于對技術(shù)基礎(chǔ)架構(gòu)和運(yùn)行時間環(huán)境所需進(jìn)行的改進(jìn)。

    對任何管理計(jì)劃來說,主要目標(biāo)都是通過定義將管理建立在其核心內(nèi)的SOA策略來最大限度地降低風(fēng)險。不受管理的SOA可能會導(dǎo)致如下后果:

    ◆ 由于發(fā)布的服務(wù)不完全符合服務(wù)級要求而導(dǎo)致過程的中斷

    ◆ 由于服務(wù)問題和故障而使幫助臺和現(xiàn)場服務(wù)呼叫猛增,導(dǎo)致支持費(fèi)用的增加

    ◆ 缺乏互操作性,從而形成業(yè)務(wù)服務(wù)的孤島并時刻面臨傳統(tǒng)的、緊密耦合的體系結(jié)構(gòu)所帶來的挑戰(zhàn)

    ◆ 由于無法使主要策略與服務(wù)相關(guān)聯(lián)而導(dǎo)致無法滿足合歸性要求

    ◆ 由于允許隨意訪問數(shù)據(jù)和服務(wù)而形成安全漏洞

    ◆ 隨著服務(wù)產(chǎn)品的增加,未受管理的SOA中存在的這些問題所形成的風(fēng)險會成指數(shù)倍地增加。不過,通過對服務(wù)組合的正確執(zhí)行和管理,其中許多風(fēng)險能夠得以減少。

    服務(wù)發(fā)現(xiàn)

    邏輯上,構(gòu)建服務(wù)組合的第一步是確定需要哪些服務(wù)。用于鑒別和發(fā)現(xiàn)候選服務(wù)的可行技術(shù)有三種,即自頂向下分析、自下向上分析以及業(yè)務(wù)流程跟蹤。注意,應(yīng)當(dāng)考慮使這些技術(shù)互為補(bǔ)充,不要唯一排外,每一種技術(shù)都應(yīng)當(dāng)在您的服務(wù)發(fā)現(xiàn)過程中發(fā)揮作用。

    第一步,您應(yīng)當(dāng)啟動自頂向下的分析,重點(diǎn)將機(jī)構(gòu)的業(yè)務(wù)分解為若干功能”域“。在這里,域是指密切相關(guān)的功能和數(shù)據(jù)(如客戶、產(chǎn)品和合同)的邏輯分組。

    自頂向下的分析一般會形成一個符合業(yè)務(wù)需要的、實(shí)際的候選服務(wù)集。不過,單憑該過程并不能發(fā)現(xiàn)機(jī)構(gòu)內(nèi)的所有候選服務(wù)。接下來要做的是對IT基礎(chǔ)架構(gòu)、應(yīng)用程序的功能性、業(yè)務(wù)應(yīng)用程序以前曾使用過的數(shù)據(jù)以及現(xiàn)有的服務(wù)進(jìn)行徹底的檢查。這種自下而上的方法通常會產(chǎn)生大量的高級和低級候選服務(wù)。

    作為補(bǔ)充手段,您應(yīng)當(dāng)對每個業(yè)務(wù)事件的生命周期進(jìn)行跟蹤,以便發(fā)現(xiàn)哪些服務(wù)是通過其生命周期處理該事件所需要的。該過程稱為業(yè)務(wù)流程跟蹤,它不但可以發(fā)現(xiàn)處理該事件所需的服務(wù),還可以發(fā)現(xiàn)僅通過自頂向下或自下而上的方法操作時所遺漏的候選服務(wù)。

    除了識別交付項(xiàng)目所需的服務(wù)之外,該業(yè)務(wù)流程驅(qū)動的方法還能夠提供完整性檢查,并就特定服務(wù)的重用潛力給出首要指示。

    服務(wù)發(fā)現(xiàn)的最終結(jié)果將是一個概念上的服務(wù)組合,該組合包含了項(xiàng)目最需要的候選服務(wù)。

    服務(wù)分類

    發(fā)現(xiàn)一組候選服務(wù)之后,對它們進(jìn)行分類是對其進(jìn)行設(shè)計(jì)、開發(fā)和后續(xù)執(zhí)行的至關(guān)重要的一環(huán)。

    分類可以按照功能、用途、結(jié)構(gòu)和調(diào)用等標(biāo)準(zhǔn)進(jìn)行。例如,將服務(wù)分為基礎(chǔ)架構(gòu)服務(wù)(DNS查找、電子郵件)或工具服務(wù)(轉(zhuǎn)換)是基于功能進(jìn)行的分類。

    這種分類方法有助于識別屬于同一功能域的服務(wù)、允許定義標(biāo)準(zhǔn)和最佳方法并對不同服務(wù)類的要求進(jìn)行管理和監(jiān)控。對服務(wù)進(jìn)行分類的過程還將會發(fā)現(xiàn)業(yè)務(wù)服務(wù)的規(guī)則,可以將這些規(guī)則轉(zhuǎn)換成一組應(yīng)用于不同類型服務(wù)的、標(biāo)準(zhǔn)的、可重用的策略。

    雖然服務(wù)進(jìn)行分類還沒有業(yè)界統(tǒng)一的標(biāo)準(zhǔn),但通用描述、發(fā)現(xiàn)和集成(UDDI)注冊表正在成為事實(shí)上的標(biāo)準(zhǔn)。UDDI不但允許將元數(shù)據(jù)設(shè)置在服務(wù)上,還允許將其設(shè)置在諸如策略和XML模式等相關(guān)產(chǎn)物之上。

    例如,您可以在UDDI注冊表中創(chuàng)建下列分類模型以簡化服務(wù)的發(fā)現(xiàn)、管理和控制:

    ◆ 服務(wù)所有者和聯(lián)系人信息

    ◆ 服務(wù)或產(chǎn)物的功能描述

    ◆ 版本信息/狀態(tài),例如”版本“或”狀態(tài):測試|生產(chǎn)|維護(hù)“

    ◆ 服務(wù)類型(”訂單輸入“)或業(yè)務(wù)范圍(”會計(jì)“)

    ◆ 使用模式/建議,例如”事物處理|子事物處理“、”同步|異步“

    ◆ 預(yù)期的錯誤信息,用于現(xiàn)有服務(wù)的重用

    ◆ 服務(wù)相關(guān)性,可能包括相關(guān)的策略、XSL轉(zhuǎn)換和XML模式

    ◆ 可用的服務(wù)端點(diǎn),以及Web服務(wù)中抽象的和具體的WSDL位置給UDDI注冊表中的服務(wù)和產(chǎn)物分類,不但可以使您能夠更好地為潛在的候選項(xiàng)分類,而且還能發(fā)現(xiàn)可以重用的現(xiàn)有服務(wù),從而避免了功能的不必要重復(fù)。

確定服務(wù)粒度

    爭取合適的粒度級別將實(shí)現(xiàn)使用、重用和可管理性方面的最佳化。頂級的、業(yè)務(wù)驅(qū)動的分析通常會發(fā)現(xiàn)與現(xiàn)有需求相對應(yīng)的高級(粗粒度)服務(wù)。例如,一個粗粒度服務(wù)可能表示”流程采購訂單“,它清晰地映射到一個業(yè)務(wù)流程。

    由于自下而上的分析專注于IT基礎(chǔ)架構(gòu)和現(xiàn)有的API,因此該方法通常會產(chǎn)生大量的粗粒度服務(wù)和低級(細(xì)粒度)服務(wù)。激活低級任務(wù)(例如”插入訂單行項(xiàng)“)的功能就是一個示例。

    理想狀況下,您的SOA組合應(yīng)當(dāng)首先包括粗粒度服務(wù)界面,該界面直接與業(yè)務(wù)語義相對應(yīng)。高級服務(wù)在動態(tài)的業(yè)務(wù)環(huán)境中靈活得多,因?yàn)樗鼈儧]有緊密地耦合到下層基礎(chǔ)架構(gòu)之中。粗界面還允許您利用來自異類環(huán)境的其他服務(wù)來構(gòu)建應(yīng)用程序和流程,而不必考慮細(xì)節(jié)和差別。

    相反,低級服務(wù)是和下層基礎(chǔ)架構(gòu)或API緊密耦合的,不能輕易加以修改以適應(yīng)不斷變化的業(yè)務(wù)需求。實(shí)際上,將一個服務(wù)包裝在一個現(xiàn)有業(yè)務(wù)對象周圍(例如企業(yè)JavaBean(EJB))將不可避免地產(chǎn)生細(xì)粒度界面,把每個可供呼叫的方法顯示在bean上。

    用于處理機(jī)構(gòu)內(nèi)部非常特殊的案例的服務(wù)可以通過細(xì)粒度界面執(zhí)行,這將為使用這些服務(wù)的客戶端應(yīng)用提供更多的靈活性。不過請記住,在靈活性增強(qiáng)的同時還須面對復(fù)雜性增加所帶來的成本問題。

    一般來說,您應(yīng)當(dāng)避免將低級界面公開出來作為服務(wù)組合的一部分以試圖滿足業(yè)務(wù)需求??煽紤]改為將一組細(xì)粒度服務(wù)結(jié)合起來組合成粗粒度服務(wù)。

    最后,需要記住的一點(diǎn)是,一個服務(wù)是否適當(dāng)并不在于其是粗粒度還是細(xì)粒度,而要看其是否能使業(yè)務(wù)價值最大化。

    服務(wù)獲取

    定義完服務(wù)組合之后,下一步是確定如何獲取實(shí)際的服務(wù):內(nèi)部構(gòu)建、獲取服務(wù)或預(yù)訂外部供應(yīng)商提供的服務(wù)。

    按照一般規(guī)則,那些關(guān)鍵性業(yè)務(wù)服務(wù)(即有益于業(yè)務(wù)流程、能為機(jī)構(gòu)爭取競爭優(yōu)勢地位的服務(wù))最好是由內(nèi)部提供。

    您很可能在服務(wù)的發(fā)現(xiàn)階段就已經(jīng)在內(nèi)部把可以映射到候選項(xiàng)的服務(wù)識別出來了。例如,倘若貴機(jī)構(gòu)擁有ERP或CRM系統(tǒng),則主要界面(客戶、訂單、帳戶)都 是可以加入到您的組合中去的服務(wù)。已經(jīng)在企業(yè)內(nèi)部使用的自定義應(yīng)用程序可能也值得加以分析,以便識別可用的界面。

    提供更多商品驅(qū)動的功能的服務(wù)(例如提供股票報價)可能是外部預(yù)訂的候選項(xiàng),很可能來自于貴機(jī)構(gòu)已經(jīng)與之建立關(guān)系的業(yè)務(wù)伙伴。一旦您開始搜尋符合您需要的服務(wù),服務(wù)分類的需要便立即顯現(xiàn)出來了。

    顯然,在識別候選服務(wù)時,有許多支持產(chǎn)物也需要創(chuàng)建和管理,例如,用于控制服務(wù)的策略;服務(wù)所使用的消息類型;以及將輸入和輸出消息轉(zhuǎn)換成適當(dāng)格式所使用的XSL轉(zhuǎn)換。

    創(chuàng)建一個這些產(chǎn)物及其相應(yīng)服務(wù)之間的關(guān)系的目錄將大大有助于構(gòu)建您的組合。UDDI注冊表對本任務(wù)來說是一個價值極高的工具,它使您能夠構(gòu)建一個服務(wù)和相關(guān)產(chǎn)物的完整的在線目錄。

    SOA管理需要考慮的事項(xiàng)

    最好您的SOA基礎(chǔ)架構(gòu)能提供一個針對如下管理性能的平臺:監(jiān)控與診斷、外化的安全性、集中式審計(jì)與事件記錄以及服務(wù)級協(xié)議與策略管理。有許多特定于 SOA的組件可以用來進(jìn)一步提高管理能力,例如企業(yè)服務(wù)總線(ESB)可用來實(shí)現(xiàn)可靠的消息傳遞;業(yè)務(wù)規(guī)則引擎可用來捕獲和自動化業(yè)務(wù)策略;業(yè)務(wù)活動監(jiān)控 解決方案可用來優(yōu)化服務(wù)。

    采用中間Web服務(wù)管理服務(wù)器尤其受益。在這種配置中,服務(wù)通過一個向用戶開放的代理URL被”虛擬化“,因此請求是通過媒介而不是直接發(fā)送到服務(wù)端點(diǎn) 的。利用本集中管理平臺可在服務(wù)上統(tǒng)一地設(shè)置策略,并為運(yùn)行時策略的執(zhí)行提供了一個單獨(dú)的點(diǎn)。它還簡化了服務(wù)度量和使用情況統(tǒng)計(jì)信息(對維護(hù)服務(wù)組合的運(yùn) 行狀況至關(guān)重要的數(shù)據(jù))的捕獲。

    服務(wù)虛擬化還具有提供位置透明度的優(yōu)點(diǎn):通過公開代理,可以在不影響服務(wù)用戶的情況下對下部基礎(chǔ)架構(gòu)進(jìn)行改動。該媒介必須維護(hù)其自身的虛擬服務(wù)到服務(wù)端點(diǎn)映射,或者利用UDDI注冊表發(fā)現(xiàn)一個有效的服務(wù)端點(diǎn)。

    結(jié)論:

    SOA作為溝通IT世界和業(yè)務(wù)世界的橋梁這一論斷在不斷地發(fā)展著。服務(wù)組合的構(gòu)建是一項(xiàng)時間和資源的投資,它必將在面向服務(wù)的業(yè)務(wù)應(yīng)用程序方面帶來巨大的回報。對這些面向服務(wù)的應(yīng)用程序可以加以修改以滿足企業(yè)不斷變化的業(yè)務(wù)需求。

發(fā)布:2007-04-21 11:51    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
沈陽OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普沈陽OA行業(yè)資訊其他應(yīng)用

沈陽OA軟件 沈陽OA新聞動態(tài) 沈陽OA信息化 沈陽OA快博 沈陽OA行業(yè)資訊 沈陽軟件開發(fā)公司 沈陽門禁系統(tǒng) 沈陽物業(yè)管理軟件 沈陽倉庫管理軟件 沈陽餐飲管理軟件 沈陽網(wǎng)站建設(shè)公司