刘勇
(商洛学院图书馆,陕西商洛 726000)
随着高等教育改革的逐步推进和高校办学规模的持续扩大,国内外高校将计算机技术和网络技术等现代信息技术应用到教育领域,从构建基础设施、积累信息资源等角度入手建设数字化校园,实现信息资源的高效利用和组织管理[1-2]。实践教学是培养学生创新意识和实践能力的重要途径,同时也是高校教学的重要组成部分,具有理论教学不可替代的作用,直接关系到能否实现高校人才培养的目标[3-4]。教育部《关于进一步加强高校实践育人工作的若干意见》(教思政〔2012〕1号)中明确提出要“强化实践教学环节,深化实践教学方法改革”,要求各高校,特别是地方本科高校要保证实践教学质量。目前,虽然各高校在实习实践及教学管理的各个环节中引入计算机技术和网络技术,但其使用的管理,系统之间的数据信息描述格式不统一,数据信息的共享交换和集成比较困难,不同系统之间仍然存在大量冗余信息,造成实践教学及管理的大多数环节仍然是半手工操作的模式,只是在形式上实现电子化,不能满足信息化教学与管理的要求。
针对实践教学管理系统中的资源浪费和信息孤岛等问题,利用面向服务架构的思想体系,应用Web Services技术,设计并实现轻量级的面向服务的实践教学服务管理系统,为实践教学系统的高效管理提供了可视化的、可扩展的信息平台,提升实践教学管理服务水平。
面向服务架构(SOA)是一个组件模型,它以服务层为基础,以一种统一和通用的方式进行交互,而不涉及底层编程接口和通讯模型[5-6]。SOA架构中有三种角色:服务提供者、服务请求者和服务中介。服务提供者将调试正确后的服务通过服务中介进行发布,并在注册中心注册,供服务请求者检索;服务请求者向服务中介请求查询所需的特定服务,服务中介根据请求查询注册中心,为服务请求者寻找满足请求的服务;服务中介向服务请求者返回满足条件的服务描述信息,利用服务中介返回的描述信息,生成相应的消息,并将消息发送给服务提供者,从而实现服务的绑定调用。因此,SOA架构总体上具有松散耦合、平台独立、代码重用和语言无关等优势,其工作流程如图1所示。
图1 SOA中的组件及其工作流程
目前,实现SOA架构的主要有Web Services、CORBA、DCOM 和 RMI等技术, 其中Web Services技术对SOA应用支持最好,被广泛应用于SOA的实现技术。Web Services是一套标准,其描述了一组使用XML消息通过网络访问的操作。Web Services技术通过SOAP(简单对象访问协议)接收和传输来自因特网或者其它服务系统的请求信息,并且利用WSDL(Web服务描述语言)对服务信息进行描述说明,使用UDDI(统一描述、发现和集成)进行软件服务注册和查找。
实践教学服务管理系统作为虚拟实验室管理服务、文档管理服务、课程管理服务以及用户管理服务的集成服务管理系统,具有服务注册、服务查询和服务管理三大功能。通过服务注册、查询、修改及删除等功能,实现实践教学系统的高效管理,其系统功能框图如图2所示。
图2 实践教学服务管理系统功能
服务注册功能是实现服务集成系统的基础,具有承上启下的作用,后续的服务查询和管理功能需要在此基础上实现。利用服务注册将实验室管理服务、课程管理服务等符合SOA接口规范的服务名称、协议号、端口号以及IP地址等服务信息,注册录入到服务管理集成系统的后台数据库中,提示服务注册成功。否则,返回服务注册失败。
服务查询功能是服务请求者根据服务名称、协议号、端口号以及IP地址等查询要求,利用SOA向服务管理集成系统发送查询条件等服务请求信息,服务管理集成系统依据查询筛选条件,通过后台数据库检索查询其所需要的服务信息。若查询成功,则将其所查询的服务信息以界面的形式返回给服务请求者。否则,提示无此服务信息。
服务管理功能综合了服务注册与服务查询功能,是服务集成系统的高效管理平台。利用服务管理对已经注册的服务信息进行界面化的浏览、增加、删除和修改,提高服务管理系统的效率。
系统采用Access 2010作为后台数据库,根据系统功能要求,需要有服务名称、服务端口、服务地址和服务协议等服务信息,因此,数据库设计为一个service表,含有五个字段,分别为:id(服务序号),name(服务名称),port(服务端口),address(服务地址)和protocol(服务协议),数据库data中的service表的结构,如表1所示。
表1 数据库data中的service表结构
根据功能需求和设计方案,系统采用C/S(Client/Service)架构,在Microsoft Visual Studio 2010开发平台中利用C#语言实现Web Services的服务接口,实现了基于SOA的实践教学管理系统的服务注册、服务查询以及服务的浏览、增加、删除和修改等管理功能。客户端主要包括注册服务、查询服务和管理服务等方面,服务器端口主要包括后台数据库连接、服务器建立、服务器端应用配置等部分。
服务管理者通过网络登录服务管理系统,进入服务管理界面,通过注册功能将增加的服务信息记录并保存于后台数据库,即可完成注册过程。系统注册模块利用Web Service服务,通过调用Regist接口实现服务名称、服务地址、服务协议以及服务端口等信息的注册,返回“注册成功”。注册模块的关键代码如下,其运行界面如图3所示。
图3 服务注册运行界面
服务管理者登录到服务集成系统后,通过输入服务查询筛选条件,将其所查询的服务端口、服务的IP地址以及服务的协议等服务信息以界面的形式显示出来。系统查询模块利用Web Service服务,通过调用Query接口,要求输入服务名称,根据输入的服务名称查询条件,若找到,即返回服务地址、服务协议以及服务端口等信息,否则提示“无此服务记录”。查询模块的关键代码如下,其运行界面如图4所示。
图4 服务查询运行界面
3.3.1 删除服务
系统删除服务模块利用Web Service服务,通过调用Delete接口,根据选择的服务名称条件,若找到相应的服务,即清空服务名称、服务地址、服务协议以及服务端口等信息,返回“删除服务成功”。否则,提示“删除服务失败”。删除模块的关键代码如下,其运行界面如图5所示。
图5 服务删除运行界面
3.3.2 修改服务
系统修改服务模块利用Web Service服务,通过调用Update接口,将修改输入的服务名称、服务地址、服务协议以及服务端口等信息更新至后台数据库,返回“修改服务成功”。否则,提示“修改服务失败”。修改服务模块的关键代码如下,其运行界面如图6所示。
图6 服务修改运行界面
3.3.3 浏览服务
系统浏览服务模块利用Web Service服务,通过调用FormQuery_Load接口,应用GetService方法获取服务名称、服务地址、服务协议以及服务端口等信息并以表单界面的形式显示所获取的服务信息。浏览服务模块的关键代码如下:
利用面向服务架构的思想体系,应用Web Services技术,结合C#语言和ACCESS数据库,设计并实现了轻量级的以服务为典型特征的实践教学服务管理系统。系统运行稳定,操作方便,其功能达到了设计要求,增强了服务管理系统的信息交互,实现了服务管理系统的资源整合,为实践教学服务系统的高效管理提供了可视化的、可扩展的信息平台。但对于系统的并发访问问题,尚待进一步研究。