張斌,張達(dá)敏,馬清鑫
?。ㄙF州大學(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ù)的訪(fǎng)問(wèn)依靠ESB(企業(yè)服務(wù)總線(xiàn))來(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ù)總線(xiàn)
中圖分類(lèi)號(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ù)部門(mén)在采用面向服務(wù)的系統(tǒng)架構(gòu)(ServiceOriented Architecture,SOA)進(jìn)行企業(yè)系統(tǒng)架構(gòu)設(shè)計(jì)時(shí),往往只專(zhuān)注與技術(shù),采用被動(dòng)服務(wù)的方式,故障的解決主要依靠一些關(guān)鍵技術(shù)人員或工程師,由于缺少相應(yīng)的服務(wù)管理和知識(shí)積累,關(guān)鍵人員的流動(dòng)甚至?xí)斐刹块T(mén)業(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)向,以客戶(hù)滿(mǎn)意度和服務(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ù)提供方與用戶(hù)的紐帶,它與服務(wù)管理的眾多流程都有密切的關(guān)系,為用戶(hù)提供問(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ù)代理查詢(xún)是否有滿(mǎn)足條件的服務(wù),然后根據(jù)服務(wù)信息綁定和調(diào)用服務(wù);服務(wù)代理主要是接受服務(wù)提供者的注冊(cè),并對(duì)服務(wù)進(jìn)行整理以方便服務(wù)請(qǐng)求者查詢(xún)。網(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ì)象訪(fǎng)問(wèn)協(xié)議(Simple Object Access Protocol,SOAP)主要是在請(qǐng)求者和服務(wù)提高者之間傳遞消息。完成一個(gè)請(qǐng)求,首先要在UDDI注冊(cè)表中查詢(xún)服務(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ù)部門(mén)和用戶(hù)的唯一通道,其功能與事務(wù)處理流程也最為復(fù)雜。本文設(shè)計(jì)的服務(wù)臺(tái)事件處理流程如下。
首先,用戶(hù)向服務(wù)臺(tái)提出事故處理申請(qǐng),服務(wù)臺(tái)將用戶(hù)信息進(jìn)行登記,然后事件管理產(chǎn)生一個(gè)事件且處于待處理狀態(tài)。此時(shí)服務(wù)臺(tái)會(huì)根據(jù)事件的類(lèi)型、事件處理的難易程度進(jìn)行判斷。如果服務(wù)臺(tái)可以自行處理,則其直接處理,處理完成后反饋給用戶(hù),得到用戶(hù)確定后就可以關(guān)閉事件。如果服務(wù)臺(tái)不能直接處理,則將事件分派給二線(xiàn)技術(shù)人員進(jìn)行處理。此時(shí),二線(xiàn)某技術(shù)人員可能不會(huì)接受該任務(wù),則事件重新回到待處理的狀態(tài),服務(wù)臺(tái)會(huì)重新進(jìn)行分派。如果二線(xiàn)技術(shù)人員直接接受服務(wù)臺(tái)的分派任務(wù),則技術(shù)員會(huì)根據(jù)事件的具體情況制定解決的方案,方案制定完成后,技術(shù)員會(huì)將解決方案提交服務(wù)臺(tái),由服務(wù)臺(tái)進(jìn)行方案錄庫(kù),以便以后類(lèi)似問(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ì)用戶(hù)進(jìn)行回訪(fǎng)。服務(wù)臺(tái)會(huì)告知用戶(hù)請(qǐng)求已經(jīng)解決,用戶(hù)會(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ù)總線(xiàn))進(jìn)行連接集成,系統(tǒng)架構(gòu)整體上具有“層內(nèi)高內(nèi)聚,層間松耦合”的特點(diǎn)?;贗TIL的SOA架構(gòu)模型如圖3所示。
應(yīng)用層: 主要是一些用戶(hù)客戶(hù)端或者其他的智能終端設(shè)備,用戶(hù)可以根據(jù)自己的實(shí)際需求在客戶(hù)端界面上進(jìn)行操作,并將服務(wù)請(qǐng)求發(fā)送給服務(wù)端。從而可以將服務(wù)端底層抽象的用戶(hù)數(shù)據(jù)信息直觀地表現(xiàn)出來(lái),以方便用戶(hù)進(jìn)行查看。
服務(wù)提供層:主要是ITIL服務(wù)管理模塊,是用戶(hù)與服務(wù)提供方進(jìn)行交互的紐帶。該層的工作原理為:首先接收用戶(hù)的請(qǐng)求信息,服務(wù)臺(tái)可以根據(jù)用戶(hù)的請(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ì)類(lèi)似事件的處理。當(dāng)要想從源頭上徹底解決用戶(hù)遇到的問(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ù)用戶(hù)的變更請(qǐng)求進(jìn)行變信息登記,以針對(duì)用戶(hù)需求進(jìn)行變更。
服務(wù)總線(xiàn):是SOA架構(gòu)圖3基于ITIL的SOA架構(gòu)圖的基礎(chǔ),它可以將架構(gòu)中的所有服務(wù)進(jìn)行連接[7]。另外,服務(wù)總線(xiàn)中的代理服務(wù)模塊還具有服務(wù)注冊(cè)的功能,用戶(hù)可以通過(guò)服務(wù)總線(xiàn)進(jìn)行服務(wù)查詢(xún),服務(wù)提供者通過(guò)服務(wù)總線(xiàn)進(jìn)行服務(wù)注冊(cè)。通過(guò)服務(wù)提供層的服務(wù)調(diào)度模塊,可以調(diào)用已經(jīng)注冊(cè)的服務(wù)。權(quán)限管理主要是可以對(duì)用戶(hù)的訪(fǎng)問(wèn)權(quán)限進(jìn)行定義,不同的操作人員分配不同的角色。安全管理可以保證傳輸?shù)椒?wù)總線(xiàn)中消息的安全可靠性。
工作流引擎是該層的一個(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ù)總線(xiàn)進(jìn)行發(fā)布,以便對(duì)各個(gè)服務(wù)進(jìn)行查詢(xún)與訪(fǎng)問(wèn)。
組件層:該層主要由產(chǎn)品公共組件、行業(yè)公共組件和核心框架組成。在核心框架中插件框架是遵循一定規(guī)范的應(yīng)用程序接口編寫(xiě)的程序,它可以根據(jù)不同的用戶(hù)對(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)用戶(hù)需要獲得數(shù)據(jù)信息時(shí),可以由元數(shù)據(jù)引擎進(jìn)行搜索,并將相應(yīng)的數(shù)據(jù)信息反饋給用戶(hù)。
產(chǎn)品公共組件中的規(guī)則引擎可以視為一個(gè)組件,是外部Java程序調(diào)用規(guī)則包的一組Java類(lèi),主要是將業(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ù)搜索查詢(xún)也主要是在數(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)題的跟蹤與回訪(fǎng);最后是對(duì)故障出現(xiàn)原因、解決方法以及還存在的故障隱患進(jìn)行記錄,以方便后期的查詢(xún)與參考。
服務(wù)臺(tái)功能實(shí)現(xiàn)如圖4所示,在服務(wù)臺(tái)功能頁(yè)面左側(cè)得菜單欄是用戶(hù)請(qǐng)求所處的狀態(tài),主要有未分派、未處理、位回訪(fǎng)等五種狀態(tài);頁(yè)面的右側(cè)是服務(wù)臺(tái)人員可以對(duì)用戶(hù)請(qǐng)求進(jìn)行的操作,主要有分派、處理和關(guān)閉三種。服務(wù)臺(tái)人員可以隨機(jī)點(diǎn)擊一個(gè)序號(hào),查看用戶(hù)的請(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)
?。?] 楊鈺,吳健.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.
?。?] 胡彬彬.基于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ú)線(xiàn)電數(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.
?。?] 高巖,張少鑫,張斌,等.基于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.