欢迎来到学术参考网

基于SOA的实验教学管理原型系统的研究

发布时间:2015-07-01 16:34
摘 要:针对高等院校实验教学管理的实际应用,论述了基于soa的实验教学管理原型系统的开发和设计、实施过程。通过对高校实验教学流程的分析,着重探讨了如何通过soa关键技术和工作流技术来实现一个基于soa的实验教学管理系统的原型系统,通过该系统,可以使高校实验教学管理系统得到整合,达到提升实验教学管理水平的目的。关键词:soa; slemm; 实验教学管理;工作流技术
  中图分类号:tn911-34; tp311 文献标识码:a
  文章编号:1004-373x(2010)22-0042-04
  
  research of soa-based laboratory education management prototype system
  deng rong
  (chongqing vocational institute of engineering, chongqing 400037, china)
  abstract: the development, design and implementation process of soa-based laboratory education management prototype system are introduced for the practical application of laboratory education management in high schools. it mainly analyzes the workflow, and discusses the prototype system of soa-based laboratory education management through soa key technology. the laboratory education management system can be integrated, and the management level can be ds: soa; slemm; laboratory education management; workflow technology
  收稿日期:2010-06-03
  基金项目:重庆市高等教育教学改革研究重点项目:煤矿安全网络监控实训教学研究实践(09-2-129)
  
  目前在国内众多高等院校的实验教学管理中,很多学校都构建了实验教学管理系统或实验室管理系统。这些系统从功能上主要服务于实验教学和实验室管理,常见的功能包括实验课程管理、计算机机房管理、实验设备管理、门禁管理和实验室人员管理等。这些系统在实际的实验教学中发挥了积极的作用,促进了实验教学活动的有序开展。然而,随着校园网络化建设的实施,高等院校对整个高校的信息化管理提出了更高的要求,其中焦点问题是如何通过有效的技术手段将现有若干信息系统有效地整合起来,形成统一的整体。各业务系统之间能够交互数据,进而具备协同工作能力。在这种管理要求下,实验教学管理系统已经不再是一个孤立的管理系统,而是以实验教学管理系统为核心,同时整合其他相关信息系统的一个整合系统[1-4]。
  1 实验教学管理系统模型概述
  soa通过低廉的代价把原有的业务系统功能封装成服务,每个服务提供与实现技术无关的通用服务接口,于是上层应用就能够通过调用和协调不同的服务接口访问服务,并根据应用需求组织服务访问和协作的逻辑关系。这种计算模式很适合于解决校园网环境下不同信息系统整合和协作问题。soa架构的提出为低成本实施分布式环境下异构软件系统之间的交互和协同提供了一种可实施的技术途径。
  基于soa的实验教学管理系统模型(soa-based labortary education management model,slemm)如图1所示。slemm是一个层次化的模型,可以分为网络承载层、服务层、工作流层和应用层等,此外,系统管理和安全的功能则贯穿与这些层次[5-7]。
  图1 基于soa的实验教学管理模型
  slemm模型是一种支持分布式环境下若干业务系统集成、整合与协同工作的实验教学管理系统的通用模型。当该模型被具体应用时,需要结合应用所面向的具体高校,探讨其具体参与的业务部门、系统和应用流程。
  2 业务分析
  2.1 业务部门与业务系统
  根据调研数据,该校实验教学管理工作由实验教学中心为主要负责部门,在各项实验教学管理中涉及的相关部门有教务处、设备处、人事处、网络中心、系部等。每个部门分别有各自的业务系统,由于这些系统分别针对各自业务部门开发,并且开发的时间和方式各不相同,因此存在着明显的异构特点。如果不采用soa技术,要实现各系统之间的交互和整合是非常困难的。
  通过需求分析,可以得到系统的部分用例图,如图2所示。该图展现了目前该校在实验教学及其相关业务领域中的主要管理工作内容以及参与人员的情况。
  图2 实验教学管理主要业务用例图
  2.2 业务流程与业务功能
  业务流程和业务功能的设计完成实际业务操作过程,与slemm中服务功能和工作流相对应,即所设计的服务和工作流是根据实际业务操作过程来获取的。因此,下面首先分析主要的业务操作过程,然后在业务流程的基础上进一步提取出系统服务和工作流。
  通过需求调研,主要业务操作过程描述如下:
  (1) 教务处向各系部发布下学期任课安排表;
  (2) 各系部按照课程需要安排任课老师,并将安排情况反馈给教务处;
  (3) 任课老师根据实验教学内容向实验实训中心提交《实验实训室使用申请表》 ;
  (4) 实验实训中心根据老师提交《实验实训室使用申请表》与教务处进行沟通,按照教学计划审核教师提出的申请;
  (5) 实验实训中心根据实验需求和耗材库存情况向后勤处提交《实验耗材采购表》;
  (6) 在实验教学进行过程中,任课老师填写《实训项目完成情况登记表》,记录教师实施实验教学活动的相关信息;
  (7) 实验实训中心填写《实训项目完成情况考核表》报送至教务处,并以此作为核算教师工作量和工作质量的部分依据;
  (8) 教务处将《教师工作量统计表》提交给人事处,对教师进行月度或学期考核;
  (9) 实验教学中心收集学生填写的《实验项目意见收集表》,报送到教务处、各系部,以此作为考评教师实验教学质量以及实验室工作的部分依据;
  (10) 每个学期结束后,实验教学中心提交《实训项目完成情况分析统计表》到各系部、教务处,作为实验教学总体情况基础数据。
  上述内容是实验教学管理的主干流程,下面就其中的一个业务流程进行实例分析。如图3所示为实验教学中提交实验实训场地申请的时序图,它能够反映出一个业务流程的处理过程以及涉及到的各业务系统的时序关系。
  图3 教师提交实验实训申请表业务时序图
  根据图3的业务流程描述可以看出,该流程涉及到3个业务系统,其中每个业务系统在该流程中分别需要对外提供如下业务功能:
  (1) 实验教学管理平台提供了与用户进行交互的界面,同时负责与后台的其他业务系统之间进行数据交互和协作;
  (2) 教务管理系统需要提供课程安排功能;
  (3) 实验教学管理系统需要提供可用场地查询功能和实验实训申请处理功能。

