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