當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 遼寧OA系統(tǒng) > 沈陽(yáng)OA系統(tǒng) > 沈陽(yáng)OA行業(yè)資訊
精通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ù)需求。
- 1企業(yè)IT系統(tǒng)中應(yīng)用防火墻能做什么?
- 2協(xié)同OA軟件的項(xiàng)目規(guī)劃設(shè)計(jì)策劃營(yíng)銷
- 3李德毅:未來(lái)云計(jì)算社會(huì)可比作淘寶網(wǎng)
- 4規(guī)劃數(shù)據(jù)中心網(wǎng)絡(luò)布局和綜合布線
- 5升級(jí)到100G——高端核心交換機(jī)平臺(tái)購(gòu)買指南
- 6IT運(yùn)維助力醫(yī)療信息化健康成長(zhǎng)
- 7增加服務(wù)器穩(wěn)定性的12種技術(shù)
- 8敏捷開發(fā)系列-讓敏捷開發(fā)落地
- 9企業(yè)配置可升級(jí) Web 緩存方案
- 10協(xié)同辦公OA軟件的項(xiàng)目服務(wù)策劃營(yíng)銷
- 11綠色節(jié)能為先 集群服務(wù)器功耗管理
- 12改進(jìn)存儲(chǔ)容量規(guī)劃的五個(gè)步驟
- 13存儲(chǔ)軟件市場(chǎng)增速減緩有何種預(yù)示?
- 14六方面入手選擇和使用UTM設(shè)備
- 15傳統(tǒng)歸檔到云存儲(chǔ)歸檔的進(jìn)化演變
- 16Cordys如何建立云中的情景應(yīng)用?
- 17SOA和SaaS管理軟件將在ERP結(jié)合
- 18可信計(jì)算,產(chǎn)業(yè)發(fā)展上新階
- 19高清視頻會(huì)議的各項(xiàng)技術(shù)要求
- 20安全仍是服務(wù)器虛擬化發(fā)展最大阻力
- 21基于網(wǎng)絡(luò)端口的病毒防范技術(shù)分析
- 22云計(jì)算終端瀏覽器:需要?不需要?
- 23維護(hù)企業(yè)WLC控制器需要選擇合適端口
- 24云備份市場(chǎng) 服務(wù)商多種方式吸引用戶
- 25股份公司OA辦公系統(tǒng)證照管理和會(huì)議管理實(shí)施功能簡(jiǎn)介
- 26SOA早期應(yīng)用總結(jié):五個(gè)關(guān)鍵教訓(xùn)
- 27OA系統(tǒng)支持集中式部署和分布式部署兩種模式
- 28給企業(yè)配置可升級(jí) Web 緩存方案
- 29視頻通信:面對(duì)面溝通 觸手可得
- 30制定綠色I(xiàn)T策略應(yīng)該考慮的四個(gè)方面
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