張斌,,張達敏,馬清鑫
?。ㄙF州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,,貴州 貴陽 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ù)管理能力。
關(guān)鍵詞:IT服務(wù);ITIL;SOA;服務(wù)總線
中圖分類號:TP311.5文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.021
引用格式:張斌,,張達敏,,馬清鑫. 基于ITIL的SOA架構(gòu)研究與應(yīng)用[J].微型機與應(yīng)用,2017,36(6):68-71.
0引言
*基金項目:貴州省科技廳省校合作項目(黔科合計省合[2014]7002號)傳統(tǒng)IT服務(wù)部門在采用面向服務(wù)的系統(tǒng)架構(gòu)(ServiceOriented Architecture,,SOA)進行企業(yè)系統(tǒng)架構(gòu)設(shè)計時,,往往只專注與技術(shù),采用被動服務(wù)的方式,,故障的解決主要依靠一些關(guān)鍵技術(shù)人員或工程師,,由于缺少相應(yīng)的服務(wù)管理和知識積累,關(guān)鍵人員的流動甚至?xí)斐刹块T業(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相關(guān)技術(shù)介紹
1.1ITIL簡介
ITIL可以幫助企業(yè)對IT系統(tǒng)的規(guī)劃、研發(fā),、實施和運營進行有效的管理,,它以流程為導(dǎo)向,以客戶滿意度和服務(wù)品質(zhì)為核心,,宗旨是提高IT資源的利用率和質(zhì)量[12]。
IT服務(wù)管理(ITSM)是ITIL最核心的模塊,,分為十個流程和一個職能(服務(wù)臺職能),。實施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è)在實施ITIL的過程中,,要充分理解服務(wù)臺的職能,,并加大建設(shè)力度。
1.2SOA簡介
SOA是一種“抽象的,、松散耦合的細粒度軟件架構(gòu)”[45],,是一種面向接口的軟件架構(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所示。
2基于ITIL的SOA架構(gòu)
實施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é)果進行確認(rèn),服務(wù)臺確認(rèn)后就可以對用戶進行回訪,。服務(wù)臺會告知用戶請求已經(jīng)解決,,用戶會根據(jù)服務(wù)臺的提示進行確認(rèn),,如果故障排除,,則服務(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ù)層[58],。每一個服務(wù)都是通過ESB(企業(yè)服務(wù)總線)進行連接集成,,系統(tǒng)架構(gòu)整體上具有“層內(nèi)高內(nèi)聚,層間松耦合”的特點?;贗TIL的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)的問題等進行記錄并進行存檔,,以方便以后對類似事件的處理,。當(dāng)要想從源頭上徹底解決用戶遇到的問題時,需要更改系統(tǒng)的硬件配置或者對軟件系統(tǒng)進行較大程度的改進,,不僅需要配置管理來解決相關(guān)的問題,,還需要變更管理來控制變更的幅度,確保變更順利進行,。如果處理的變更較大,,則需要發(fā)布管理來對關(guān)鍵硬件或主要軟件進行打包或者批處理一組變更,以確保發(fā)布的成功,。另外,,服務(wù)臺可以根據(jù)用戶的變更請求進行變信息登記,以針對用戶需求進行變更,。
服務(wù)總線:是SOA架構(gòu)圖3基于ITIL的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ù)總線中消息的安全可靠性,。
工作流引擎是該層的一個重要模塊,它可以將應(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)中是不可或缺的。當(dā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ù)層進行。
3架構(gòu)應(yīng)用
本文在上述系統(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)的處理,。
4結(jié)論
本文通過對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)也具有較好的移植性和可擴展性。最后,,基圖4服務(wù)臺功能實現(xiàn)圖于該架構(gòu)開發(fā)了一套公共設(shè)施巡查系統(tǒng),,實現(xiàn)了異常信息的早發(fā)現(xiàn),、早上報、早解決,。通過對系統(tǒng)的測試表明,,該架構(gòu)的設(shè)計思想是合理可行的。
參考文獻
?。?] 楊鈺,吳健.ITIL中IT基礎(chǔ)架構(gòu)管理模型設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2007,17(4):250-253.
?。?] 冉崇善,趙萍.基于ITIL的企業(yè)IT資源服務(wù)系統(tǒng)設(shè)計[J].武漢理工大學(xué)學(xué)報,2006,28(5):80-83.
[3] 胡彬彬.基于ITIL的IT服務(wù)管理中服務(wù)臺的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2006.
?。?] 劉翔,劉家紅.基于SOA架構(gòu)的公安應(yīng)用集成平臺的研究與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(18):45194521.[5] 沈力,何婧,李映紅,,等.基于SOA的無線電數(shù)據(jù)共享平臺的設(shè)計與實現(xiàn)[J].計算機科學(xué),2014,41(6A):463-465.
[6] 劉濤,侯秀萍.基于ESB的SOA架構(gòu)的企業(yè)應(yīng)用研究[J].計算機技術(shù)與發(fā)展,2010,20(5):230-233.
?。?] 高巖,張少鑫,張斌,,等.基于SOA架構(gòu)Web服務(wù)組合系統(tǒng)[J].小型微型計算機系統(tǒng),2007,28(4):729-733.
[8] 王玉娟.基于SOA的科技管理BPM平臺設(shè)計與實現(xiàn)[J].計算機科學(xué),2013,40(11A):423-424.