资源描述:
《基于soa的实验教学管理原型系统的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于SOA的实验教学管理原型系统的研究摘要:针对高等院校实验教学管理的实际应用,论述了基于SOA的实验教学管理原型系统的开发和设计、实施过程。通过对高校实验教学流程的分析,着重探讨了如何通过SOA关键技术和工作流技术来实现一个基于SOA的实验教学管理系统的原型系统,通过该系统,可以使高校实验教学管理系统得到整合,达到提升实验教学管理水平的目的。关键词:SOA;SLEMM;实验教学管理;工作流技术 中图分类号:TN911-34;TP3113系统服务提取 系统的服务功能是在业务流程分析和工作流提取的基础上完成的,以图3为例,该流程中涉及
2、的的几个业务系统均需要对外提供服务接口,具体可以根据业务流程描述获得的结果为: (1)教务系统提供的服务为提供课程安排服务TechService; (2)实验教学管理系统提供场地查询服务和实验实训申请处理LabroomService。 按照类似的方法,系统可以抽象出若干的工作流程,进而提取工作流以及其中的系统服务。最后就能够得到系统总的工作流集合和系统服务的集合。 4系统间数据交互 4.1数据交互需求 根据图2的描述,各个系统涉及到交互数据,根据不同角色完成特定活动需要会涉及到不同的系统用例,其中包括: (1)任课教师需要
3、在教务管理系统中查询相应的实验教学安排数据,提交到实验教学管理系统用于申请实验实训教室; (2)实验实训中心在教务管理系统查询相应的实验教学安排数据,提交到实验教学管理系统用于核实实验实训教室; (3)实验实训中心在实验教学管理系统中查询相应的实验耗材数据,提交到设备管理系统申请实验耗材的采购; (4)实验室在实验教学管理系统中查询实验项目反馈数据,提交到教务管理系统作为实验教学工作的反馈。 4.2交互数据模型 在上述需求的前提下,本文就现有业务系统进行了分析和调研,并根据实际数据交互的需要,获得了在系统整合过程中涉及到的部分
4、交互数据。本文就其中实验教学安排部分进行了详细分析,获取了各系统间存在交互和关联的数据。这些数据及其相互关系可以通过图4的数据库物理模型来体现。 对于需要交互的数据,由于安全原因的考虑,并不能允许系统外部直接访问到数据库,所以必须以服务的形式提供需要交互数据。那么根据业务流程为基础,对交互数据使用的方式来进行相应服务的设计[8-11]。 5服务开发实例 5.1服务实现实例 服务的开发可以通过任何支持SOA的软件开发工具,当然也可以采用传统的软件开发工具,但是这需要软件开发人员自己在程序设计时严格按照SOA的相应技术规范来接收服务
5、接口数据,对外按照服务规范发送服务数据。本文在实验原型系统开发中采用VS2005,它能够支持MARY> ///SummarydescriptionforLabroomService /// [ethod] publicRoomInfogetRoomInfo(introomType,introomState,stringteacherNumber){ using(RoomInfoAccessProxyroomProxy=neInfoAccessProxy()) { RoomInfo[]rooms=roomProxy.Ge
6、tRooms(roomType,roomState); foreach(RoomInfomyRoominroom) {//提供教师号,是为了优先让相同的老师选择以前用过的实验室 foreach(RoomInfotempRoominroomProxy.GetRoomsForTopic(teacherNumber)) { if(RoomInfo.UsEinfo== tempRoom.UseInfo) returnmyRoom; } } } returnnull;//如果没有找到可用的实验室则返回为空 } } 5.
7、2服务调用实例 一个系统的功能被采用服务的形式封装起来之后,就能够被任何支持SOA架构的服务调用者所使用。服务的调用从工作机制上采用的是请求回答方式,即服务消费者向服务提供者发送一个服务请求,服务提供者接收到服务请求后做出响应。 下面是一个服务调用的实例,在这个实例中,涉及到两个服务的调用,一个是教务系统的服务TeachService,另一个是前面定义的服务LabroomService。 调用(完成前面提到的提交实验实训申请表)C#代码 //查询教师的课程(数据来源与教务管理系统) .qyjy.TeachServicete
8、achserver=neber); //查询(使用教务管理系统的获得的数据)可用的计算机网络实验室(数据来源于实验教务系统) .qyjy.LabroomServicelabroomserver=neSe