張斌,,張達(dá)敏,,馬清鑫
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,,貴州 貴陽(yáng) 550025)
摘要:針對(duì)眾多IT企業(yè)在提供IT服務(wù)時(shí)缺乏合理的管理流程,、服務(wù)管理能力低下的問(wèn)題,設(shè)計(jì)了一個(gè)基于ITIL的SOA系統(tǒng)架構(gòu),。架構(gòu)采用分層設(shè)計(jì)的方法,,服務(wù)資源由服務(wù)臺(tái)來(lái)統(tǒng)一調(diào)配,服務(wù)的訪問(wèn)依靠ESB(企業(yè)服務(wù)總線)來(lái)完成,。最后,,將該架構(gòu)應(yīng)用于系統(tǒng)的開(kāi)發(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ù)管理能力,。
關(guān)鍵詞:IT服務(wù);ITIL;SOA;服務(wù)總線
中圖分類號(hào):TP311.5文獻(xiàn)標(biāo)識(shí)碼: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號(hào))傳統(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ù)管理和知識(shí)積累,,關(guān)鍵人員的流動(dòng)甚至?xí)斐刹块T業(yè)務(wù)的中斷,。很多企業(yè)獲得的效益與投入的成本不成正比,原因可能不是技術(shù)落后,,而是缺乏行之有效的管理流程,。
因此,在企業(yè)系統(tǒng)的構(gòu)建上要有新的思路,,變被動(dòng)服務(wù)為主動(dòng)服務(wù),,甚至能夠先知先覺(jué),提前預(yù)測(cè)到可能會(huì)出現(xiàn)的問(wèn)題,,從而能主動(dòng)處理問(wèn)題,。而信息技術(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相關(guān)技術(shù)介紹
1.1ITIL簡(jiǎn)介
ITIL可以幫助企業(yè)對(duì)IT系統(tǒng)的規(guī)劃,、研發(fā)、實(shí)施和運(yùn)營(yíng)進(jìn)行有效的管理,,它以流程為導(dǎo)向,,以客戶滿意度和服務(wù)品質(zhì)為核心,宗旨是提高IT資源的利用率和質(zhì)量[12],。
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èn)題、變更,、服務(wù)級(jí)別,、發(fā)布、配置等管理的接口[3],。服務(wù)臺(tái)是ITSM的關(guān)鍵組成部分。因此,,企業(yè)在實(shí)施ITIL的過(guò)程中,,要充分理解服務(wù)臺(tái)的職能,并加大建設(shè)力度,。
1.2SOA簡(jiǎn)介
SOA是一種“抽象的,、松散耦合的細(xì)粒度軟件架構(gòu)”[45],是一種面向接口的軟件架構(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ì)象訪問(wèn)協(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所示,。
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ù)臺(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ù),,以便以后類似問(wèn)題的處理,。在技術(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ù)層[58],。每一個(gè)服務(wù)都是通過(guò)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)出來(lái),,以方便用戶進(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)的問(wèn)題等進(jìn)行記錄并進(jìn)行存檔,以方便以后對(duì)類似事件的處理,。當(dāng)要想從源頭上徹底解決用戶遇到的問(wèn)題時(shí),,需要更改系統(tǒng)的硬件配置或者對(duì)軟件系統(tǒng)進(jìn)行較大程度的改進(jìn),不僅需要配置管理來(lái)解決相關(guān)的問(wèn)題,,還需要變更管理來(lái)控制變更的幅度,,確保變更順利進(jìn)行。如果處理的變更較大,,則需要發(fā)布管理來(lái)對(duì)關(guān)鍵硬件或主要軟件進(jìn)行打包或者批處理一組變更,,以確保發(fā)布的成功,。另外,服務(wù)臺(tái)可以根據(jù)用戶的變更請(qǐng)求進(jìn)行變信息登記,,以針對(duì)用戶需求進(jìn)行變更,。
服務(wù)總線:是SOA架構(gòu)圖3基于ITIL的SOA架構(gòu)圖的基礎(chǔ),它可以將架構(gòu)中的所有服務(wù)進(jìn)行連接[7],。另外,,服務(wù)總線中的代理服務(wù)模塊還具有服務(wù)注冊(cè)的功能,用戶可以通過(guò)服務(wù)總線進(jìn)行服務(wù)查詢,,服務(wù)提供者通過(guò)服務(wù)總線進(jìn)行服務(wù)注冊(cè),。通過(guò)服務(wù)提供層的服務(wù)調(diào)度模塊,可以調(diào)用已經(jīng)注冊(cè)的服務(wù),。權(quán)限管理主要是可以對(duì)用戶的訪問(wèn)權(quán)限進(jìn)行定義,,不同的操作人員分配不同的角色。安全管理可以保證傳輸?shù)椒?wù)總線中消息的安全可靠性,。
工作流引擎是該層的一個(gè)重要模塊,,它可以將應(yīng)用程序的不同功能單元通過(guò)服務(wù)之間定義的接口和契約聯(lián)系起來(lái),使各個(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ù)通過(guò)服務(wù)總線進(jìn)行發(fā)布,以便對(duì)各個(gè)服務(wù)進(jìn)行查詢與訪問(wè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ì),。通過(guò)插件框架和組件框架,可以使系統(tǒng)具有兼容性好,、易于移植的特點(diǎn),。另外,系統(tǒng)開(kāi)發(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)用程序代碼中分離出來(lái),,它可以接受數(shù)據(jù)輸入,,解釋業(yè)務(wù)規(guī)則并作出業(yè)務(wù)決策。
數(shù)據(jù)層: 主要完成數(shù)據(jù)信息的存儲(chǔ),,例如異常信息數(shù)據(jù)庫(kù),、公共設(shè)施數(shù)據(jù)庫(kù)、系統(tǒng)配置數(shù)據(jù)庫(kù),、問(wèn)題記錄數(shù)據(jù)庫(kù)以及各種人員信息庫(kù)等,。數(shù)據(jù)層主要功能是實(shí)現(xiàn)對(duì)各種數(shù)據(jù)信息的存儲(chǔ)、刪除,、更改,。另外,元數(shù)據(jù)搜素引擎對(duì)數(shù)據(jù)搜索查詢也主要是在數(shù)據(jù)層進(jìn)行,。
3架構(gòu)應(yīng)用
本文在上述系統(tǒng)架構(gòu)的基礎(chǔ)上開(kāi)發(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)求的登記,;其次是問(wèn)題的分派、問(wèn)題的跟蹤與回訪,;最后是對(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)的處理,。
4結(jié)論
本文通過(guò)對(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ò)展性,。最后,,基圖4服務(wù)臺(tái)功能實(shí)現(xiàn)圖于該架構(gòu)開(kāi)發(fā)了一套公共設(shè)施巡查系統(tǒng),實(shí)現(xiàn)了異常信息的早發(fā)現(xiàn),、早上報(bào),、早解決。通過(guò)對(duì)系統(tǒng)的測(cè)試表明,,該架構(gòu)的設(shè)計(jì)思想是合理可行的,。
參考文獻(xiàn)
[1] 楊鈺,吳健.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ù)臺(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):45194521.[5] 沈力,何婧,李映紅,,等.基于SOA的無(wú)線電數(shù)據(jù)共享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2014,41(6A):463-465.
?。?] 劉濤,侯秀萍.基于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.
?。?] 王玉娟.基于SOA的科技管理BPM平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2013,40(11A):423-424.