国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SOA: 規則先行

2019-11-17 04:55:46
字體:
來源:轉載
供稿:網友
SOA(Service-Oriented Architecture)可以給我們帶來的好處非常多: 提高代碼的重用性、降低集成成本、更加安全,同時帶給企業更大的靈活性。然而,要真正獲得這些好處,除了在編碼時要保證程序質量外,更重要的是人們必須在開發和部署策略和流程上做更多的工作。 聽起來也許與我們的直覺不太一致,SOA相比其他的開發模式,組織必須更加強調紀律和原則。直覺告訴我們: 靈活往往意味著更少的規則或者說約束,然而,實事并非如此。 想想今天的汽車產業: 我們之所以能夠在為福特車購買輪胎時候,可以不到福特的專賣店里去購買福特牌的輪胎,正是得益于標準化,各種規范和規則給了我們很大的靈活性,保證我們可以在其他的地方購買輪胎,而根本不用擔心它們與自己的汽車不配套。 對SOA而言,也正是標準化使其具有跨組織的特性。SOA的實現并非易事,為了確保IT人員不至于被其復雜性弄得不知所措,業內推出了多種支持軟件,包括注冊軟件、知識庫和運行時的治理系統等,這些軟件將幫助組織貫徹各種規定的執行。然而,實施SOA需要的遠不是使用SOA工具這么簡單,它需要IT部門甚至整個組織對軟件系統的設計進行認真地分析,制定設計規范。 SOA治理 設計規范定義各種接口,統一開發思路,同時描述各子系統功能劃分,其基本目標是提高系統的模塊化程度,以及基于服務API提供定義良好的抽象模型。在確定設計規范的過程中,必須與有關人員進行溝通,還應該對此過程進行記錄,而且一旦確定就應該嚴格執行。 設計規范及其執行通常被稱為“策略(Policies)”,SOA策略的制定以及執行過程被稱為SOA治理(SOA Governance)。治理與軟件架構是相關的,而且共同發揮作用: 采用相同的方式進行程序編碼、確定標準、進行治理為建立最合理的軟件架構提供了基礎保證,而SOA治理則為軟件系統的架構師和設計人員提供所需要的環境。 “假如沒有SOA治理,IT人員將會被各種版本Web服務的‘DLL Hell’所折磨,”SOA的注冊軟件提供商Systinet的首席軟件架構師兼創始人Roman Stank說,“SOA治理保證軟件的一致性和可猜測性,它保證一個大的應用可以通過一個個小的系統組建而成。” 假如組織中已經有了一個非常良好IT治理,這將為SOA治理提供一個非常好的基礎。反之,假如組織過去沒有建立正式的治理規則,在向SOA遷移的過程中,可能需要進行更多的改變,包括如何治理開發過程和運轉流程等。 “假如沒有建立適當的治理模型,大多數組織可能會失敗得很慘。”Buton集團副總裁Anne Thomas Manes說,“SOA是一種行為,它不是你能夠買得到東西,你必須改變自己的行為方式才能有效果。” 關于SOA治理的說法往往能讓IT人員很矛盾。開發人員,非凡那些具有創新意識的開發人員就非常擔心這些策略和規則會束縛他們。更糟糕的是,根據他們的經驗,很多策略往往是不現實的,他們擔心治理會導致瓶頸的出現,會帶來一些不實際的、過于理想化的東西。不過,只要小心,建立一種支持面向服務架構的治理流程,并且給那些遵守這些流程的人以明顯的回報,是完全可能的。 確定合適的策略 Systinet的Stank認為,有效的治理依靠確定策略的過程,也就是采用何種方式做出決定、為此進行溝通并且執行這種決定的方式。 一個好的SOA治理過程應該類似于市民大會,而不是法令的頒布。“在SOA治理過程中,組織最輕易犯的錯誤就是溝通和協調不足。”Burton集團的Manes說。 做出決定可以采用很多方式,但最終這還是一個社會性的過程,必須基于組織的文化背景。 “像LinkedIn(這是一種類似俱樂部的交友網站,加入者可以在這里結交很多愛好愛好相同的人,也可以熟悉生意伙伴——譯者注)這樣的社會性軟件系統的產生,有助于SOA治理過程得到更多人的參與,”Infravio市場部副總裁Miko Matsumura說,“人是具有社會性的,這一觀點正在被普遍接受。因此,SOA治理必須按照組織動力學和人在組織中如何表現來綜合最佳實踐。” 某大型金融服務結構的企業架構師描述了缺少溝通會如何給治理帶來困難,他說: “作為企業IT治理的一部分,假如在企業中針對SOA項目建立了一種正式的評估體系后,就指望那些根本不了解這些策略的開發人員會遵守和執行,是不現實的。這些策略必須落到紙上,而且讓他們了解,還要說清楚對他們的要求。因此,假如你制定出的策略像納稅代碼那么復雜或者還要復雜的話,其結果一定不會太好。” 有些組織在企業軟件架構組中建立了卓越中心(Center of Excellence)或者是其他類似的小組,專門提供資源和指導,充當企業最佳實踐的知識庫,他們負責使用支持SOA治理流程的各種工具。 加拿大消費者忠誠計劃供給商Andre Hebert就把SOA治理融入它們的日常經營過程中。“我們建立了軟件架構的路線圖,遵循它已成為常識。任何時候提出新項目,或者內外部需要什么新功能,我們都會讓架構委員會來把一下關,” Andre Hebert技術和電子商務副總裁說,“SOA治理已經與企業天天的活動密不可分了。” 簡而言之,治理流程應該讓人們更易于用正確的方式做事,而難于用錯誤的方式做事。“建的是學校,而不是監獄。”Mindreef公司CTO Mark Ericson說,“目的是幫助人們遵循最佳實踐,而不是約束他們。” 從標準起步 策略可以影響服務生命周期的每一個環節,包括設計、部署和運行。例如,一個設計策略可能是規定企業的命名空間,一個部署策略可能要求生產級的服務滿足WS-I(Web Services InterOperability)組織的某些規定,而一個運行策略可能要求所有部署的服務必須使用企業安全基礎設施進行治理。 不過,對大多數組織而言,從各種標準開始制定策略是一個不錯辦法。究竟,正是這些標準讓SOA成為可能。每個企業都要決定它們在什么時候、什么地方使用什么標準。例如,您的企業需要WS-Security和WS-Policy標準嗎?在什么樣的情況下需要? 你可以在各個策略中分別采用對應的標準,但一個更好的辦法是建立一個交互性框架(Interoperability Framework,IF)。建立IF是一種非凡的策略,在IF中可以列出整個組織范圍內使用的全部標準,并指出在什么地方使用,以及某個決議所處的狀態: 批準(ApPRoved)、實施(De facto)、剛剛形成(Emerging)、保持(Sustain)、將廢棄(Sunset),或者處于醞釀之中。
上述狀態本身的意義比較清楚,這里只非凡對保持(Sustain)和將廢棄(Sunset)做一些說明。“保持(Sustain)”的意思是,雖然組織已經決定在相應的領域采用其他標準,然而舊的標準也還可以使用。“將廢棄(Sunset)”意味著,開發人員應該盡快地從這些標準轉向更實用的標準。 IF可以分別跟蹤各個策略在標準上的快速變化,使得它們易于被治理。總體而言,IF是一個非常好的起點,究竟在標準上達成一致是最輕易的一項策略。 充分利用SOA治理資產 治理流程會產生策略、xml規范、WSDL文檔、各種文件和各種其他的東西,它們大都分布在組織內的很多地方。有效的交流意味著不僅僅是將這些東西E-mail給別人或者把它們發不到網站上。為了提高可用性,治理的內容應該是可搜索、被版本化的,準確地說就是輕易被借鑒和參考的。而且,其中大部分的內容還應該以一種電腦可以動態查找或綁定的格式保存。 Registry(注冊)軟件是一種基本工具,除了保證一些要害的治理活動自動進行外,組織也用它們來對治理的資料進行治理或者就這些資料進行交流。Registry(注冊)工具是服務的引用中心或者是系統的記錄中心。可以把它設想成這樣的地方: 組織內的供給者在這里把服務廣告出去,而使用者則在這里找到它們所需要的服務——這是保證服務的可用性、版本化,以及符合內外部的各種需求的一個控制點。 有些供給商提供一種稱為“Repository-Registry”的工具軟件,這些軟件可以用來保存服務所需的WSDL文檔以外的元數據。因為Repository和Registry軟件對于開發流程非常重要,所以應該采用那些能和組織的開發環境緊密集成的軟件。例如,假如你采用Eclipse開發環境,就應該選擇那些有Eclipse插件的Registry軟件。 Registry提供API接口,應用程序可以在運行時找到所需的服務或者與策略保持動態的聯系。例如,附帶的元數據可以告訴服務的消費者,該服務需要什么樣的安全策略,從而使服務的客戶端能夠動態地進行調整以適應服務的新要求。 假如運行策略能夠在Web服務治理系統 (Web Services Management,WSM)表示,效率將是最高的,Actional、AmberPonit、Blue Titan以及其他的SOA軟件供給商都提供類似的產品。大多數WSM產品可以保證運行時SOAP包滿足某些條件。例如,WSM可以保證某些服務必須采用一種專門的安全協議,或者它們必須被封裝在符合某種非凡規范的XML文檔中。 這樣的WSM系統是最理想的: 它不僅讓人們治理策略、進行版本化,以及在設計和運行時發現策略,而且還能提高策略的重用性。同時,能獨立地為某個非凡的服務制定和治理策略,這一特性有助于充分利用現有的策略資產。 一般而言,企業應該盡可能地實現治理流程的自動化。這需要企業在人力、組織保證和工具上進行投資,從而為企業實施SOA創造條件。假如執行得當,治理流程和相關的基礎設施很可能是企業在部署SOA項目時惟一需要集中的要素。 規則的執行貫穿到設計到運行的整個過程

