張 斌,張達(dá)敏,馬清鑫
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng) 550025)
基于ITIL的SOA架構(gòu)研究與應(yīng)用*
張 斌,張達(dá)敏,馬清鑫
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng) 550025)
針對(duì)眾多IT企業(yè)在提供IT服務(wù)時(shí)缺乏合理的管理流程、服務(wù)管理能力低下的問題,設(shè)計(jì)了一個(gè)基于ITIL的SOA系統(tǒng)架構(gòu)。架構(gòu)采用分層設(shè)計(jì)的方法,服務(wù)資源由服務(wù)臺(tái)來統(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è)對(duì)服務(wù)系統(tǒng)進(jìn)行構(gòu)建,可以極大地提高企業(yè)的服務(wù)質(zhì)量與服務(wù)管理能力。
IT服務(wù);ITIL;SOA;服務(wù)總線
傳統(tǒng)IT服務(wù)部門在采用面向服務(wù)的系統(tǒng)架構(gòu)(Service-Oriented Architecture,SOA)進(jìn)行企業(yè)系統(tǒng)架構(gòu)設(shè)計(jì)時(shí),往往只專注與技術(shù),采用被動(dòng)服務(wù)的方式,故障的解決主要依靠一些關(guān)鍵技術(shù)人員或工程師,由于缺少相應(yīng)的服務(wù)管理和知識(shí)積累,關(guān)鍵人員的流動(dòng)甚至?xí)斐刹块T業(yè)務(wù)的中斷。很多企業(yè)獲得的效益與投入的成本不成正比,原因可能不是技術(shù)落后,而是缺乏行之有效的管理流程。
因此,在企業(yè)系統(tǒng)的構(gòu)建上要有新的思路,變被動(dòng)服務(wù)為主動(dòng)服務(wù),甚至能夠先知先覺,提前預(yù)測(cè)到可能會(huì)出現(xiàn)的問題,從而能主動(dòng)處理問題。而信息技術(shù)基礎(chǔ)架構(gòu)庫(kù)(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.1 ITIL簡(jiǎn)介
ITIL可以幫助企業(yè)對(duì)IT系統(tǒng)的規(guī)劃、研發(fā)、實(shí)施和運(yùn)營(yíng)進(jìn)行有效的管理,它以流程為導(dǎo)向,以客戶滿意度和服務(wù)品質(zhì)為核心,宗旨是提高IT資源的利用率和質(zhì)量[1-2]。
IT服務(wù)管理(ITSM)是ITIL最核心的模塊,分為十個(gè)流程和一個(gè)職能(服務(wù)臺(tái)職能)。實(shí)施ITSM主要目標(biāo)是提供高質(zhì)量、低成本的服務(wù)。而服務(wù)質(zhì)量的優(yōu)劣不僅僅體現(xiàn)在技術(shù)上,更重要的是體現(xiàn)在流程和服務(wù)臺(tái)的建設(shè)上。服務(wù)臺(tái)是連接服務(wù)提供方與用戶的紐帶,它與服務(wù)管理的眾多流程都有密切的關(guān)系,為用戶提供問題、變更、服務(wù)級(jí)別、發(fā)布、配置等管理的接口[3]。服務(wù)臺(tái)是ITSM的關(guān)鍵組成部分。因此,企業(yè)在實(shí)施ITIL的過程中,要充分理解服務(wù)臺(tái)的職能,并加大建設(shè)力度。
1.2 SOA簡(jiǎn)介
SOA是一種“抽象的、松散耦合的細(xì)粒度軟件架構(gòu)”[4-5],是一種面向接口的軟件架構(gòu)。SOA由服務(wù)提供者、服務(wù)請(qǐng)求者、服務(wù)代理者三個(gè)實(shí)體組成,構(gòu)成SOA的基礎(chǔ)部件主要有WSDL、UDDI和SOAP[6]。
服務(wù)提供者的功能是發(fā)布服務(wù)到服務(wù)代理,并且執(zhí)行服務(wù)消費(fèi)者的服務(wù)請(qǐng)求;服務(wù)消費(fèi)者是服務(wù)請(qǐng)求的發(fā)起者,在向服務(wù)提供者發(fā)送請(qǐng)求時(shí),要先向服務(wù)代理查詢是否有滿足條件的服務(wù),然后根據(jù)服務(wù)信息綁定和調(diào)用服務(wù);服務(wù)代理主要是接受服務(wù)提供者的注冊(cè),并對(duì)服務(wù)進(jìn)行整理以方便服務(wù)請(qǐng)求者查詢。網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(Web Service Definition Language,WSDL)可以借助XML對(duì)服務(wù)進(jìn)行描述;統(tǒng)一描述、發(fā)現(xiàn)和整合規(guī)范(Universal Description Discovery and Integration,UDDI)用于注冊(cè)和查找服務(wù)[7];簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Protocol,SOAP)主要是在請(qǐng)求者和服務(wù)提高者之間傳遞消息。完成一個(gè)請(qǐng)求,首先要在UDDI注冊(cè)表中查詢服務(wù),并取得服務(wù)的WSDL描述,最后由SOAP調(diào)用服務(wù)。
SOA軟件結(jié)構(gòu)如圖1所示。
圖1 SOA軟件結(jié)構(gòu)圖
圖2 服務(wù)臺(tái)的事件處理流程圖
實(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ù)臺(tái)調(diào)配)。
2.1 服務(wù)臺(tái)事件處理流程設(shè)計(jì)
服務(wù)臺(tái)作為溝通IT服務(wù)部門和用戶的唯一通道,其功能與事務(wù)處理流程也最為復(fù)雜。本文設(shè)計(jì)的服務(wù)臺(tái)事件處理流程如下。
首先,用戶向服務(wù)臺(tái)提出事故處理申請(qǐng),服務(wù)臺(tái)將用戶信息進(jìn)行登記,然后事件管理產(chǎn)生一個(gè)事件且處于待處理狀態(tài)。此時(shí)服務(wù)臺(tái)會(huì)根據(jù)事件的類型、事件處理的難易程度進(jìn)行判斷。如果服務(wù)臺(tái)可以自行處理,則其直接處理,處理完成后反饋給用戶,得到用戶確定后就可以關(guān)閉事件。如果服務(wù)臺(tái)不能直接處理,則將事件分派給二線技術(shù)人員進(jìn)行處理。此時(shí),二線某技術(shù)人員可能不會(huì)接受該任務(wù),則事件重新回到待處理的狀態(tài),服務(wù)臺(tái)會(huì)重新進(jìn)行分派。如果二線技術(shù)人員直接接受服務(wù)臺(tái)的分派任務(wù),則技術(shù)員會(huì)根據(jù)事件的具體情況制定解決的方案,方案制定完成后,技術(shù)員會(huì)將解決方案提交服務(wù)臺(tái),由服務(wù)臺(tái)進(jìn)行方案錄庫(kù),以便以后類似問題的處理。在技術(shù)員將方案提交的同時(shí)就可以對(duì)事件進(jìn)行處理,此時(shí)事件可能處于兩種狀態(tài):一種是事件還未處理,則需要等待技術(shù)員盡快解決;二是事件已經(jīng)處理,則將處理結(jié)果提交服務(wù)臺(tái)。服務(wù)臺(tái)會(huì)根據(jù)技術(shù)員的處理結(jié)果進(jìn)行確認(rèn),服務(wù)臺(tái)確認(rèn)后就可以對(duì)用戶進(jìn)行回訪。服務(wù)臺(tái)會(huì)告知用戶請(qǐng)求已經(jīng)解決,用戶會(huì)根據(jù)服務(wù)臺(tái)的提示進(jìn)行確認(rèn),如果故障排除,則服務(wù)臺(tái)將該事件關(guān)閉,如果故障仍未解決,則需要重新解決,直到故障被完全修復(fù)。服務(wù)臺(tái)的事件處理流程如圖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ù)層[5-8]。每一個(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ù)請(qǐng)求發(fā)送給服務(wù)端。從而可以將服務(wù)端底層抽象的用戶數(shù)據(jù)信息直觀地表現(xiàn)出來,以方便用戶進(jìn)行查看。
服務(wù)提供層:主要是ITIL服務(wù)管理模塊,是用戶與服務(wù)提供方進(jìn)行交互的紐帶。該層的工作原理為:首先接收用戶的請(qǐng)求信息,服務(wù)臺(tái)可以根據(jù)用戶的請(qǐng)求將任務(wù)分派給相應(yīng)的技術(shù)人員進(jìn)行處理。另外,服務(wù)臺(tái)會(huì)根據(jù)事件的處理情況,對(duì)事件發(fā)生的原因、解決的辦法、后期可能會(huì)出現(xiàn)的問題等進(jìn)行記錄并進(jìn)行存檔,以方便以后對(duì)類似事件的處理。當(dāng)要想從源頭上徹底解決用戶遇到的問題時(shí),需要更改系統(tǒng)的硬件配置或者對(duì)軟件系統(tǒng)進(jìn)行較大程度的改進(jìn),不僅需要配置管理來解決相關(guān)的問題,還需要變更管理來控制變更的幅度,確保變更順利進(jìn)行。如果處理的變更較大,則需要發(fā)布管理來對(duì)關(guān)鍵硬件或主要軟件進(jìn)行打包或者批處理一組變更,以確保發(fā)布的成功。另外,服務(wù)臺(tái)可以根據(jù)用戶的變更請(qǐng)求進(jìn)行變信息登記,以針對(duì)用戶需求進(jìn)行變更。
服務(wù)總線:是SOA架構(gòu)的基礎(chǔ),它可以將架構(gòu)中的所有服務(wù)進(jìn)行連接[7]。另外,服務(wù)總線中的代理服務(wù)模塊還具有服務(wù)注冊(cè)的功能,用戶可以通過服務(wù)總線進(jìn)行服務(wù)查詢,服務(wù)提供者通過服務(wù)總線進(jìn)行服務(wù)注冊(cè)。通過服務(wù)提供層的服務(wù)調(diào)度模塊,可以調(diào)用已經(jīng)注冊(cè)的服務(wù)。權(quán)限管理主要是可以對(duì)用戶的訪問權(quán)限進(jìn)行定義,不同的操作人員分配不同的角色。安全管理可以保證傳輸?shù)椒?wù)總線中消息的安全可靠性。
圖3 基于ITIL的SOA架構(gòu)圖
工作流引擎是該層的一個(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ā)布,以便對(duì)各個(gè)服務(wù)進(jìn)行查詢與訪問。
組件層:該層主要由產(chǎn)品公共組件、行業(yè)公共組件和核心框架組成。在核心框架中插件框架是遵循一定規(guī)范的應(yīng)用程序接口編寫的程序,它可以根據(jù)不同的用戶對(duì)系統(tǒng)的功能進(jìn)行擴(kuò)展,以實(shí)現(xiàn)系統(tǒng)功能的多樣性。組件框架可以對(duì)數(shù)據(jù)和方法進(jìn)行簡(jiǎn)單封裝,使系統(tǒng)進(jìn)行真正的面向?qū)ο笤O(shè)計(jì)。通過插件框架和組件框架,可以使系統(tǒng)具有兼容性好、易于移植的特點(diǎn)。另外,系統(tǒng)開發(fā)中會(huì)有眾多的數(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ù)信息的存儲(chǔ),例如異常信息數(shù)據(jù)庫(kù)、公共設(shè)施數(shù)據(jù)庫(kù)、系統(tǒng)配置數(shù)據(jù)庫(kù)、問題記錄數(shù)據(jù)庫(kù)以及各種人員信息庫(kù)等。數(shù)據(jù)層主要功能是實(shí)現(xiàn)對(duì)各種數(shù)據(jù)信息的存儲(chǔ)、刪除、更改。另外,元數(shù)據(jù)搜素引擎對(duì)數(shù)據(jù)搜索查詢也主要是在數(shù)據(jù)層進(jìn)行。
本文在上述系統(tǒng)架構(gòu)的基礎(chǔ)上開發(fā)了一套公共設(shè)施巡查系統(tǒng),公共設(shè)施巡查系統(tǒng)的主要角色有服務(wù)臺(tái)、技術(shù)部和管理員三個(gè),該系統(tǒng)的重點(diǎn)是服務(wù)臺(tái)的建設(shè),它可以實(shí)現(xiàn)對(duì)數(shù)據(jù)資源和人員進(jìn)行統(tǒng)一調(diào)配。服務(wù)臺(tái)首先要實(shí)現(xiàn)的功能是請(qǐng)求的接收與請(qǐng)求的登記;其次是問題的分派、問題的跟蹤與回訪;最后是對(duì)故障出現(xiàn)原因、解決方法以及還存在的故障隱患進(jìn)行記錄,以方便后期的查詢與參考。
服務(wù)臺(tái)功能實(shí)現(xiàn)如圖4所示,在服務(wù)臺(tái)功能頁(yè)面左側(cè)得菜單欄是用戶請(qǐng)求所處的狀態(tài),主要有未分派、未處理、位回訪等五種狀態(tài);頁(yè)面的右側(cè)是服務(wù)臺(tái)人員可以對(duì)用戶請(qǐng)求進(jìn)行的操作,主要有分派、處理和關(guān)閉三種。服務(wù)臺(tái)人員可以隨機(jī)點(diǎn)擊一個(gè)序號(hào),查看用戶的請(qǐng)求描述,并根據(jù)描述進(jìn)行相應(yīng)的處理。
本文通過對(duì)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ò)展性。最后,基于該架構(gòu)開發(fā)了一套公共設(shè)施巡查系統(tǒng),實(shí)現(xiàn)了異常信息的早發(fā)現(xiàn)、早上報(bào)、早解決。通過對(duì)系統(tǒng)的測(cè)試表明,該架構(gòu)的設(shè)計(jì)思想是合理可行的。
圖4 服務(wù)臺(tái)功能實(shí)現(xiàn)圖
[1] 楊鈺,吳健.ITIL中IT基礎(chǔ)架構(gòu)管理模型設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(4):250-253.
[2] 冉崇善,趙萍.基于ITIL的企業(yè)IT資源服務(wù)系統(tǒng)設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2006,28(5):80-83.
[3] 胡彬彬.基于ITIL的IT服務(wù)管理中服務(wù)臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2006.
[4] 劉翔,劉家紅.基于SOA架構(gòu)的公安應(yīng)用集成平臺(tái)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(18):4519-4521.
[5] 沈力,何婧,李映紅,等.基于SOA的無線電數(shù)據(jù)共享平臺(tái)的設(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.
[7] 高巖,張少鑫,張斌,等.基于SOA架構(gòu)Web服務(wù)組合系統(tǒng)[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(4):729-733.
[8] 王玉娟.基于SOA的科技管理BPM平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2013,40(11A):423-424.
The research and application of SOA architecture based on ITIL
Zhang Bin,Zhang Damin,Ma Qingxin
(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025,China)
In order to solve the problems such as poor ability of service management, lacking of reasonable management process in many IT enterprises, a service-oriented architecture(SOA) based on information technology infrastructure library(ITIL) is designed in this paper. The development of the system architecture adopts the method of hierarchical. Service resources are deployed uniformly by the service desk. The achievement of service accessing rely on enterprise service bus(ESB).Finally, the architecture is applied to the development of software system. Result shows that the architecture has good expansibility and portability. Using this framework to build service system can improve the enterprise’s service quality and service management capabilities greatly.
IT services; information technology infrastructure library; service-oriented architecture; enterprise service bus
貴州省科技廳省校合作項(xiàng)目(黔科合計(jì)省合[2014]7002號(hào))
TP311.5
A
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.
2016-09-23)
張斌(1990-),男,碩士研究生,主要研究方向:計(jì)算機(jī)應(yīng)用技術(shù),優(yōu)化算法。
張達(dá)敏(1967-),通信作者,男,博士,教授,碩士生導(dǎo)師,主要研究方向:計(jì)算機(jī)應(yīng)用技術(shù)、網(wǎng)絡(luò)擁塞控制。E-mail:1131862413@qq.com。
馬清鑫(1990-),男,碩士研究生,主要研究方向:優(yōu)化算法,服務(wù)調(diào)度。