基于ITIL的SOA架构研究与应用*
2017-04-13张达敏马清鑫
张 斌,张达敏,马清鑫
(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)
基于ITIL的SOA架构研究与应用*
张 斌,张达敏,马清鑫
(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)
针对众多IT企业在提供IT服务时缺乏合理的管理流程、服务管理能力低下的问题,设计了一个基于ITIL的SOA系统架构。架构采用分层设计的方法,服务资源由服务台来统一调配,服务的访问依靠ESB(企业服务总线)来完成。最后,将该架构应用于系统的开发,结果表明,该架构具有扩展性好、移植性强的特点。用该架构指导企业对服务系统进行构建,可以极大地提高企业的服务质量与服务管理能力。
IT服务;ITIL;SOA;服务总线
0 引言
传统IT服务部门在采用面向服务的系统架构(Service-Oriented Architecture,SOA)进行企业系统架构设计时,往往只专注与技术,采用被动服务的方式,故障的解决主要依靠一些关键技术人员或工程师,由于缺少相应的服务管理和知识积累,关键人员的流动甚至会造成部门业务的中断。很多企业获得的效益与投入的成本不成正比,原因可能不是技术落后,而是缺乏行之有效的管理流程。
因此,在企业系统的构建上要有新的思路,变被动服务为主动服务,甚至能够先知先觉,提前预测到可能会出现的问题,从而能主动处理问题。而信息技术基础架构库(Information Technology Infrastructure Library,ITIL)则能够将这种可能变成现实。本文在研究在ITIL规范及SOA架构的基础上设计了基于ITIL的SOA系统架构,并将其实际应用于公共设施巡查系统中,从而验证本文设计思路的可行性。
1 相关技术介绍
1.1 ITIL简介
ITIL可以帮助企业对IT系统的规划、研发、实施和运营进行有效的管理,它以流程为导向,以客户满意度和服务品质为核心,宗旨是提高IT资源的利用率和质量[1-2]。
IT服务管理(ITSM)是ITIL最核心的模块,分为十个流程和一个职能(服务台职能)。实施ITSM主要目标是提供高质量、低成本的服务。而服务质量的优劣不仅仅体现在技术上,更重要的是体现在流程和服务台的建设上。服务台是连接服务提供方与用户的纽带,它与服务管理的众多流程都有密切的关系,为用户提供问题、变更、服务级别、发布、配置等管理的接口[3]。服务台是ITSM的关键组成部分。因此,企业在实施ITIL的过程中,要充分理解服务台的职能,并加大建设力度。
1.2 SOA简介
SOA是一种“抽象的、松散耦合的细粒度软件架构”[4-5],是一种面向接口的软件架构。SOA由服务提供者、服务请求者、服务代理者三个实体组成,构成SOA的基础部件主要有WSDL、UDDI和SOAP[6]。
服务提供者的功能是发布服务到服务代理,并且执行服务消费者的服务请求;服务消费者是服务请求的发起者,在向服务提供者发送请求时,要先向服务代理查询是否有满足条件的服务,然后根据服务信息绑定和调用服务;服务代理主要是接受服务提供者的注册,并对服务进行整理以方便服务请求者查询。网络服务描述语言(Web Service Definition Language,WSDL)可以借助XML对服务进行描述;统一描述、发现和整合规范(Universal Description Discovery and Integration,UDDI)用于注册和查找服务[7];简单对象访问协议(Simple Object Access Protocol,SOAP)主要是在请求者和服务提高者之间传递消息。完成一个请求,首先要在UDDI注册表中查询服务,并取得服务的WSDL描述,最后由SOAP调用服务。
SOA软件结构如图1所示。
图1 SOA软件结构图
图2 服务台的事件处理流程图
2 基于ITIL的SOA架构
实施ITIL的目的是提高服务的质量,SOA的核心理念是面向服务,因此将两者结合进行系统架构的设计,不仅延续了传统架构以技术为核心的做法,而且在架构设计时兼顾了业务流程,同时又可以发挥人员的能动性(可由服务台调配)。
2.1 服务台事件处理流程设计
服务台作为沟通IT服务部门和用户的唯一通道,其功能与事务处理流程也最为复杂。本文设计的服务台事件处理流程如下。
首先,用户向服务台提出事故处理申请,服务台将用户信息进行登记,然后事件管理产生一个事件且处于待处理状态。此时服务台会根据事件的类型、事件处理的难易程度进行判断。如果服务台可以自行处理,则其直接处理,处理完成后反馈给用户,得到用户确定后就可以关闭事件。如果服务台不能直接处理,则将事件分派给二线技术人员进行处理。此时,二线某技术人员可能不会接受该任务,则事件重新回到待处理的状态,服务台会重新进行分派。如果二线技术人员直接接受服务台的分派任务,则技术员会根据事件的具体情况制定解决的方案,方案制定完成后,技术员会将解决方案提交服务台,由服务台进行方案录库,以便以后类似问题的处理。在技术员将方案提交的同时就可以对事件进行处理,此时事件可能处于两种状态:一种是事件还未处理,则需要等待技术员尽快解决;二是事件已经处理,则将处理结果提交服务台。服务台会根据技术员的处理结果进行确认,服务台确认后就可以对用户进行回访。服务台会告知用户请求已经解决,用户会根据服务台的提示进行确认,如果故障排除,则服务台将该事件关闭,如果故障仍未解决,则需要重新解决,直到故障被完全修复。服务台的事件处理流程如图2所示。
2.2 系统架构设计
本文进行系统架构的设计时采用分层设计的思想,主要分为五层,分别是应用层、服务提供层、服务组合层、组件层和数据层[5-8]。每一个服务都是通过ESB(企业服务总线)进行连接集成,系统架构整体上具有“层内高内聚,层间松耦合”的特点。基于ITIL的SOA架构模型如图3所示。
应用层: 主要是一些用户客户端或者其他的智能终端设备,用户可以根据自己的实际需求在客户端界面上进行操作,并将服务请求发送给服务端。从而可以将服务端底层抽象的用户数据信息直观地表现出来,以方便用户进行查看。
服务提供层:主要是ITIL服务管理模块,是用户与服务提供方进行交互的纽带。该层的工作原理为:首先接收用户的请求信息,服务台可以根据用户的请求将任务分派给相应的技术人员进行处理。另外,服务台会根据事件的处理情况,对事件发生的原因、解决的办法、后期可能会出现的问题等进行记录并进行存档,以方便以后对类似事件的处理。当要想从源头上彻底解决用户遇到的问题时,需要更改系统的硬件配置或者对软件系统进行较大程度的改进,不仅需要配置管理来解决相关的问题,还需要变更管理来控制变更的幅度,确保变更顺利进行。如果处理的变更较大,则需要发布管理来对关键硬件或主要软件进行打包或者批处理一组变更,以确保发布的成功。另外,服务台可以根据用户的变更请求进行变信息登记,以针对用户需求进行变更。
服务总线:是SOA架构的基础,它可以将架构中的所有服务进行连接[7]。另外,服务总线中的代理服务模块还具有服务注册的功能,用户可以通过服务总线进行服务查询,服务提供者通过服务总线进行服务注册。通过服务提供层的服务调度模块,可以调用已经注册的服务。权限管理主要是可以对用户的访问权限进行定义,不同的操作人员分配不同的角色。安全管理可以保证传输到服务总线中消息的安全可靠性。
图3 基于ITIL的SOA架构图
工作流引擎是该层的一个重要模块,它可以将应用程序的不同功能单元通过服务之间定义的接口和契约联系起来,使各个服务可以以一种统一和通用的方式进行交互。
服务组合层:该层的作用是进行服务的整合,服务可以分为粗粒度服务和细粒度服务。原子服务是以实体为核心的细粒度服务;组合服务是将原子服务进行组合而成,属于粗粒度服务[9]。原子服务一般不能单独使用,因此需要将原子服务整合为组合服务。组合服务通过服务总线进行发布,以便对各个服务进行查询与访问。
组件层:该层主要由产品公共组件、行业公共组件和核心框架组成。在核心框架中插件框架是遵循一定规范的应用程序接口编写的程序,它可以根据不同的用户对系统的功能进行扩展,以实现系统功能的多样性。组件框架可以对数据和方法进行简单封装,使系统进行真正的面向对象设计。通过插件框架和组件框架,可以使系统具有兼容性好、易于移植的特点。另外,系统开发中会有众多的数据需要处理,元数据在系统中是不可或缺的。当用户需要获得数据信息时,可以由元数据引擎进行搜索,并将相应的数据信息反馈给用户。
产品公共组件中的规则引擎可以视为一个组件,是外部Java程序调用规则包的一组Java类,主要是将业务决策从应用程序代码中分离出来,它可以接受数据输入,解释业务规则并作出业务决策。
数据层: 主要完成数据信息的存储,例如异常信息数据库、公共设施数据库、系统配置数据库、问题记录数据库以及各种人员信息库等。数据层主要功能是实现对各种数据信息的存储、删除、更改。另外,元数据搜素引擎对数据搜索查询也主要是在数据层进行。
3 架构应用
本文在上述系统架构的基础上开发了一套公共设施巡查系统,公共设施巡查系统的主要角色有服务台、技术部和管理员三个,该系统的重点是服务台的建设,它可以实现对数据资源和人员进行统一调配。服务台首先要实现的功能是请求的接收与请求的登记;其次是问题的分派、问题的跟踪与回访;最后是对故障出现原因、解决方法以及还存在的故障隐患进行记录,以方便后期的查询与参考。
服务台功能实现如图4所示,在服务台功能页面左侧得菜单栏是用户请求所处的状态,主要有未分派、未处理、位回访等五种状态;页面的右侧是服务台人员可以对用户请求进行的操作,主要有分派、处理和关闭三种。服务台人员可以随机点击一个序号,查看用户的请求描述,并根据描述进行相应的处理。
4 结论
本文通过对ITIL和SOA架构进行研究,设计了基于ITIL的SOA系统架构。在架构设计上引入ITIL规范,既延续了传统的以技术为核心的思想,又兼顾以业务处理流程为导向的理念。分层设计、模块化实现的设计思想,又使得系统架构具有“层内高内聚,层间松耦合”的特点。因此,该架构也具有较好的移植性和可扩展性。最后,基于该架构开发了一套公共设施巡查系统,实现了异常信息的早发现、早上报、早解决。通过对系统的测试表明,该架构的设计思想是合理可行的。
图4 服务台功能实现图
[1] 杨钰,吴健.ITIL中IT基础架构管理模型设计与实现[J].计算机技术与发展,2007,17(4):250-253.
[2] 冉崇善,赵萍.基于ITIL的企业IT资源服务系统设计[J].武汉理工大学学报,2006,28(5):80-83.
[3] 胡彬彬.基于ITIL的IT服务管理中服务台的设计与实现[D].北京:北京邮电大学,2006.
[4] 刘翔,刘家红.基于SOA架构的公安应用集成平台的研究与实现[J].计算机工程与设计,2007,28(18):4519-4521.
[5] 沈力,何婧,李映红,等.基于SOA的无线电数据共享平台的设计与实现[J].计算机科学,2014,41(6A):463-465.
[6] 刘涛,侯秀萍.基于ESB的SOA架构的企业应用研究[J].计算机技术与发展,2010,20(5):230-233.
[7] 高岩,张少鑫,张斌,等.基于SOA架构Web服务组合系统[J].小型微型计算机系统,2007,28(4):729-733.
[8] 王玉娟.基于SOA的科技管理BPM平台设计与实现[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架构研究与应用[J].微型机与应用,2017,36(6):68-71.
2016-09-23)
张斌(1990-),男,硕士研究生,主要研究方向:计算机应用技术,优化算法。
张达敏(1967-),通信作者,男,博士,教授,硕士生导师,主要研究方向:计算机应用技术、网络拥塞控制。E-mail:1131862413@qq.com。
马清鑫(1990-),男,硕士研究生,主要研究方向:优化算法,服务调度。