當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 云南OA系統(tǒng) > 昆明OA系統(tǒng) > 昆明OA快博
SOA: 規(guī)則先行
為了確保企業(yè)級SOA項目的成功,必須為SOA項目的開發(fā)、部署以及服務(wù)的管理制定相應(yīng)的策略,并保證這些策略得以一一貫徹實施。
SOA(Service-Oriented Architecture)可以給我們帶來的好處非常多: 提高代碼的重用性、降低集成成本、更加安全,同時帶給企業(yè)更大的靈活性。然而,要真正獲得這些好處,除了在編碼時要保證程序質(zhì)量外,更重要的是人們必須在開發(fā)和部署策略和流程上做更多的工作。
聽起來也許與我們的直覺不太一致,SOA相比其他的開發(fā)模式,組織必須更加強調(diào)紀(jì)律和原則。直覺告訴我們: 靈活往往意味著更少的規(guī)則或者說約束,然而,實事并非如此。
想想今天的汽車產(chǎn)業(yè): 我們之所以能夠在為福特車購買輪胎時候,可以不到福特的專賣店里去購買福特牌的輪胎,正是得益于標(biāo)準(zhǔn)化,各種規(guī)范和規(guī)則給了我們很大的靈活性,保證我們可以在其他的地方購買輪胎,而根本不用擔(dān)心它們與自己的汽車不配套。
對SOA而言,也正是標(biāo)準(zhǔn)化使其具有跨組織的特性。SOA的實現(xiàn)并非易事,為了確保IT人員不至于被其復(fù)雜性弄得不知所措,業(yè)內(nèi)推出了多種支持軟件,包括注冊軟件、知識庫和運行時的管理系統(tǒng)等,這些軟件將幫助組織貫徹各種規(guī)定的執(zhí)行。然而,實施SOA需要的遠不是使用SOA工具這么簡單,它需要IT部門甚至整個組織對軟件系統(tǒng)的設(shè)計進行認真地分析,制定設(shè)計規(guī)范。
SOA治理
設(shè)計規(guī)范定義各種接口,統(tǒng)一開發(fā)思路,同時描述各子系統(tǒng)功能劃分,其基本目標(biāo)是提高系統(tǒng)的模塊化程度,以及基于服務(wù)API提供定義良好的抽象模型。在確定設(shè)計規(guī)范的過程中,必須與有關(guān)人員進行溝通,還應(yīng)該對此過程進行記錄,而且一旦確定就應(yīng)該嚴(yán)格執(zhí)行。
設(shè)計規(guī)范及其執(zhí)行通常被稱為“策略(Policies)”,SOA策略的制定以及執(zhí)行過程被稱為SOA治理(SOA Governance)。治理與軟件架構(gòu)是相關(guān)的,而且共同發(fā)揮作用: 采用相同的方式進行程序編碼、確定標(biāo)準(zhǔn)、進行管理為建立最合理的軟件架構(gòu)提供了基礎(chǔ)保證,而SOA治理則為軟件系統(tǒng)的架構(gòu)師和設(shè)計人員提供所需要的環(huán)境。
“如果沒有SOA治理,IT人員將會被各種版本W(wǎng)eb服務(wù)的‘DLL Hell’所折磨,”SOA的注冊軟件提供商Systinet的首席軟件架構(gòu)師兼創(chuàng)始人Roman Stank說,“SOA治理保證軟件的一致性和可預(yù)測性,它保證一個大的應(yīng)用可以通過一個個小的系統(tǒng)組建而成?!?
如果組織中已經(jīng)有了一個非常良好IT治理,這將為SOA治理提供一個非常好的基礎(chǔ)。反之,如果組織過去沒有建立正式的治理規(guī)則,在向SOA遷移的過程中,可能需要進行更多的改變,包括如何管理開發(fā)過程和運轉(zhuǎn)流程等。
“如果沒有建立適當(dāng)?shù)闹卫砟P停蠖鄶?shù)組織可能會失敗得很慘?!盉uton集團副總裁Anne Thomas Manes說,“SOA是一種行為,它不是你能夠買得到東西,你必須改變自己的行為方式才能有效果。”
關(guān)于SOA治理的說法往往能讓IT人員很矛盾。開發(fā)人員,特別那些具有創(chuàng)新意識的開發(fā)人員就非常擔(dān)心這些策略和規(guī)則會束縛他們。更糟糕的是,根據(jù)他們的經(jīng)驗,很多策略往往是不現(xiàn)實的,他們擔(dān)心治理會導(dǎo)致瓶頸的出現(xiàn),會帶來一些不實際的、過于理想化的東西。不過,只要小心,建立一種支持面向服務(wù)架構(gòu)的治理流程,并且給那些遵守這些流程的人以明顯的回報,是完全可能的。
確定合適的策略
Systinet的Stank認為,有效的治理依賴確定策略的過程,也就是采用何種方式做出決定、為此進行溝通并且執(zhí)行這種決定的方式。
一個好的SOA治理過程應(yīng)該類似于市民大會,而不是法令的頒布。“在SOA治理過程中,組織最容易犯的錯誤就是溝通和協(xié)調(diào)不足?!盉urton集團的Manes說。
做出決定可以采用很多方式,但最終這還是一個社會性的過程,必須基于組織的文化背景。
“像LinkedIn(這是一種類似俱樂部的交友網(wǎng)站,加入者可以在這里結(jié)交很多興趣愛好相同的人,也可以認識生意伙伴——譯者注)這樣的社會性軟件系統(tǒng)的產(chǎn)生,有助于SOA治理過程得到更多人的參與,”Infravio市場部副總裁Miko Matsumura說,“人是具有社會性的,這一觀點正在被普遍接受。因此,SOA治理必須按照組織動力學(xué)和人在組織中如何表現(xiàn)來綜合最佳實踐。”
某大型金融服務(wù)結(jié)構(gòu)的企業(yè)架構(gòu)師描述了缺少溝通會如何給治理帶來困難,他說: “作為企業(yè)IT治理的一部分,如果在企業(yè)中針對SOA項目建立了一種正式的評估體系后,就指望那些根本不了解這些策略的開發(fā)人員會遵守和執(zhí)行,是不現(xiàn)實的。這些策略必須落到紙上,而且讓他們了解,還要說清楚對他們的要求。因此,如果你制定出的策略像納稅代碼那么復(fù)雜或者還要復(fù)雜的話,其結(jié)果一定不會太好?!?
有些組織在企業(yè)軟件架構(gòu)組中建立了卓越中心(Center of Excellence)或者是其他類似的小組,專門提供資源和指導(dǎo),充當(dāng)企業(yè)最佳實踐的知識庫,他們負責(zé)使用支持SOA治理流程的各種工具。
加拿大消費者忠誠計劃供應(yīng)商Andre Hebert就把SOA治理融入它們的日常經(jīng)營過程中?!拔覀兘⒘塑浖軜?gòu)的路線圖,遵循它已成為常識。任何時候提出新項目,或者內(nèi)外部需要什么新功能,我們都會讓架構(gòu)委員會來把一下關(guān),” Andre Hebert技術(shù)和電子商務(wù)副總裁說,“SOA治理已經(jīng)與企業(yè)每天的活動密不可分了?!?
簡而言之,治理流程應(yīng)該讓人們更易于用正確的方式做事,而難于用錯誤的方式做事。“建的是學(xué)校,而不是監(jiān)獄?!盡indreef公司CTO Mark Ericson說,“目的是幫助人們遵循最佳實踐,而不是約束他們?!?
從標(biāo)準(zhǔn)起步
策略可以影響服務(wù)生命周期的每一個環(huán)節(jié),包括設(shè)計、部署和運行。例如,一個設(shè)計策略可能是規(guī)定企業(yè)的命名空間,一個部署策略可能要求生產(chǎn)級的服務(wù)滿足WS-I(Web Services Interoperability)組織的某些規(guī)定,而一個運行策略可能要求所有部署的服務(wù)必須使用企業(yè)安全基礎(chǔ)設(shè)施進行管理。
不過,對大多數(shù)組織而言,從各種標(biāo)準(zhǔn)開始制定策略是一個不錯辦法。畢竟,正是這些標(biāo)準(zhǔn)讓SOA成為可能。每個企業(yè)都要決定它們在什么時候、什么地方使用什么標(biāo)準(zhǔn)。例如,您的企業(yè)需要WS-Security和WS-Policy標(biāo)準(zhǔn)嗎?在什么樣的情況下需要?
你可以在各個策略中分別采用對應(yīng)的標(biāo)準(zhǔn),但一個更好的辦法是建立一個交互性框架(Interoperability Framework,IF)。建立IF是一種特殊的策略,在IF中可以列出整個組織范圍內(nèi)使用的全部標(biāo)準(zhǔn),并指出在什么地方使用,以及某個決議所處的狀態(tài): 批準(zhǔn)(Approved)、實施(De facto)、剛剛形成(Emerging)、保持(Sustain)、將廢棄(Sunset),或者處于醞釀之中。
上述狀態(tài)本身的意義比較清楚,這里只特別對保持(Sustain)和將廢棄(Sunset)做一些說明。“保持(Sustain)”的意思是,雖然組織已經(jīng)決定在相應(yīng)的領(lǐng)域采用其他標(biāo)準(zhǔn),然而舊的標(biāo)準(zhǔn)也還可以使用?!皩U棄(Sunset)”意味著,開發(fā)人員應(yīng)該盡快地從這些標(biāo)準(zhǔn)轉(zhuǎn)向更實用的標(biāo)準(zhǔn)。
IF可以分別跟蹤各個策略在標(biāo)準(zhǔn)上的快速變化,使得它們易于被管理??傮w而言,IF是一個非常好的起點,畢竟在標(biāo)準(zhǔn)上達成一致是最容易的一項策略。
充分利用SOA治理資產(chǎn)
治理流程會產(chǎn)生策略、XML規(guī)范、WSDL文檔、各種文件和各種其他的東西,它們大都分布在組織內(nèi)的很多地方。有效的交流意味著不僅僅是將這些東西E-mail給別人或者把它們發(fā)不到網(wǎng)站上。為了提高可用性,治理的內(nèi)容應(yīng)該是可搜索、被版本化的,準(zhǔn)確地說就是容易被借鑒和參考的。而且,其中大部分的內(nèi)容還應(yīng)該以一種電腦可以動態(tài)查找或綁定的格式保存。
Registry(注冊)軟件是一種基本工具,除了保證一些關(guān)鍵的治理活動自動進行外,組織也用它們來對治理的資料進行管理或者就這些資料進行交流。Registry(注冊)工具是服務(wù)的引用中心或者是系統(tǒng)的記錄中心??梢园阉O(shè)想成這樣的地方: 組織內(nèi)的供應(yīng)者在這里把服務(wù)廣告出去,而使用者則在這里找到它們所需要的服務(wù)——這是保證服務(wù)的可用性、版本化,以及符合內(nèi)外部的各種需求的一個控制點。
有些供應(yīng)商提供一種稱為“Repository-Registry”的工具軟件,這些軟件可以用來保存服務(wù)所需的WSDL文檔以外的元數(shù)據(jù)。因為Repository和Registry軟件對于開發(fā)流程非常重要,所以應(yīng)該采用那些能和組織的開發(fā)環(huán)境緊密集成的軟件。例如,如果你采用Eclipse開發(fā)環(huán)境,就應(yīng)該選擇那些有Eclipse插件的Registry軟件。
Registry提供API接口,應(yīng)用程序可以在運行時找到所需的服務(wù)或者與策略保持動態(tài)的聯(lián)系。例如,附帶的元數(shù)據(jù)可以告訴服務(wù)的消費者,該服務(wù)需要什么樣的安全策略,從而使服務(wù)的客戶端能夠動態(tài)地進行調(diào)整以適應(yīng)服務(wù)的新要求。
如果運行策略能夠在Web服務(wù)管理系統(tǒng) (Web Services Management,WSM)表示,效率將是最高的,Actional、AmberPonit、Blue Titan以及其他的SOA軟件供應(yīng)商都提供類似的產(chǎn)品。大多數(shù)WSM產(chǎn)品可以保證運行時SOAP包滿足某些條件。例如,WSM可以保證某些服務(wù)必須采用一種專門的安全協(xié)議,或者它們必須被封裝在符合某種特殊規(guī)范的XML文檔中。
這樣的WSM系統(tǒng)是最理想的: 它不僅讓人們管理策略、進行版本化,以及在設(shè)計和運行時發(fā)現(xiàn)策略,而且還能提高策略的重用性。同時,能獨立地為某個特殊的服務(wù)制定和管理策略,這一特性有助于充分利用現(xiàn)有的策略資產(chǎn)。
一般而言,企業(yè)應(yīng)該盡可能地實現(xiàn)治理流程的自動化。這需要企業(yè)在人力、組織保證和工具上進行投資,從而為企業(yè)實施SOA創(chuàng)造條件。如果執(zhí)行得當(dāng),治理流程和相關(guān)的基礎(chǔ)設(shè)施很可能是企業(yè)在部署SOA項目時惟一需要集中的要素。
規(guī)則的執(zhí)行貫穿到設(shè)計到運行的整個過程治理策略(Governance Polices)包括規(guī)則的制定和執(zhí)行。規(guī)則的執(zhí)行貫穿到設(shè)計到運行的整個過程,而運行階段除了涉及到服務(wù)的提供者外,還涉及到服務(wù)的消費者。
執(zhí)行是關(guān)鍵
如果沒有人監(jiān)督實施,各種建筑規(guī)范本身并不能保證大樓的安全和舒適。與此類似,除非得到貫徹執(zhí)行,否則,SOA策略就一文不值。
有些策略可以在WSM中形成規(guī)則,或者單獨開發(fā)系統(tǒng),這樣可以保證得到自動執(zhí)行。但也有些策略主要用于改變和規(guī)范人們的行為,如規(guī)定在生產(chǎn)級的應(yīng)用中使用的服務(wù)必須在生產(chǎn)注冊中心進行登記,就難于保證它被自動執(zhí)行。
企業(yè)的項目管理中心常常是執(zhí)行策略的“一站式”機構(gòu)。項目經(jīng)理可以指導(dǎo)項目符合各種規(guī)定,同時不給項目帶來太多的負擔(dān)。其他辦法還有在進行資金投入之前,由SOA治理小組對項目進行評估。
最重要的是,SOA策略的目標(biāo)需要和經(jīng)濟上的激勵措施相結(jié)合。否則,要滿足SOA的要求、支持服務(wù)很可能會成為一個火藥桶?!霸诂F(xiàn)實生活中,開發(fā)部門常常因為面臨資金和開發(fā)時間的壓力而不愿意或者不去遵循SOA治理的要求。因此,沒有一個有效的治理流程,SOA項目的部署就很難順利進行,特別是在跨部門時,”MIC的首席架構(gòu)師Bob Laird說,“如果組織中有些部門不支持SOA,SOA的優(yōu)勢就很難發(fā)揮出來。”
SOA策略的執(zhí)行還應(yīng)該根據(jù)反饋進行調(diào)整。如果發(fā)現(xiàn)某個服務(wù)或者某個流程不符合要求,需要對此進行修改。另一方面,不符合要求也有可能表明某個策略過于嚴(yán)格或者表述得不是很清楚。應(yīng)該確保反饋流程順暢,這有助于對策略進行調(diào)整和改善。
同樣,無論策略考慮得多么周全,有時候開發(fā)人員為了組織利益的最大化在執(zhí)行策略時還是會有例外發(fā)生。應(yīng)該保證每個策略都有一個提出例外和批準(zhǔn)例外的規(guī)定流程。通常會依據(jù)角色,制定一個策略負責(zé)人,他(她)有權(quán)批準(zhǔn)例外。
擬定內(nèi)部合同
策略不應(yīng)該非常寬泛,而應(yīng)該是具體針對服務(wù)的各種規(guī)則,因而最好用某種形式的合同來表述。這聽起來有些奇怪,在你的組織中一個部門和另一個部門訂立合同。然而,這些合同可以保證提供者交付的是服務(wù),而不僅僅是程序代碼。
“合同把消費者(Consumer)和生產(chǎn)者(Producer)的生命周期聯(lián)系起來,”Systinet的Stanek解釋說,“合同是描述雙方需求的一個參考點?!焙贤粌H僅是服務(wù)級別的協(xié)議,它可以約定消費者的行為,從而讓服務(wù)的提供者制定開發(fā)計劃。其目的是讓生產(chǎn)者對消費者的需求有一定了解。
合同對雙方同意遵守的策略進行詳細描述。盡管在合同的表述上目前沒有標(biāo)準(zhǔn),不過不妨參考用“金、銀、銅”來定義服務(wù)的級別,還可以參考一些模板來映射概念和制定的策略。這里的合同與其說是法律文書,還不如說是支持消費者和生產(chǎn)者進行交互的約定。
盡早著手
在SPA項目早期治理很容易被忽略。這在SOA項目的試驗階段影響不大,但隨著服務(wù)開始進入生產(chǎn)階段,情形就會大不一樣。事實上,很多組織不是從一開始就考慮到治理,而是到事情發(fā)展到不可收拾了才想到它。
SOA治理始于人們對治理的美好期待,而要真正實現(xiàn)人們心中的目標(biāo)需要方方面面人員的共同努力,包括設(shè)計者、編碼者和服務(wù)的使用者,不僅涉及開發(fā)人員,也涉及IT管理者和業(yè)務(wù)部門的領(lǐng)導(dǎo)。無論如何,參與者對SOA的認可和支持是目標(biāo)達成的基礎(chǔ)和前提。
AmberPoint產(chǎn)品戰(zhàn)略副總裁Ed Horst認為,企業(yè)應(yīng)該盡早建立治理的基礎(chǔ)設(shè)施?!氨M可能早地引入管理、注冊和安全的工具,哪怕只有一點點,這對養(yǎng)成良好的習(xí)慣非常重要。一旦在這些方面養(yǎng)成了壞習(xí)慣,隨著SOA項目規(guī)模的擴大,將會大大增添治理的復(fù)雜性。比如,如果沒有部署管理系統(tǒng),開發(fā)人員就可能把管理邏輯硬編碼到Web服務(wù)中,這要花時間。更重要的是,當(dāng)他們在真正的管理系統(tǒng)下部署SOA項目時,也不知道如何獲得管理信息?!?(ccw)
- 1企業(yè)如何選擇高效易用的監(jiān)控軟件
- 2泛普昆明OA辦公自動化軟件手機版
- 3快速掌握VPN管理技巧的竅門
- 4超越IT技術(shù)顧問售前談演講姿態(tài)篇
- 5SOA: 規(guī)則先行
- 6怎樣成為一個優(yōu)秀的數(shù)據(jù)庫管理員
- 7IT快成為企業(yè)發(fā)展的絆腳石?
- 8如何升級你的VoIP方案
- 9了解IT成本驅(qū)動因素
- 10企業(yè)故事:26歲我與公司一起“早熟”
- 11換種方式建信息系統(tǒng)
- 12網(wǎng)絡(luò)型企業(yè)需謹(jǐn)慎遷移
- 13SOA不是預(yù)算中的頭名
- 14設(shè)備化軟件將成為企業(yè)理想選擇
- 15中小企業(yè)信息化進程仍存在四大障礙
- 16透析上海輪胎像膠集團ERP二次開發(fā)
- 17運營ERP四個注意
- 18內(nèi)容管理系統(tǒng)的選擇
- 19警惕軟件功能過剩
- 20IT售前人員如何寫解決方案
- 21昆明OA軟件CIO的左膀右臂
- 22企業(yè)服務(wù)器的托管或租用怎樣才劃算
- 23新疆塔里木油田信息化成功案例解析
- 24怎樣延長企業(yè)IT資產(chǎn)使用周期
- 25中國第三代支付系統(tǒng):小額支付系統(tǒng)
- 26網(wǎng)絡(luò)處理器的應(yīng)用
- 27智能客戶端融合C/S與B/S
- 28ERP實施:如何設(shè)定生產(chǎn)提前期
- 29中小網(wǎng)站“買馬難配鞍”新解
- 30信息化建設(shè)中的六類知識轉(zhuǎn)移
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