3 系统服务提取
  系统的服务功能是在业务流程分析和工作流提取的基础上完成的,以图3为例,该流程中涉及的的几个业务系统均需要对外提供服务接口,具体可以根据业务流程描述获得的结果为:
  (1) 教务系统提供的服务为提供课程安排服务techservice;
  (2) 实验教学管理系统提供场地查询服务和实验实训申请处理labroomservice。
  按照类似的方法,系统可以抽象出若干的工作流程,进而提取工作流以及其中的系统服务。最后就能够得到系统总的工作流集合和系统服务的集合。
  4 系统间数据交互
  4.1 数据交互需求
  根据图2的描述,各个系统涉及到交互数据,根据不同角色完成特定活动需要会涉及到不同的系统用例,其中包括:
  (1) 任课教师需要在教务管理系统中查询相应的实验教学安排数据,提交到实验教学管理系统用于申请实验实训教室;
  (2) 实验实训中心在教务管理系统查询相应的实验教学安排数据,提交到实验教学管理系统用于核实实验实训教室;
  (3) 实验实训中心在实验教学管理系统中查询相应的实验耗材数据,提交到设备管理系统申请实验耗材的采购;
  (4) 实验室在实验教学管理系统中查询实验项目反馈数据,提交到教务管理系统作为实验教学工作的反馈。
  4.2 交互数据模型
  在上述需求的前提下,本文就现有业务系统进行了分析和调研,并根据实际数据交互的需要,获得了在系统整合过程中涉及到的部分交互数据。本文就其中实验教学安排部分进行了详细分析,获取了各系统间存在交互和关联的数据。这些数据及其相互关系可以通过图4的数据库物理模型来体现。
  对于需要交互的数据,由于安全原因的考虑,并不能允许系统外部直接访问到数据库,所以必须以服务的形式提供需要交互数据。那么根据业务流程为基础,对交互数据使用的方式来进行相应服务的设计[8-11]。
  5 服务开发实例
  5.1 服务实现实例
  服务的开发可以通过任何支持soa的软件开发工具,当然也可以采用传统的软件开发工具,但是这需要软件开发人员自己在程序设计时严格按照soa的相应技术规范来接收服务接口数据,对外按照服务规范发送服务数据。本文在实验原型系统开发中采用vs 2005,它能够支持web service编程,因此为服务的开发提供了很多便利。
  图4 实验教学安排数据库物理模型
  下面是一个服务实例labroomservice。服务实现实例如下:
  using system;
  using ;
  using tions;
  using es;
  using ols;
  using ;
  ///
  /// summary description for labroomservice
  ///

  [webservice(namespace = "http:// .cn/")]
  [webservicebinding(conformsto = rofile1_1)]
  public class labroomservice: vice {
  public labroomservice () {
  }
  [webmethod]
  public roominfo getroominfo (int roomtype,int roomstate,string teachernumber) {
  using (roominfoaccessproxy roomproxy = new roominfoaccessproxy ())
  {
   roominfo[] rooms = ms(roomtype,roomstate);
   foreach (roominfo myroom in room)
   {//提供教师号,是为了优先让相同的老师选择以前用过的实验室
   foreach (roominfo temproom in msfortopic(teachernumber))
   {
  if (o ==
   o)
  return myroom;
   }
   }
  }
  return null;//如果没有找到可用的实验室则返回为空
  }
  }
  5.2 服务调用实例
  一个系统的功能被采用服务的形式封装起来之后,就能够被任何支持soa架构的服务调用者所使用。服务的调用从工作机制上采用的是请求回答方式,即服务消费者向服务提供者发送一个服务请求,服务提供者接收到服务请求后做出响应。
  下面是一个服务调用的实例,在这个实例中,涉及到两个服务的调用,一个是教务系统的服务teachservice,另一个是前面定义的服务labroomservice。
  调用(完成前面提到的提交实验实训申请表)c#代码
  //查询教师的课程(数据来源与教务管理系统)
  ervice teachserver = new ervice ()
  classinfo = ssinfo();
  //查询(使用教务管理系统的获得的数据)可用的计算机网络实验室(数据来源于实验教务系统)
  mservice labroomserver = new mservice() ;
  roominfo=minfo(,roomstate_idlesse,number);
  //填写申请(业务操作,使用两个系统的数据)
  roomapply roomapply = new roomapply(classinfo,roominfo,teahcer);
  //提交申请,将数据写回到实验教务系统
  ply(roomapply);
  从上述实例可以看出,从代码的描述形式看,服务请求与普通的函数调用并没有太多的差别,但是从本质上,则可能是跨越网络并通过统一的服务接口对另外一个异构的信息系统的访问。
  6 结 语
  本文以某个高等院校实验教学管理的实际应用为背景,运用slemm模型,根据实验教学管理实际需求,实现了原型系统的设计和开发,各业务系统之间能够交互数据,进而具备协同工作能力。使实际的实验教学中发挥了更为积极的作用,促进了实验教学活动的有序开展。
 编辑整理 
  参考文献
  [1]邓荣,张秀英.soa体系架构模型及特征分析[j].

上一篇:基于CS5460A的智能电力控制系统

下一篇:基于VC++和TRTD的无人机地面站软件开发