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