根據Larry Pizette,Salim Semy,Geoffrey Raines和Steve Foote等合著的MITRE新白皮書,以下幾個方面是成功的SOA實施的最佳實踐:
- 判斷SOA是否是最好的選擇,根據白皮書:
雖然SOA能夠帶來重用、敏捷及松耦合等好處,然而這些好處卻不一定總是軟件架構師首選的考慮因素。
例如,實時系統或者網絡限制的分布式系統,SOA可能就不是合適的架構選型。
- 從解決業務及運維中的挑戰來開展SOA活動,為了使企業能夠完全收獲SOA實施帶來的在時間及成本上的節約,它關注的應該是解決業
務問題而非只關注技術。
如果企業的SOA采用是由解決業務問題而驅動的,并與之對齊,那么企業將會看到共享的服務,業務敏捷,和簡化的整合帶來的好處。
作者們給出了一組SOA實施的工業案例,在這些案例中,都對業務目標進行了很好的定義。
- 將服務用于支持關鍵的業務流程的步驟,SOA主要的價值主張之一就是通過提供服務并實現能被多個業務流程公用的關鍵能力來降低IT
冗余度。
通過關注跨企業使用的業務流程步驟,服務的重用就自然變成架構的產出之一……將服務定位在合適的業務流程級別是非常必要的(如,
服務所 包含的能力范圍),這樣它們就能被輕易地映射到業務流程步驟中。
作者們認為,服務的一個重要特征是松耦合,它能在對服務進行修改時帶來靈活性。白皮書在最后還談到了服務契約規范化以及服務可視化,這通常是通過服務注冊
實現的。
- 檢查你的數據,
這意味著SOA不會解決你的數據問題,卻會把它們暴露出來。SOA帶來靈活性的一種途徑是實現業務和數據間的解耦。這通常會導致創建數據服務,由它們提供
跨企業的通過服務對數據的訪問。但是,作者們提醒到,
實施SOA本身不會解決數據問題。在SOA讓數據更易于訪問的同時,因為數據質量、可用性以及不同社區在詞匯上的差異,它依然可能是不可用的……
缺乏對數據的重視可能會損害SOA實施所帶來的價值。
作者們認為,在SOA實施中成功地融入數據需要:定義數據語義,用于保證在服務消費者和服務提供者之間數據交換的含義一致性;數據質量,用于消除冗
余,不一致性或失效的數據及數據可用性……提供能夠支持異構的,或可能是不可預知服務消費者集合的的跨網絡的分布式的數據服務。
- 開始于一小點,學習并發展,白皮書的作者們認為,SOA項目失敗的主要原因之一是不合理的范圍。
……架構師們往往希望把他們最初的SOA項目變成是整個企業范圍的工作,即便從某個業務場景來看這并不合理……采納SOA時,最
好從一小點開始,學習并發展。遞增的方法允許我們在實施大范圍的SOA項目之前收集經驗和教訓;它可以最小化業務風險并能遞增地收獲回報。然而,在界定
SOA
工作范圍時,至關重要的幾個方面是:解決有意義的業務問題、關注架構的檢驗、清晰地描述期望的產出以及對成功的評判尺度,還要吸取經驗教訓,以備在將來的
工作中使用。
白皮書的作者們基于對行業的研究,建議從試驗性SOA開始,解決具體的業務問題并定義清晰的業務和架構成功的準則。他們還建議要吸取經驗和教訓,并在開展
下一個SOA項目之前把學到的經驗教訓傳授給企業的其他人員。
- 要有遠見,即便從很小的SOA開始,追求長期的SOA遠景也是非常重要的。
今天構建的SOA的結果可能是面向某個特定服務消費者的耦合服務,可能是系統間兩兩互聯的一些通道。此外,缺乏對將來或者不可知
的使用的計劃,SOA可能無法滿足將來的服務需求。因此,在SOA實施中,設計時應該考慮到將來可能的需求發展。SOA的架設應該能支持擴容和擴展,既要
包含 SOA部署的范圍的擴展也要包含需求的擴展。
作者們認為,確保遠見的主要步驟包含:服務管理(通過監控),由它提供管理目標是否被很好地實現的信息,它還輔助定位問題及解決問題;確保服務實
現的延伸性……包含基礎設施,使能服務交互,可擴展部署及測試活動;創建合適的安全基礎設施等。
- SOA的關鍵組件之一是治理的保障.
對企業范圍內的SOA采用中所必需的變更的成功實施需要政策和流程的參與,這主要都是受業務需求驅動的。企業對治理的保障對
SOA項目的成功是至關重要的。
白皮書中描述的治理的主要方面包括:架構——設立一個最低限度的約束集合來確保服務實施的一致性;基礎設施——建立政策來確保基礎設施平臺(包
括消息傳輸,安全和其他工具服務)在所有項目中都是標準的;信息——定義數據所有權、建立依附于企業所選的數據標準的政策及方針、設立政策來保障
數據質量度量尺度的遵守等。服務編目——建立政策保證服務聲明周期的一致性、策劃業務及工具服務、確保開發服務時恰當地利用了現有的企業應用。
- 設定投資回報預期, 基于行業研究,作者們指出:
……盡管節約開支是采用SOA的主要動機之一……然而SOA采用的一個根本的挑戰是,考慮到過高的學習曲線、技術技能和熟悉程度
的缺失、成熟行
業標準的缺失、以及用戶企業管理能力的缺失(比如,治理)等情況,如何決定投資SOA來制定整體的SOA實施。一個企業要施行SOA方法,就應該對需要進
行多少投資以及投資回報有理性的預期。
他們強調,與傳統的基于應用實施相比,最初的SOA實施幾乎總要更昂貴一些,而且成本的節約并不會在企業的每個部門發生。在他們看來,大部分成本節
約都是長期的,并且會反映在SOA提供的組織敏捷以及共享信息的能力上。此外,服務重用將帶來維護成本的降低。
雖然白皮書相當高層,但是,它的確強調了大部分重要的SOA關注點。對于正在考慮進行SOA實施的人們,它可以的是一個很好的指引,對與SOA執行
者 的,它可以作為一個提醒——SOA不僅關心很酷的技術,還關心架構,業務和投資回報等。
posted on 2010-03-14 15:13
墻頭草 閱讀(184)
評論(0) 編輯 收藏 所屬分類:
業界資訊