張斌,張達(dá)敏,馬清鑫
?。ㄙF州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
摘要:針對眾多IT企業(yè)在提供IT服務(wù)時(shí)缺乏合理的管理流程、服務(wù)管理能力低下的問題,設(shè)計(jì)了一個(gè)基于ITIL的SOA系統(tǒng)架構(gòu)。架構(gòu)采用分層設(shè)計(jì)的方法,服務(wù)資源由服務(wù)臺來統(tǒng)一調(diào)配,服務(wù)的訪問依靠ESB(企業(yè)服務(wù)總線)來完成。最后,將該架構(gòu)應(yīng)用于系統(tǒng)的開發(fā),結(jié)果表明,該架構(gòu)具有擴(kuò)展性好、移植性強(qiáng)的特點(diǎn)。用該架構(gòu)指導(dǎo)企業(yè)對服務(wù)系統(tǒng)進(jìn)行構(gòu)建,可以極大地提高企業(yè)的服務(wù)質(zhì)量與服務(wù)管理能力。
關(guān)鍵詞:IT服務(wù);ITIL;SOA;服務(wù)總線
中圖分類號:TP311.5文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.021
引用格式:張斌,張達(dá)敏,馬清鑫. 基于ITIL的SOA架構(gòu)研究與應(yīng)用[J].微型機(jī)與應(yīng)用,2017,36(6):68-71.
0引言
*基金項(xiàng)目:貴州省科技廳省校合作項(xiàng)目(黔科合計(jì)省合[2014]7002號)傳統(tǒng)IT服務(wù)部門在采用面向服務(wù)的系統(tǒng)架構(gòu)(ServiceOriented Architecture,SOA)進(jìn)行企業(yè)系統(tǒng)架構(gòu)設(shè)計(jì)時(shí),往往只專注與技術(shù),采用被動(dòng)服務(wù)的方式,故障的解決主要依靠一些關(guān)鍵技術(shù)人員或工程師,由于缺少相應(yīng)的服務(wù)管理和知識積累,關(guān)鍵人員的流動(dòng)甚至?xí)斐刹块T業(yè)務(wù)的中斷。很多企業(yè)獲得的效益與投入的成本不成正比,原因可能不是技術(shù)落后,而是缺乏行之有效的管理流程。
因此,在企業(yè)系統(tǒng)的構(gòu)建上要有新的思路,變被動(dòng)服務(wù)為主動(dòng)服務(wù),甚至能夠先知先覺,提前預(yù)測到可能會出現(xiàn)的問題,從而能主動(dòng)處理問題。而信息技術(shù)基礎(chǔ)架構(gòu)庫(Information Technology Infrastructure Library,ITIL)則能夠?qū)⑦@種可能變成現(xiàn)實(shí)。本文在研究在ITIL規(guī)范及SOA架構(gòu)的基礎(chǔ)上設(shè)計(jì)了基于ITIL的SOA系統(tǒng)架構(gòu),并將其實(shí)際應(yīng)用于公共設(shè)施巡查系統(tǒng)中,從而驗(yàn)證本文設(shè)計(jì)思路的可行性。
1相關(guān)技術(shù)介紹
1.1ITIL簡介
ITIL可以幫助企業(yè)對IT系統(tǒng)的規(guī)劃、研發(fā)、實(shí)施和運(yùn)營進(jìn)行有效的管理,它以流程為導(dǎo)向,以客戶滿意度和服務(wù)品質(zhì)為核心,宗旨是提高IT資源的利用率和質(zhì)量[12]。
IT服務(wù)管理(ITSM)是ITIL最核心的模塊,分為十個(gè)流程和一個(gè)職能(服務(wù)臺職能)。實(shí)施ITSM主要目標(biāo)是提供高質(zhì)量、低成本的服務(wù)。而服務(wù)質(zhì)量的優(yōu)劣不僅僅體現(xiàn)在技術(shù)上,更重要的是體現(xiàn)在流程和服務(wù)臺的建設(shè)上。服務(wù)臺是連接服務(wù)提供方與用戶的紐帶,它與服務(wù)管理的眾多流程都有密切的關(guān)系,為用戶提供問題、變更、服務(wù)級別、發(fā)布、配置等管理的接口[3]。服務(wù)臺是ITSM的關(guān)鍵組成部分。因此,企業(yè)在實(shí)施ITIL的過程中,要充分理解服務(wù)臺的職能,并加大建設(shè)力度。
1.2SOA簡介
SOA是一種“抽象的、松散耦合的細(xì)粒度軟件架構(gòu)”[45],是一種面向接口的軟件架構(gòu)。SOA由服務(wù)提供者、服務(wù)請求者、服務(wù)代理者三個(gè)實(shí)體組成,構(gòu)成SOA的基礎(chǔ)部件主要有WSDL、UDDI和SOAP[6]。
服務(wù)提供者的功能是發(fā)布服務(wù)到服務(wù)代理,并且執(zhí)行服務(wù)消費(fèi)者的服務(wù)請求;服務(wù)消費(fèi)者是服務(wù)請求的發(fā)起者,在向服務(wù)提供者發(fā)送請求時(shí),要先向服務(wù)代理查詢是否有滿足條件的服務(wù),然后根據(jù)服務(wù)信息綁定和調(diào)用服務(wù);服務(wù)代理主要是接受服務(wù)提供者的注冊,并對服務(wù)進(jìn)行整理以方便服務(wù)請求者查詢。網(wǎng)絡(luò)服務(wù)描述語言(Web Service Definition Language,WSDL)可以借助XML對服務(wù)進(jìn)行描述;統(tǒng)一描述、發(fā)現(xiàn)和整合規(guī)范(Universal Description Discovery and Integration,UDDI)用于注冊和查找服務(wù)[7];簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)主要是在請求者和服務(wù)提高者之間傳遞消息。完成一個(gè)請求,首先要在UDDI注冊表中查詢服務(wù),并取得服務(wù)的WSDL描述,最后由SOAP調(diào)用服務(wù)。
SOA軟件結(jié)構(gòu)如圖1所示。
2基于ITIL的SOA架構(gòu)
實(shí)施ITIL的目的是提高服務(wù)的質(zhì)量,SOA的核心理念是面向服務(wù),因此將兩者結(jié)合進(jìn)行系統(tǒng)架構(gòu)的設(shè)計(jì),不僅延續(xù)了傳統(tǒng)架構(gòu)以技術(shù)為核心的做法,而且在架構(gòu)設(shè)計(jì)時(shí)兼顧了業(yè)務(wù)流程,同時(shí)又可以發(fā)揮人員的能動(dòng)性(可由服務(wù)臺調(diào)配)。
2.1服務(wù)臺事件處理流程設(shè)計(jì)
服務(wù)臺作為溝通IT服務(wù)部門和用戶的唯一通道,其功能與事務(wù)處理流程也最為復(fù)雜。本文設(shè)計(jì)的服務(wù)臺事件處理流程如下。
首先,用戶向服務(wù)臺提出事故處理申請,服務(wù)臺將用戶信息進(jìn)行登記,然后事件管理產(chǎn)生一個(gè)事件且處于待處理狀態(tài)。此時(shí)服務(wù)臺會根據(jù)事件的類型、事件處理的難易程度進(jìn)行判斷。如果服務(wù)臺可以自行處理,則其直接處理,處理完成后反饋給用戶,得到用戶確定后就可以關(guān)閉事件。如果服務(wù)臺不能直接處理,則將事件分派給二線技術(shù)人員進(jìn)行處理。此時(shí),二線某技術(shù)人員可能不會接受該任務(wù),則事件重新回到待處理的狀態(tài),服務(wù)臺會重新進(jìn)行分派。如果二線技術(shù)人員直接接受服務(wù)臺的分派任務(wù),則技術(shù)員會根據(jù)事件的具體情況制定解決的方案,方案制定完成后,技術(shù)員會將解決方案提交服務(wù)臺,由服務(wù)臺進(jìn)行方案錄庫,以便以后類似問題的處理。在技術(shù)員將方案提交的同時(shí)就可以對事件進(jìn)行處理,此時(shí)事件可能處于兩種狀態(tài):一種是事件還未處理,則需要等待技術(shù)員盡快解決;二是事件已經(jīng)處理,則將處理結(jié)果提交服務(wù)臺。服務(wù)臺會根據(jù)技術(shù)員的處理結(jié)果進(jìn)行確認(rèn),服務(wù)臺確認(rèn)后就可以對用戶進(jìn)行回訪。服務(wù)臺會告知用戶請求已經(jīng)解決,用戶會根據(jù)服務(wù)臺的提示進(jìn)行確認(rèn),如果故障排除,則服務(wù)臺將該事件關(guān)閉,如果故障仍未解決,則需要重新解決,直到故障被完全修復(fù)。服務(wù)臺的事件處理流程如圖2所示。
2.2系統(tǒng)架構(gòu)設(shè)計(jì)
本文進(jìn)行系統(tǒng)架構(gòu)的設(shè)計(jì)時(shí)采用分層設(shè)計(jì)的思想,主要分為五層,分別是應(yīng)用層、服務(wù)提供層、服務(wù)組合層、組件層和數(shù)據(jù)層[58]。每一個(gè)服務(wù)都是通過ESB(企業(yè)服務(wù)總線)進(jìn)行連接集成,系統(tǒng)架構(gòu)整體上具有“層內(nèi)高內(nèi)聚,層間松耦合”的特點(diǎn)。基于ITIL的SOA架構(gòu)模型如圖3所示。
應(yīng)用層: 主要是一些用戶客戶端或者其他的智能終端設(shè)備,用戶可以根據(jù)自己的實(shí)際需求在客戶端界面上進(jìn)行操作,并將服務(wù)請求發(fā)送給服務(wù)端。從而可以將服務(wù)端底層抽象的用戶數(shù)據(jù)信息直觀地表現(xiàn)出來,以方便用戶進(jìn)行查看。
服務(wù)提供層:主要是ITIL服務(wù)管理模塊,是用戶與服務(wù)提供方進(jìn)行交互的紐帶。該層的工作原理為:首先接收用戶的請求信息,服務(wù)臺可以根據(jù)用戶的請求將任務(wù)分派給相應(yīng)的技術(shù)人員進(jìn)行處理。另外,服務(wù)臺會根據(jù)事件的處理情況,對事件發(fā)生的原因、解決的辦法、后期可能會出現(xiàn)的問題等進(jìn)行記錄并進(jìn)行存檔,以方便以后對類似事件的處理。當(dāng)要想從源頭上徹底解決用戶遇到的問題時(shí),需要更改系統(tǒng)的硬件配置或者對軟件系統(tǒng)進(jìn)行較大程度的改進(jìn),不僅需要配置管理來解決相關(guān)的問題,還需要變更管理來控制變更的幅度,確保變更順利進(jìn)行。如果處理的變更較大,則需要發(fā)布管理來對關(guān)鍵硬件或主要軟件進(jìn)行打包或者批處理一組變更,以確保發(fā)布的成功。另外,服務(wù)臺可以根據(jù)用戶的變更請求進(jìn)行變信息登記,以針對用戶需求進(jìn)行變更。
服務(wù)總線:是SOA架構(gòu)圖3基于ITIL的SOA架構(gòu)圖的基礎(chǔ),它可以將架構(gòu)中的所有服務(wù)進(jìn)行連接[7]。另外,服務(wù)總線中的代理服務(wù)模塊還具有服務(wù)注冊的功能,用戶可以通過服務(wù)總線進(jìn)行服務(wù)查詢,服務(wù)提供者通過服務(wù)總線進(jìn)行服務(wù)注冊。通過服務(wù)提供層的服務(wù)調(diào)度模塊,可以調(diào)用已經(jīng)注冊的服務(wù)。權(quán)限管理主要是可以對用戶的訪問權(quán)限進(jìn)行定義,不同的操作人員分配不同的角色。安全管理可以保證傳輸?shù)椒?wù)總線中消息的安全可靠性。
工作流引擎是該層的一個(gè)重要模塊,它可以將應(yīng)用程序的不同功能單元通過服務(wù)之間定義的接口和契約聯(lián)系起來,使各個(gè)服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
服務(wù)組合層:該層的作用是進(jìn)行服務(wù)的整合,服務(wù)可以分為粗粒度服務(wù)和細(xì)粒度服務(wù)。原子服務(wù)是以實(shí)體為核心的細(xì)粒度服務(wù);組合服務(wù)是將原子服務(wù)進(jìn)行組合而成,屬于粗粒度服務(wù)[9]。原子服務(wù)一般不能單獨(dú)使用,因此需要將原子服務(wù)整合為組合服務(wù)。組合服務(wù)通過服務(wù)總線進(jìn)行發(fā)布,以便對各個(gè)服務(wù)進(jìn)行查詢與訪問。
組件層:該層主要由產(chǎn)品公共組件、行業(yè)公共組件和核心框架組成。在核心框架中插件框架是遵循一定規(guī)范的應(yīng)用程序接口編寫的程序,它可以根據(jù)不同的用戶對系統(tǒng)的功能進(jìn)行擴(kuò)展,以實(shí)現(xiàn)系統(tǒng)功能的多樣性。組件框架可以對數(shù)據(jù)和方法進(jìn)行簡單封裝,使系統(tǒng)進(jìn)行真正的面向?qū)ο笤O(shè)計(jì)。通過插件框架和組件框架,可以使系統(tǒng)具有兼容性好、易于移植的特點(diǎn)。另外,系統(tǒng)開發(fā)中會有眾多的數(shù)據(jù)需要處理,元數(shù)據(jù)在系統(tǒng)中是不可或缺的。當(dāng)用戶需要獲得數(shù)據(jù)信息時(shí),可以由元數(shù)據(jù)引擎進(jìn)行搜索,并將相應(yīng)的數(shù)據(jù)信息反饋給用戶。
產(chǎn)品公共組件中的規(guī)則引擎可以視為一個(gè)組件,是外部Java程序調(diào)用規(guī)則包的一組Java類,主要是將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,它可以接受數(shù)據(jù)輸入,解釋業(yè)務(wù)規(guī)則并作出業(yè)務(wù)決策。
數(shù)據(jù)層: 主要完成數(shù)據(jù)信息的存儲,例如異常信息數(shù)據(jù)庫、公共設(shè)施數(shù)據(jù)庫、系統(tǒng)配置數(shù)據(jù)庫、問題記錄數(shù)據(jù)庫以及各種人員信息庫等。數(shù)據(jù)層主要功能是實(shí)現(xiàn)對各種數(shù)據(jù)信息的存儲、刪除、更改。另外,元數(shù)據(jù)搜素引擎對數(shù)據(jù)搜索查詢也主要是在數(shù)據(jù)層進(jìn)行。
3架構(gòu)應(yīng)用
本文在上述系統(tǒng)架構(gòu)的基礎(chǔ)上開發(fā)了一套公共設(shè)施巡查系統(tǒng),公共設(shè)施巡查系統(tǒng)的主要角色有服務(wù)臺、技術(shù)部和管理員三個(gè),該系統(tǒng)的重點(diǎn)是服務(wù)臺的建設(shè),它可以實(shí)現(xiàn)對數(shù)據(jù)資源和人員進(jìn)行統(tǒng)一調(diào)配。服務(wù)臺首先要實(shí)現(xiàn)的功能是請求的接收與請求的登記;其次是問題的分派、問題的跟蹤與回訪;最后是對故障出現(xiàn)原因、解決方法以及還存在的故障隱患進(jìn)行記錄,以方便后期的查詢與參考。
服務(wù)臺功能實(shí)現(xiàn)如圖4所示,在服務(wù)臺功能頁面左側(cè)得菜單欄是用戶請求所處的狀態(tài),主要有未分派、未處理、位回訪等五種狀態(tài);頁面的右側(cè)是服務(wù)臺人員可以對用戶請求進(jìn)行的操作,主要有分派、處理和關(guān)閉三種。服務(wù)臺人員可以隨機(jī)點(diǎn)擊一個(gè)序號,查看用戶的請求描述,并根據(jù)描述進(jìn)行相應(yīng)的處理。
4結(jié)論
本文通過對ITIL和SOA架構(gòu)進(jìn)行研究,設(shè)計(jì)了基于ITIL的SOA系統(tǒng)架構(gòu)。在架構(gòu)設(shè)計(jì)上引入ITIL規(guī)范,既延續(xù)了傳統(tǒng)的以技術(shù)為核心的思想,又兼顧以業(yè)務(wù)處理流程為導(dǎo)向的理念。分層設(shè)計(jì)、模塊化實(shí)現(xiàn)的設(shè)計(jì)思想,又使得系統(tǒng)架構(gòu)具有“層內(nèi)高內(nèi)聚,層間松耦合”的特點(diǎn)。因此,該架構(gòu)也具有較好的移植性和可擴(kuò)展性。最后,基圖4服務(wù)臺功能實(shí)現(xiàn)圖于該架構(gòu)開發(fā)了一套公共設(shè)施巡查系統(tǒng),實(shí)現(xiàn)了異常信息的早發(fā)現(xiàn)、早上報(bào)、早解決。通過對系統(tǒng)的測試表明,該架構(gòu)的設(shè)計(jì)思想是合理可行的。
參考文獻(xiàn)
?。?] 楊鈺,吳健.ITIL中IT基礎(chǔ)架構(gòu)管理模型設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(4):250-253.
?。?] 冉崇善,趙萍.基于ITIL的企業(yè)IT資源服務(wù)系統(tǒng)設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2006,28(5):80-83.
?。?] 胡彬彬.基于ITIL的IT服務(wù)管理中服務(wù)臺的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2006.
?。?] 劉翔,劉家紅.基于SOA架構(gòu)的公安應(yīng)用集成平臺的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(18):45194521.[5] 沈力,何婧,李映紅,等.基于SOA的無線電數(shù)據(jù)共享平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2014,41(6A):463-465.
[6] 劉濤,侯秀萍.基于ESB的SOA架構(gòu)的企業(yè)應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(5):230-233.
?。?] 高巖,張少鑫,張斌,等.基于SOA架構(gòu)Web服務(wù)組合系統(tǒng)[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(4):729-733.
?。?] 王玉娟.基于SOA的科技管理BPM平臺設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2013,40(11A):423-424.