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

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

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

文章來(lái)源:泛普軟件

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

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

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

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

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

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

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

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

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

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

    ◆ 相關(guān)性管理

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

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

    ◆ 服務(wù)可用性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    服務(wù)分類

    發(fā)現(xiàn)一組候選服務(wù)之后,對(duì)它們進(jìn)行分類是對(duì)其進(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)行的分類。

    這種分類方法有助于識(shí)別屬于同一功能域的服務(wù)、允許定義標(biāo)準(zhǔn)和最佳方法并對(duì)不同服務(wù)類的要求進(jìn)行管理和監(jiān)控。對(duì)服務(wù)進(jìn)行分類的過程還將會(huì)發(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)注冊(cè)表正在成為事實(shí)上的標(biāo)準(zhǔn)。UDDI不但允許將元數(shù)據(jù)設(shè)置在服務(wù)上,還允許將其設(shè)置在諸如策略和XML模式等相關(guān)產(chǎn)物之上。

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

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

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

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

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

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

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

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

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

確定服務(wù)粒度

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

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

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

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

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

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

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

    服務(wù)獲取

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

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

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

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

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

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

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

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

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

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

    結(jié)論:

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

發(fā)布:2007-04-21 11:51    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

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

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