版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、收稿日期:2008203209基金项目:新余高专校级立项重点课题(xj0505资助.作者简介:黄勇(19702,男,江西九江人,硕士,讲师,主要从事数据库与网络安全、软件工程、S OA 架构等研究.文章编号:100025862(20080420453204基于SOA 架构的新一代高校试题库系统研究黄勇1,周勇2,刘捡平1(1.新余高等专科学校计算机系,江西新余338031;2.华东师范大学软件学院,上海200062摘要:针对目前有许多高校及课程组建立的试题库系统因使用不同的语言开发,建立并运行在不同的平台上,存在着数据格式不一、位置零星分布,无法在其他学校推广使用等问题,提出了基于面向服务的体
2、系结构(Services 2Oriented Architecture ,S OA 的高校试题库系统的设计思想,要达到的目标就是构建一个S OA 架构的,基于Web Services 技术和.NET 平台的开放的、松耦合和可重用的试题库系统,以实现试题库系统的开放性和资源共享.关键词:面向服务的体系结构,Web 服务;.NET;试题库中图分类号:TP 311.52文献标识码:A目前有许多高校各自建立了自己的试题库系统,但这些系统各自使用不同的语言开发,建立并运行在不同的平台上,它们之间有许多功能会涉及重复开发,系统之间的信息也很难进行共享,且每个学校或课程组建立的试题库都没有统一的标准,完全是
3、一种封闭式和专用的系统,不能真正实现资源共享,也不符合开放性的要求.针对以上问题,本文提出了基于面向服务的体系结构来构建高校试题库系统,要达到的目标就是构建一个S OA 架构的,基于Web Services 技术和.NET 平台的开放性、松耦合的试题库系统.1SOA1.1概述S OA 被认为是传统的紧耦合的、面向对象的架构模型(通用对象代理架构C ORBA (C omm on Ob 2ject Request Broker Architecture 和分布式组件对象模型DC OM (Distributed C om ponent object M odel .的替代者.S OA 不是一种新的技
4、术,而是对传统的、紧密的面向对象模型的另一种选择,而且S OA 并没有排斥面向对象,系统的总体设计是面向服务的,但是具体到某个服务的实现可以是基于面向对象设计的.S OA 允许对象在系统内存在,但是,S OA 作为一个整体就不是面向对象的,可以说S OA 是更高层次意义上的架构.S OA 和面向对象的区别在于接口上,面向对象的接口是给其他对象使用的,而S OA 的接口是可以给组件和系统来使用的,S OA 的接口一般使用Web 服务、E JB 、C ORBA 等分布式技术来实现.与传统架构相比,S OA 具有以下优势:基于标准、松散耦合、共享服务、粗粒度和联合控制.S OA 与大多数通用的客户端
5、/服务器模型的不同之处还在于着重强调软件组件的松散耦合,并使用独立的标准接口.1.2S OA 的实现技术Web Services 是一个非常适合实现面向服务架构的技术.本质上说,Web Services 是自描述和模块化的应用程序,它将业务逻辑分解为服务,而这些服务是可以通过Internet 发布、发现和引用的.基于X M L 标准,Web Services 能够用任何语言在任何协议和平台上开发松散耦合的应用程序组件.这使得作为服务的业务应用程序的分发更加方便,而这种服务对于任何人在任何时间、任何地点和任何平台上都是可访问的.Web Services 是包括X M L ,S OAP ,WS D
6、 L 和UDDI 在内的技术和标准的集合,Web Services 利用这些标准提供了一个松散耦合的分布式计算环境.Micros oft .NET 是创建可互操作的分布式应用程序的新平台.NET 平台内建了对Web Services 的支持.NET 实质上是一个以Web 服务为核心,基于T CP/IP 的分布式计算的第32卷第4期2008年8月江西师范大学学报(自然科学版JOURNA L OF J I ANG XI NORM A L UNI VERSITY (NAT URA L SCIE NCE V ol.32N o.4Aug.2008协议堆栈和计算模型,为构建安全、可靠、高扩展性和高可用性的
7、Web 服务提供了从创建到配置、维护等一系列的应用程序模型和开发支持.2高校试题库系统的总体架构设计2.1S OA 架构本案例中试题库系统采用S OA 架构,其中服务实现技术由Micros oft.NET 的Web Services 来实现.系统中各模块的功能都定义为独立的服务,这些服务为表示层(客户端显露可调用的Web Service 接口.业务外观层,通过单个服务或者多个服务的组合来形成业务流程,从而为表示层提供了一个整体的业务逻辑视图.系统的整体架构和部署如下图1所示.图1试题库系统整体架构图业务外观层的设计目标是在逻辑上隔离系统功能的提供者和使用者,即作为一个中间层,隔离业务逻辑层和表
8、示层(软件的用户界面.通过业务外观层的使用,可以获得如下优点:(1对表示层屏蔽业务组件,因而减少了表示层处理的对象的数目,使得系统的业务逻辑组件更加易用;(2实现了业务逻辑层和表示层之间的松耦合关系,保证了表示层和业务层的相互独立,使得业务逻辑组件的变化不会影响到表示层,也增强了业务逻辑组件的复用;(3有利于项目团队的分工协作.业务外观层作为访问接口,将界面设计人员和逻辑设计人员分开,使得系统的开发可以实现纵向的分工,这种专业化分工是软件大规模流水线生产的必要条件.在本系统中,业务外观层通过封装业务逻辑层组件,将业务层提供的商业功能显露为服务,并可以进一步通过组合多个服务来完成业务流程以实现高
9、层业务逻辑,从而为客户端提供一个统一的商业逻辑视图,可以同时为传统的Windows 客户端程序、Web 程序以及其他外部系统提供服务,同时,也可以实现系统的分布式部署.架构合理的业务外观层设计将直接影响到了系统的灵活性和应对业务需求变化的适应性.2.2分层架构试题库系统采用分层体系结构,从外到内主要分为如下几层:表示层、业务外观层、业务层、数据访问层和数据库层,如下图2所示.表示层主要提供友好的用户界面,使得最终用户能够方便地使用本系统.在该系统中,表示层主要包括注册、登陆、试题采编、组卷、查询等模块的用户界面的实现及表单提交、与下一层的交互(调用业务外观层的Web 服务接口等功能.业务外观层
10、提供标准化的服务接口,从而使得该服务可以提供给在任何异构平台和任何本地或者远程用户使用.在该系统中,通过引入业务外观层,隔离了业务层和表示层,确保了此两层之间的相互独立、松散耦合,提高了业务逻辑组件的复用性和应对需求变化的能力.在该系统中,业务外观层用注册、登录、试题采编、组卷等Web Services 封装了业务逻辑组件及细粒度业务Web 服务.业务层主要提供系统的业务逻辑和控制,细粒度的服务也在该层得以实现.该系统中,业务层主要包括:注册、登陆、试题采编、组卷、查询等组件.454江西师范大学学报(自然科学版2008年图2试题库系统分层体系结构图数据访问层主要提供了业务组件和底层数据的一个平
11、滑过渡,使得业务层只处理业务逻辑而不必关心底层的数据模式.在该系统中,所有后台试题库数据库表(如课程总表、题型总表、试题表集、知识点总表、试卷总表、试卷表集、系统用户信息表、用户组信息表等的操作都被封装在一个数据访问组件(借助ADO.NET 来实现中.数据层主要提供了数据信息和数据逻辑,所有与数据有关的安全性、完整性、数据的一致性、并发操作等都在数据层.采用分层结构将获得如下优势:系统的层次化结构,使得系统在各层次上的组件能单独更新、替换或增加、拆除.因此,系统维护更方便,代价相对低得多.系统的分层结构,可以使得软件开发的专业化分工成为可能.开发团队可以按照系统层次来分成各专业化小组,各开发小
12、组只根据层间的标准契约来实现自己所负责的那一层内容.2.3技术架构从整体架构来看,本系统是以S OA 为基础的解决方案,整个系统由若干服务和服务组合构成.在概念上,可以将服务视为整个解决方案的组件.其中业务外观层用Web Services 将业务逻辑封装,业务逻辑层采用.NET 组件来实现.整个系统采用Micros oft.NET 作为基础开发平台,开发工具采用Visual studio.NET 2005.下面分别对各层采用的技术做一个介绍,其总体技术实现架构图如下图3所示 .图3试题库系统总体技术实现架构图3试题采编模块Web Services 的设计与实现试题采编是该系统的核心功能.试题采
13、编是一项繁重的工作,同一课程组的用户可以共同协作完成试题库的建设和完善,由所属学科组用户对输入的试题审阅后入(题库.在进行某学科课程试题采编前,由学科组用户创建该课程相关信息(如课程名,课程类别,所属专业,学分等,存储于课程总表中;建立该课程知识点信息和题型信息,分别存储于课程知识点总表和题型总表中.该学科组的用户登录系统后可选择该组中的某一课程试题进行采编,课程组的用户登录后可对所属课程试题进行采编.试题采编包括对试题的录入、修改、删除和审阅(审阅对学科组用户而言.3.1详细设计下面以该模块为例,结合S OA 架构及分层设计思想,介绍该模块的详细设计.试题录入子模块在表示层实例化试题采编服务
14、代理类,并调用显露的Web 服务接口WS 2ST C B.AddST (C 2ExamData ST ,string C ourseId 提交要添加的试题信息和该试题所属的课程代号.由试题采编Web 服务来554第4期黄勇,等:基于S OA 架构的新一代高校试题库系统研究654江西师范大学学报(自然科学版2008年封装试题采编业务类B2ST C B,B2ST C B类实现试题采编的业务逻辑,B2ST C B类不包含直接对数据库表的操作.所有数据库表的操作全部封装在数据访问层组件DataBase.cs类中.B2ST C B类通过实例化DataBase类实现C ourseId数据表的操作.3.2具
15、体实现下面介绍试题采编模块Web服务的具体实现.在表示层实现中,页面后置代码仅通过调用远程Web服务就实现了试题采编用例.对于页面而言,该Web服务封装了内部的实现细节,只提供了一个使用的外观描述,从而达到了易用性.现在主要针对该服务内部实现细节的描述来对系统中业务外观层的实现作一个了解.系统中业务外观层采用了Micros oft.NET的X M L Web Services技术来实现,所有业务逻辑都以Web服务的形式对表示层提供,具体实现代码略.4结束语从目前高校的信息化建设的实际情况来看,技术整合、信息资源共享和快速应对需求变化是一个相当迫切的需要.对高校试题库系统采用S OA架构思想进行
16、构建,并对现有试题库进行Web Services封装,都是有意义的尝试.可以肯定的是,S OA架构对未来高校信息化资源整合是非常有效的解决方案.参考文献:1王滨,黄永锋,许晓东.基于S OA的应用程序框架研究与实现J.计算机工程与设计,2006(7:94296.2陈和平,张俊峰,顾晋广,等.Web Services技术浅析J.武汉科技大学学报:自然科学版,2004(1:66270.3鲁永泉,张鹏洲,周剑,等.基于M icros oft.NET平台的软件开发模型J.北京广播学院学报:自然科学版,2003(04:18226.4魏东,陈晓江,房鼎益.基于S OA体系结构的软件开发方法研究J.微电子学
17、与计算机,2005(6:75278.5马世哗.题库理论与目前我国题库的发展状况J.教育理论与实践,1996,16(I:44246.6王俊,于爱荣.分布式Web Services在.NET下的应用研究J.信息与电子工程,2005(6:66269.7李吉吉,周明全,陈怡.松耦合模块在基于S OA的系统中的研究与实现J.计算机应用与软件,2006(11:50251.8廖建军,胡宏涛.基于S OA实现企业应用集成J.微机发展,2005(9:1162118.9谭永明,苏斌.面向服务架构体系的研究J.计算机技术与发展,2007(3:1382140.10郝立柱.高等学校题库建设系统J.黑龙江大学自然科学学报
18、,2001,18(1:39242.11杜彦斌.面向服务软件体系架构原理与范例研究D.北京:首都经济与贸易大学,2005.12郑晓东,王志坚,周晓峰.一种基于Web Service的分布式计算模型研究及其实现J.计算机工程与应用,2004(1:1442147.R esearch of N e w G eneration College Tes B ank System B ased on SOAH UANG Y ong1,ZH OU Y ong2,LI U Jian2ping1(1.C om puter Department,X inyu C ollege,X inyu Jiangxi336600,China;2.S ftw ore School,East China N ormal University,Shanghai200062,ChinaAbstract:At present,many college and institutions have already established their test bank based on their own charac2 ters.As a result,it is very di
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三单元 圆柱与圆锥 (单元测试)六年级下册数学人教版
- 2024年智能安防系统建设与维护合同3篇
- 二零二四年度艺术品买卖合同:某艺术品收藏家与某艺术品交易平台之间的艺术品买卖3篇
- 2024-2025学年高中化学 第3章 物质的聚集状态与物质性质 3.2 金属晶体与离子晶体说课稿1 鲁科版选修3
- 2024年度钢筋生产与供应合同
- 2024年纺织品出口代理合同3篇
- 2024年度柑橘产业风险评估与管理合同2篇
- 2024年度新建住宅买卖合同(含车位)2篇
- 二零二四年度酒店业害虫防治及服务质量提升合同2篇
- 《土质边坡的稳定性》课件
- 广东省深圳市宝安区2023-2024学年七年级下学期期末数学试题(无答案)
- 浙教版劳动九年级项目四任务二《统筹规划与工作分配》教案
- 国家开放大学专科《法理学》(第三版教材)形成性考核试题及答案
- 洗浴中心传染病病例防控措施
- 施氏十二字养生功防治颈椎病教程文件
- 子宫内膜癌-医师教学查房
- 斯拉夫送行曲混声合唱谱
- (正式版)SHT 3158-2024 石油化工管壳式余热锅炉
- 加油站百日攻坚行动实施方案
- (2024年)农作物病虫害绿色防控技术课件
- 产科安全警示教育
评论
0/150
提交评论