SOA是一個面向服務的、對分布式計算環境基礎設施進行設計、建設和管理的架構。SOA建立了商業與IT服務之間 的聯系,為分布、動態變化的商業環境提供穩定、可擴展、安全和可管理的IT支撐環境。SOA是當今電信領軍企業率先考慮的方法論并成為提升通信服務的能力 引擎,它使IT部門可搭建靈活的可配置體系以支持隨需應變的電信業務。
SOA強調兩個原則:一是從業務角度,追求業務靈活性,通過增加流程的粒度、快速生成業務流程以及組裝應用來及時 響應市場的變化;另一方面是從IT角度,追求IT系統簡單化,通過服務生成的技術無關性、最大化重用現有服務等方法來實現IT系統的靈活與簡化。SOA是 更加適應業務要求、生命力更為持久的架構體系。
實現SOA之路
SOA的建設是一個長期的過程,涉及組織、業務、流程和技術等各方面,須進行全生命周期管理。
在實現SOA的過程中,電信運營商需要從六個方面來進行部署。
SOA理念傳達:幫助企業理解SOA概念,分析SOA獲得的收益和潛在影響;
SOA評估:應用相關評估方法,確定指導SOA建設的全面路標;
SOA架構和管治:在向SOA轉變的過程中,需要設立專職的SOA架構管理組織;
SOA服務建模:定義、開發和部署業務服務和IT服務,這些服務可以是企業級、產品線級、部門級甚至是項目級的服務;
SOA軟件開發和部署:確定開發和交付過程中的業務服務和IT服務的粒度,完成軟件的開發和部署;
SOA管理:在SOA的建設過程中,制定相關政策和服務等級約定,實現對服務和軟件生命周期的管理、監控、審計和分析。
根據SOA建設的全生命周期管理及建設原則,IT系統向SOA演進的關鍵部分包括SOA建設管控、服務建模、服務設計和現有應用的服務化改造。
制定SOA建設管控
建設SOA是企業的長期戰略,多數公司都通過成立SOA工作組來實施SOA,以啟動SOA的建設。多數情況下,該 工作組是一個小而嚴密的團隊,具有多樣且互補的技術,掌管企業的總體架構:工作組組長主要由IT負責領導擔任;架構管理崗位負責制定內部標準、藍圖、參考 架構、設計模式、模板、一些共享和水平服務等技術規范;運行管理崗位負責管理SOA的日常運行維護。
SOA工作組是成功實施SOA的最關鍵要素。沒有一個理解如何操作和掌控SOA的優秀團隊,實施SOA的工作很難成功。
SOA工作組在啟動SOA建設時,需確定SOA建設的工作目標,明確SOA工作組流程(需求管理、開發和部署、問題處理、運行評估等),需完成建立SOA環境運行監控、服務生命周期管理、服務運行質量監控、告警和事件處理等日常工作及職責分配。
SOA工作組一旦成立,接下來需由業務和IT團隊合作,制定實施路線圖。路線圖應與公司的戰略利益聯系在一起,項目進度、資金籌集、人員安排、業務驅動和業界競爭等因素都可能影響實施進程。由于一些因素可能使得SOA脫離正確軌道,應仔細定期追蹤進程。
SOA路線圖一般具有多個階段。第一階段是進行前期探索、了解技術挑戰,實施諸如驗證、授權、確認和數據轉換等簡單的水平服務;第二階段是制定更多的面向業務的服務;第三階段包括聚合服務、開發工作流和集成各個不同的系統。
電信部門:進行SOA服務建模
進行SOA服務建模
服務建模是通過對全部業務流程的全面分析,初步確定業務服務和應用服務,包括服務封裝的業務/應用邏輯和對外提供的操作候選。
服務建模的前提是需對業務流程和系統功能非常了解。服務建模的工作是一個較長的過程,需要經過若干個階段才能慢慢完善和確定。服務建模主要包括三個方面的工作:流程梳理、架構設計和SOA產品行業模板。
對業務流程進行梳理
流程梳理,即從現有流程梳理成果入手,自頂向下,將合理的流程活動封裝為服務。
在流程梳理的過程中,SOA工作組應采用國際先進方法,電信行業一般采用基于eTOM的流程管理和NGOSS架 構,用業務驅動和流程穿越的方法定義和澄清項目的范圍,具體包括:梳理和分析對應的業務流程,明確業務流程的節點和涉及的人員角色;分析業務流程對應的 IT系統支撐和控制點,用不同的表現形式來區分涉及的IT系統,因為涉及多個IT系統的流程都會涉及到與對應系統的集成;針對業務流程的相似性,使用抽象 合并的方法對業務流程進行IT流程的歸并。
系統架構設計的構建
架構設計是從系統功能架構和現有系統模塊入手,自底向上封裝應用服務和通用服務。
從IT系統的建設趨勢來看,IT的整合將是建設過程中的主旋律。發掘已有IT系統的潛力,整合系統之間重疊的功能 應用,實現系統間信息數據的交互、共享暢通,規范企業技術架構,逐步消除信息孤島將是未來IT建設的重要舉措,因此電信運營商需根據具體需要,由系統功能 和現有系統模塊入手,引入SOA,建立系統一二級服務類,并構建整體服務建模。只有具備健全的架構基礎才可發揮SOA在松散耦合、重用以及抽象技術和服務 方面的主要優點。
SOA 的參考架構分為多個層面,包括服務的生成與封裝、業務流程的建模、企業服務總線的構建等。在SOA的架構中,服務的生成可以在原有系統的基礎之上通過封裝 得到,對于新開發的應用則在開發時即可規劃服務的內容與訪問形式。總之,服務將以合約或契約的形式存在,而企業服務總線則在服務與調用者之間進行服務的組 合、完成透明化的處理(包括協議轉換、調用方式、內容格式轉換、安全控制等),應用之間的協同工作則通過流程定義來實現。
SOA系統須滿足三個條件:數據、界面和業務邏輯分離;能把接口開放出來并容易被調用;能進一步將面向技術的組件包裝成面向業務的服務。
SOA產品行業模板的借鑒
SOA 的戰略意義目前已得到業內廣泛認可,在企業應用集成領域有著重要的意義。成熟的SOA產品針對不同的行業應用已經有了基本的服務建模,可作為重要參照。 Oracle、IBM、SAP和微軟等軟件巨頭從本世紀初開始陸續為SOA投入了大量資源,目前已經形成比較完善的解決方案。
通過SOA促進IT和業務的融合過程包括四個邏輯層次:底層是SOA基礎和IT基礎架構,其上是行業框架,再上一 層是行業解決方案,最上層則是策略性商業推動力。Oracle、IBM、SAP和微軟等都已經建立了電信行業的應用架構,這些框架建于最新的行業標準之 上,可為企業提供多種設計和部署SOA的方法。通過運用這些框架,企業能夠充分利用帶有BPM(業務流程管理)的流程模板創建最佳實踐,滿足自身的業務需 求。
明確服務設計內容
服務設計的目標是為業務流程建立一種與定義侯選服務一致的方法。服務是其接口采用SCA(服務組件體系結構)和 SDO(服務數據對象)等一致認可的格式發布的服務操作的邏輯分組。服務設計需與部署到其中的SOA基礎架構相兼容,尤其要確保服務應避免不必要的耦合。 因此服務設計需遵循基于面向服務的設計原則。
根據服務建模結果和統一的服務設計標準,服務設計需要完成各類服務的接口定義API(參考TMF的OSS/J等)。服務設計的流程包括SOA準備、設計以實體為核心的業務服務、設計應用服務、設計以任務為核心的業務服務、設計面向服務業務流程五個階段。
API定義除了業務接口,還需要考慮一些基礎接口,用來提供監控、安全、審計等服務。