治理策略(Governance Polices)包括規則的制定和執行。規則的執行貫穿到設計到運行的整個過程,而運行階段除了涉及到服務的提供者外,還涉及到服務的消費者。SOA: 規則先行執行是要害 假如沒有人監督實施,各種建筑規范本身并不能保證大樓的安全和舒適。與此類似,除非得到貫徹執行,否則,SOA策略就一文不值。 有些策略可以在WSM中形成規則,或者單獨開發系統,這樣可以保證得到自動執行。但也有些策略主要用于改變和規范人們的行為,如規定在生產級的應用中使用的服務必須在生產注冊中心進行登記,就難于保證它被自動執行。 企業的項目治理中心經常是執行策略的“一站式”機構。項目經理可以指導項目符合各種規定,同時不給項目帶來太多的負擔。其他辦法還有在進行資金投入之前,由SOA治理小組對項目進行評估。 最重要的是,SOA策略的目標需要和經濟上的激勵措施相結合。否則,要滿足SOA的要求、支持服務很可能會成為一個火藥桶。“在現實生活中,開發部門經常因為面臨資金和開發時間的壓力而不愿意或者不去遵循SOA治理的要求。因此,沒有一個有效的治理流程,SOA項目的部署就很難順利進行,非凡是在跨部門時,”MIC的首席架構師Bob Laird說,“假如組織中有些部門不支持SOA,SOA的優勢就很難發揮出來。” SOA策略的執行還應該根據反饋進行調整。假如發現某個服務或者某個流程不符合要求,需要對此進行修改。另一方面,不符合要求也有可能表明某個策略過于嚴格或者表述得不是很清楚。應該確保反饋流程順暢,這有助于對策略進行調整和改善。 同樣,無論策略考慮得多么周全,有時候開發人員為了組織利益的最大化在執行策略時還是會有例外發生。應該保證每個策略都有一個提出例外和批準例外的規定流程。通常會依據角色,制定一個策略負責人,他(她)有權批準例外。 擬定內部合同 策略不應該非常寬泛,而應該是具體針對服務的各種規則,因而最好用某種形式的合同來表述。這聽起來有些希奇,在你的組織中一個部門和另一個部門訂立合同。然而,這些合同可以保證提供者交付的是服務,而不僅僅是程序代碼。 “合同把消費者(Consumer)和生產者(ProdUCer)的生命周期聯系起來,”Systinet的Stanek解釋說,“合同是描述雙方需求的一個參考點。”合同不僅僅是服務級別的協議,它可以約定消費者的行為,從而讓服務的提供者制定開發計劃。其目的是讓生產者對消費者的需求有一定了解。 合同對雙方同意遵守的策略進行具體描述。盡管在合同的表述上目前沒有標準,不過不妨參考用“金、銀、銅”來定義服務的級別,還可以參考一些模板來映射概念和制定的策略。這里的合同與其說是法律文書,還不如說是支持消費者和生產者進行交互的約定。 盡早著手 在SPA項目早期治理很輕易被忽略。這在SOA項目的試驗階段影響不大,但隨著服務開始進入生產階段,情形就會大不一樣。事實上,很多組織不是從一開始就考慮到治理,而是到事情發展到不可收拾了才想到它。
SOA治理始于人們對治理的美好期待,而要真正實現人們心中的目標需要方方面面人員的共同努力,包括設計者、編碼者和服務的使用者,不僅涉及開發人員,也涉及IT治理者和業務部門的領導。無論如何,參與者對SOA的認可和支持是目標達成的基礎和前提。 AmberPoint產品戰略副總裁Ed Horst認為,企業應該盡早建立治理的基礎設施。“盡可能早地引入治理、注冊和安全的工具,哪怕只有一點點,這對養成良好的習慣非常重要。一旦在這些方面養成了壞習慣,隨著SOA項目規模的擴大,將會大大增添治理的復雜性。比如,假如沒有部署治理系統,開發人員就可能把治理邏輯硬編碼到Web服務中,這要花時間。更重要的是,當他們在真正的治理系統下部署SOA項目時,也不知道如何獲得治理信息。”

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿合奇县| 宁海县| 监利县| 阿合奇县| 屏山县| 嘉善县| 泰宁县| 楚雄市| 乌兰察布市| 绥芬河市| 阆中市| 太白县| 琼结县| 观塘区| 文山县| 淳安县| 大港区| 北辰区| 伊金霍洛旗| 白沙| 当雄县| 沁阳市| 银川市| 东台市| 什邡市| 凤山县| 贵州省| 陆河县| 泾源县| 洞口县| 神农架林区| 靖远县| 民权县| 盘锦市| 潞城市| 隆德县| 永平县| 台中市| 定安县| 汨罗市| 朝阳县|