[摘要]本文探討了企業(yè)建立SOA系統(tǒng)架構(gòu)面臨的挑戰(zhàn)以及對SOA治理的需求,說明企業(yè)要創(chuàng)建科學(xué)合理的面向服務(wù)的架構(gòu),SOA治理是必不可少的;而SOA治理的實(shí)現(xiàn)依賴于企業(yè)的SOA策略的制定、強(qiáng)有力的審計(jì)監(jiān)督機(jī)制,以及實(shí)施過程的分析、跟蹤、改進(jìn)和集成。
[關(guān)鍵詞]SOASOA治理SOA策略
一、引言
面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA)的思想是將企業(yè)應(yīng)用看成是由一些能夠跨越企業(yè)邊界、自我描述、實(shí)現(xiàn)某一特殊功能的服務(wù)集合所構(gòu)成。SOA可以顯著降低IT成本,更快地滿足業(yè)務(wù)需求和更高效地引入有競爭力的新業(yè)務(wù)模式。通過采用能隱藏潛在技術(shù)復(fù)雜性的標(biāo)準(zhǔn)界面,SOA能提高IT資產(chǎn)的重用率,從而加快了開發(fā)并更加可靠地交付新的增強(qiáng)后的業(yè)務(wù)服務(wù)。與其他架構(gòu)相比,SOA更有彈性,能夠更快地響應(yīng)業(yè)務(wù)需求, 使得企業(yè)能夠?qū)ψ兓龀隹焖夙憫?yīng),并且利用變化來獲得優(yōu)勢。這種靈活性的架構(gòu), 意味著企業(yè)不僅能夠確保當(dāng)前業(yè)務(wù)的靈活性, 而且可以滿足企業(yè)未來的業(yè)務(wù)需求。
在向SOA遷移中,企業(yè)必需確保業(yè)務(wù)操作的連續(xù)性、安全性,協(xié)調(diào)IT技術(shù)實(shí)施中與業(yè)務(wù)需求的關(guān)系,管理各服務(wù)的責(zé)任和相互依賴性,降低操作成本。這些都導(dǎo)致對SOA治理的需求。本文首先分析了企業(yè)系統(tǒng)架構(gòu)向SOA遷移中遇到的挑戰(zhàn),接著詳細(xì)分析了企業(yè)對SOA治理的需求,最后總結(jié)了企業(yè)SOA治理需要考慮的因素。
二、企業(yè)對SOA治理的需求
1.SOA帶來的挑戰(zhàn)
靈活、模塊化的業(yè)務(wù)流程要求靈活、模塊化的IT基礎(chǔ)設(shè)施。SOA代表了進(jìn)化到模塊化系統(tǒng)的最后的一步。它將服務(wù)定義為重復(fù)的業(yè)務(wù)操作,一系列的服務(wù)搭積木似的組合在一起就形成了業(yè)務(wù)流程。SOA就是使這一切成為現(xiàn)實(shí)的架構(gòu)形式。成功的SOA使企業(yè)能更迅速地應(yīng)對市場中的機(jī)遇與挑戰(zhàn),更多地從已有的技術(shù)設(shè)備中獲益。但現(xiàn)實(shí)中要使SOA獲得成功,還有很多障礙。企業(yè)需要以一種有意義和可檢測的方式來協(xié)調(diào)業(yè)務(wù)操作和IT應(yīng)用,確保它們擁有共同的目標(biāo)。SOA可以派上用場,但要充分發(fā)揮其潛力,高效的治理是必不可少的。SOA治理不是可有可無的,它是必需的。
2.SOA治理的概念
SOA具有跨組織的特征,其中的服務(wù)投資者、設(shè)計(jì)人員、實(shí)現(xiàn)人員、維護(hù)人員或客戶位于不同的組織、業(yè)務(wù)部門、IT 部門、分支機(jī)構(gòu)或企業(yè)中,因此治理對于以增量的方式成功采用SOA非常必要。按照IBM的定義,IT治理指屬于組織的信息技術(shù)流程以及這些流程支持業(yè)務(wù)目標(biāo)的方式的治理方面的內(nèi)容,而SOA治理則是IT治理的擴(kuò)展,具體關(guān)注服務(wù)和其他SOA構(gòu)件的生命周期。具體來說,SOA治理關(guān)注的是有關(guān)服務(wù)標(biāo)識、資金投入、設(shè)計(jì)、實(shí)現(xiàn)、部署、重用、發(fā)現(xiàn)、訪問、監(jiān)視、管理和退役的方法和流程。
3.SOA治理的作用
集成的項(xiàng)目如果沒有治理,可能會給企業(yè)帶來巨大的麻煩,如項(xiàng)目的耽擱、花費(fèi)大量資金重新設(shè)計(jì)服務(wù)及維護(hù),并且影響到企業(yè)的利潤和聲譽(yù)。ATT Wireless的一次失誤就是一個典型的例子。2003年春季ATT Wireless開始對其移動電話系統(tǒng)進(jìn)行升級。由于沒能處理好不同系統(tǒng)之間的集成問題,新系統(tǒng)無法正常運(yùn)行。這次事故給ATT Wireless帶來了災(zāi)難性的后果,導(dǎo)致了成千上萬的潛在客戶的流失,直接損失高達(dá)一億美元??梢?,企業(yè)如果不能成功地治理不斷發(fā)展變化的SOA,將會蒙受巨大的直接和間接損失。SOA代表了一個新出現(xiàn)的服務(wù)層,需要精心地創(chuàng)建和管理。但構(gòu)成SOA的主要技術(shù),如XML和WEB服務(wù),它們固有的特性帶來了很多新的挑戰(zhàn),如:創(chuàng)建的WEB服務(wù)缺乏可靠性、安全性和重用性;XML和WEB服務(wù)的標(biāo)準(zhǔn)不斷在變化;開發(fā)者需要學(xué)習(xí)、理解和掌握不斷增加的業(yè)界的標(biāo)準(zhǔn)和企業(yè)的內(nèi)部策略,而遵從這些標(biāo)準(zhǔn)和策略往往和短期項(xiàng)目的目標(biāo)相沖突;業(yè)界缺乏關(guān)于SOA的一個統(tǒng)一的標(biāo)準(zhǔn)等等。
SOA治理可以用于應(yīng)對這一系列的挑戰(zhàn)。SOA的部署通常會促使企業(yè)開始思考如何改進(jìn)公司治理和IT治理以及如何實(shí)施最優(yōu)化的SOA治理。企業(yè)可以通過SOA治理來獲取很多有形和無形的收益,如增加業(yè)務(wù)流程的靈活性、提高響應(yīng)速度和減少IT維護(hù)費(fèi)用。同時通過分配決策權(quán)力、指導(dǎo)服務(wù)的定義、資產(chǎn)管理以及效益檢測等治理手段,可以克服掉很多采用SOA時固有的風(fēng)險(xiǎn)。
三、企業(yè)SOA治理考慮的因素
SOA要求企業(yè)開發(fā)和部署軟件的方式發(fā)生根本性的變化。企業(yè)將從“先開發(fā),后集成”的模式向“為了集成而開發(fā)”的模式轉(zhuǎn)變。企業(yè)必需仔細(xì)規(guī)劃、合理協(xié)調(diào)和有效管理創(chuàng)建SOA的工作。為了確保業(yè)務(wù)的連續(xù)性、減少集成成本和復(fù)雜度、減少企業(yè)在諸如安全方面的風(fēng)險(xiǎn)及提高競爭力,企業(yè)必需對新服務(wù)的設(shè)計(jì)、開發(fā)、部署和運(yùn)行進(jìn)行治理。SOA治理將能確保所有的投入(無論是在服務(wù)的設(shè)計(jì)、開發(fā)、部署或是運(yùn)行方面)整合在一起以滿足企業(yè)SOA的要求。下面討論企業(yè)SOA治理需要著重考慮的幾個因素。
1.SOA策略的制定
策略設(shè)定了用來指導(dǎo)和衡量項(xiàng)目實(shí)施情況的目標(biāo)。沒有策略,就沒有治理。SOA的治理策略和過程包括SOA的決策與問題解決過程、團(tuán)隊(duì)的角色與任務(wù)、開發(fā)過程、測試過程、質(zhì)量保證過程以及服務(wù)的注冊與版本化。策略的制定者,如IT經(jīng)理、系統(tǒng)架構(gòu)師、項(xiàng)目經(jīng)理等會仔細(xì)斟酌策略的定義、設(shè)置和分配,以便使IT開發(fā)團(tuán)隊(duì)能更容易和透明地遵守這些策略。由于各個團(tuán)隊(duì)之間創(chuàng)建服務(wù)的方式都略有不同,這就有可能犧牲SOA的互操作性、易管理性、安全以及其他的優(yōu)點(diǎn)。策略需要在業(yè)務(wù)和IT技術(shù)之間建立緊密的聯(lián)系,以解決這個問題。企業(yè)需要將其業(yè)務(wù)策略、IT策略以及實(shí)際的實(shí)施操作透明地綁定在一起。從企業(yè)全局的觀點(diǎn)來看,有些策略是所有的服務(wù)都必需遵守的;而有些子策略則是從某些部門的角度來考慮時需要遵守的。策略體現(xiàn)了IT技術(shù)和經(jīng)營業(yè)務(wù)的要求,目的是創(chuàng)建一個共同的、可利用的信息和過程的語言。SOA策略用來解決分布式、異步及異構(gòu)的SOA環(huán)境中所面臨的問題。
2.審計(jì)監(jiān)督機(jī)制
策略不應(yīng)只是空洞的文件。策略應(yīng)是企業(yè)運(yùn)作中活躍的組成部分。在完成策略的定義后,所有的策略應(yīng)能檢測、分析和審計(jì)其是否被遵守。這個過程應(yīng)結(jié)合服務(wù)的設(shè)計(jì)、開發(fā)、部署和操作,以一種高效、透明的方式進(jìn)行。IT開發(fā)人員、系統(tǒng)架構(gòu)師和項(xiàng)目團(tuán)隊(duì)需要一個自動系統(tǒng)的幫助,以便能較容易地自動跟蹤和解決不遵從策略的事件。
3.跟蹤、分析和提高
定義好策略并有相應(yīng)監(jiān)督保證措施后,企業(yè)的決策者需要管理其實(shí)施過程,加強(qiáng)重用性,協(xié)調(diào)各個業(yè)務(wù)流程和改進(jìn)業(yè)務(wù)標(biāo)準(zhǔn),才能真正體現(xiàn)集成的價(jià)值。完成這些過程需要對策略的執(zhí)行進(jìn)行跟蹤、分析和提高,具體來說需考慮下面的問題。
(1)策略-已有的策略是什么?這些策略用于哪些方面?
(2)企業(yè)級接口-開發(fā)了什么企業(yè)級服務(wù)?
(3)策略遵守情況-企業(yè)的服務(wù)遵守策略的情況如何?哪些接口沒有遵守?這對服務(wù)或業(yè)務(wù)操作有什么影響?有沒有什么安全隱患?
(4)影響分析-如果現(xiàn)有策略發(fā)生改變,對SOA的運(yùn)行有什么影響?
(5)互相依賴性-服務(wù)的變化如何影響業(yè)務(wù)操作?哪些關(guān)鍵過程會被影響甚至是中止?
(6)異常管理-可以從策略中定義某一項(xiàng)目的異常情況嗎?異常的影響有多大?
4.集成
SOA治理的集成有兩個方面:過程集成和系統(tǒng)集成。
(1)過程集成。SOA治理必需和當(dāng)前服務(wù)開發(fā)的流程、工具和可利用的系統(tǒng)集成。這將保證服務(wù)在整個設(shè)計(jì)、開發(fā)、測試、實(shí)施、部署和維護(hù)過程中都遵守企業(yè)的策略。
(2)系統(tǒng)集成。SOA治理必需和EAI(Enterprise Application Integration)、開發(fā)工具以及其他產(chǎn)生或消費(fèi)服務(wù)的企業(yè)應(yīng)用透明地集成。
四、結(jié)論
新業(yè)務(wù)流程的不斷出現(xiàn)推動了企業(yè)IT架構(gòu)向SOA遷移,這個跨平臺的分布式結(jié)構(gòu)給企業(yè)管理帶來新的復(fù)雜性。企業(yè)要創(chuàng)建科學(xué)合理的面向服務(wù)的架構(gòu),SOA治理是必不可少的。SOA治理的實(shí)現(xiàn)依賴于企業(yè)的SOA策略的制定、強(qiáng)有力的審計(jì)監(jiān)督機(jī)制,以及實(shí)施過程的分析、跟蹤、改進(jìn)和集成。
參考文獻(xiàn):
[1]張明寶夏安邦:基于面向服務(wù)體系架構(gòu)的敏捷虛擬企業(yè)信息系統(tǒng)框架[J].計(jì)算機(jī)集成制造系統(tǒng),2004,10(8):985~990
[2]羅作民李悅:基于Excel及數(shù)據(jù)轉(zhuǎn)換服務(wù)的異構(gòu)數(shù)據(jù)集成方法[J].計(jì)算機(jī)應(yīng)用,2007,27(3):574~579
[3]葉宇風(fēng):基于SOA 的企業(yè)應(yīng)用集成研究[J].微電子學(xué)與計(jì)算機(jī), 2006,23(5): 211~213
[4]Christopher Koch. ATT Wireless Self-Destructs[EB/OL].CIO Magazine. http://www.cio.com/archive/041504/wireless.html.2004
[5]涂振寧:SOA技術(shù)及其在數(shù)字圖書館中的應(yīng)用[J].高等工程教育研究.2006,S1:141~143
本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。