基于RA的实验演示系统的设计与实现 薛宁静牛永洁 (延安大学计算中心716000 对实验演示系统的系统架构、系统设计、体系结构进行了论述,创新性的采用RIA技术作为系 统的 首先论述了RIA技术的特点及优势,系统架构采用浏览器/服务器结构,系统设计中分析了系 统模块的组成、系统安全性等。在体系结构中论述了系统的分层设计以及数据交换的方式。通过系统的实 际使用,提高了学生自主学习能力,同时也提高了学习兴趣,减少了教师的工作量。对学生自主学习以及 数字化教学方法改革做了关键的一步。 关键字:实验,演示,设计,实现,富互联网应用程序 Design and implementation of experiment Demonstration System Based on rIa XUE Ning Jing, NIU Yong Jie (Computing Center, Yan'an University Yanan, Shaanxi, 716000) Abstract Experimental demonstration system on the system architecture, system design, system structure is discussed, innovative use of Ria technology as the systems performance level. First discusses the characteristics and advantages of Ria technology, system architecture using browser / server structure, system design, analysis of the composition of the system modules, system security and so on. Discussed in the architecture of the system of hierarchical design and the way data exchange. Actual use by the system, improve the learning ability of students, but also improve the learning interest, reducing the workload of teachers On independent learning and teaching methods of digital made a key step in the reform. Keywords: Experiment, Demonstration, Design, Implementation, Rich Internet Applications 0引言 在教育领域中,计算机的应用己经相当的普及。包括多媒体教育、网络教室、精品课程 等。这些应用对教育起到了很大的积极作用。实验演示系统可以为学生创设一个最直观的 实验情景,给学生以感性认识,得出实验规律作最直观的铺垫。通过该系统师生还可以在线 交流,分享学习心得。为了增强系统的界面表现力和交互能力,减少网络传输,系统部署简 单等方面,整个系统采用具有近似于传统桌面应用功能和特性的网络应用 Rich internet Applications(富互联网应用程序,RIA)技术 1R|A技术 RA23概念是由 Macromedia公司(现在的 Adobe公司)于2002年3月首先提出,按照 Macromedia公司的定义,RIA是集桌面应用程序的最佳用户界面功能与Web应用程序的普 遍采用和快速、低成本部署于一体的新一代网络应用程序。它是一种新的网络平台构建理念, 也被称作为基于Web20的网络平台或是新一代互联网应用程序。它不是一个单一的实现技 术,而是一种全新的平台体验的标准,只不过这种标准还没有一个严格的规范和定义。RIA 所提供的用户体验是介于BS与CS之间的。它的开发目标是使用BS一般简单的浏览器 程序和相关浏览器插件来实现C/S一样丰富、友好的用户界面 RIA应用程序模型被分为了客户层、表示层、业务层、集成层、资源层五个层次。客户 层包括:应用程序客户端,Fash, Java applet和其他GUL。表示层包括: ASPNET、JSP、 Servlets、Flex和其他的UI元素。而业务层是用来连接到业务对象的。集成层的作用是连接
基于 RIA 的实验演示系统的设计与实现 薛宁静 牛永洁 (延安大学计算中心 716000) 摘要:对实验演示系统的系统架构、系统设计、体系结构进行了论述,创新性的采用 RIA 技术作为系 统的表现层。首先论述了 RIA 技术的特点及优势,系统架构采用浏览器/服务器结构,系统设计中分析了系 统模块的组成、系统安全性等。在体系结构中论述了系统的分层设计以及数据交换的方式。通过系统的实 际使用,提高了学生自主学习能力,同时也提高了学习兴趣,减少了教师的工作量。对学生自主学习以及 数字化教学方法改革做了关键的一步。 关键字:实验,演示,设计,实现,富互联网应用程序 Design and Implementation of Experiment Demonstration System Based on RIA XUE Ning Jing, NIU Yong Jie (Computing Center, Yan’an University, Yanan, Shaanxi, 716000) Abstract: Experimental demonstration system on the system architecture, system design, system structure is discussed, innovative use of RIA technology as the system's performance level. First discusses the characteristics and advantages of RIA technology, system architecture using browser / server structure, system design, analysis of the composition of the system modules, system security and so on. Discussed in the architecture of the system of hierarchical design and the way data exchange. Actual use by the system, improve the learning ability of students, but also improve the learning interest, reducing the workload of teachers. On independent learning and teaching methods of digital made a key step in the reform. Keywords: Experiment, Demonstration, Design, Implementation, Rich Internet Applications 0 引言 在教育领域中,计算机的应用已经相当的普及。包括多媒体教育、网络教室、精品课程 等。这些应用对教育起到了很大的积极作用。实验演示系统[1]可以为学生创设一个最直观的 实验情景,给学生以感性认识,得出实验规律作最直观的铺垫。通过该系统师生还可以在线 交流,分享学习心得。为了增强系统的界面表现力和交互能力,减少网络传输,系统部署简 单等方面,整个系统采用具有近似于传统桌面应用功能和特性的网络应用 Rich Internet Applications(富互联网应用程序,RIA)技术。 1 RIA 技术 RIA[2,3]概念是由 Macromedia 公司(现在的 Adobe 公司)于 2002 年 3 月首先提出,按照 Macromedia 公司的定义,RIA 是集桌面应用程序的最佳用户界面功能与 Web 应用程序的普 遍采用和快速、低成本部署于一体的新一代网络应用程序。它是一种新的网络平台构建理念, 也被称作为基于 Web2.0 的网络平台或是新一代互联网应用程序。它不是一个单一的实现技 术,而是一种全新的平台体验的标准,只不过这种标准还没有一个严格的规范和定义。RIA 所提供的用户体验是介于 B/S 与 C/S 之间的。它的开发目标是使用 B/S[4]一般简单的浏览器 程序和相关浏览器插件来实现 C/S 一样丰富、友好的用户界面。 RIA 应用程序模型被分为了客户层、表示层、业务层、集成层、资源层五个层次。客户 层包括:应用程序客户端,Flash,Java Applet 和其他 GUI。表示层包括:ASP.NET、JSP、 Servlets、Flex 和其他的 UI 元素。而业务层是用来连接到业务对象的。集成层的作用是连接
到数据和传统系统。资源层包括:数据库、外部系统和传统资源。RIA技术不但具有Web 程序的特点,而且也具有桌面应用程序的特征。RIA技术实现的应用程序在界面布局以及消 息确认等方面与桌面应用程序十分相近。但RIA程序实质上还是Web程序,但是在用户界 面上看来,就好像完全是安装在本地的桌面应用程序一样,客户端与服务器端主要采取XML 格式数据和 Web services两种方式交互,在这两种方式下,客户端和服务器端仅仅传递这个 通讯过程中必须的数据,因此具有高效的网络数据信息传输 图1表示了RIA应用程序、Web应用程序、桌面应用程序三者之间关系,该图形也能 体现出RA技术的特点与优势 RIA应用程序 桌面应用程序 wEB应用程序 智能数据管理 灵活 实现复杂 部署困难 部暑简便 快捷的响 应速度 不易升级 升级方便依赖网络连接 丰富的用户界面 DL陷阱问题 高效的开发效率/ 管理容易/用户控制有限 离线能力」 智能链接管理 图1RIA技术的特点 2系统分析设计 2.1系统架构 系统总体采用B/S架构。学生与教师可通过I或者 Firefox浏览器访问系统,避免了客 户端程序所带来的部署、升级困难等问题。系统中采用的关键技术以及采用该技术的原因如 表1所示 表1系统中采用的关键技术 技术名称 实现作用 技术优点 实现客户页面与服务器之间数据的交换 数据的异步交换,网页的局部刷新,数 据传输量小 RIA 界面设计 仿桌面应用程序的界面,界面优美,仿 桌面应用程序的操作方式,部署简单, 能够跨越浏览器兼容问题, VML、SⅤG|网页中实现实验的动画效果 绘制图形简单,文件提交比较小,传输 数据量小,但是存在浏览器兼通问题 系统用户、角色以及权限的管 实现简单,能够提高工作效率,功能实 现完备、科学、严谨,可扩展性强。 系统由web服务器和数据库服务器组成。数据库服务器负责数据库的管理与维护,对 数据的安全性、完整性、并发性等提供支持,系统采用了 SQL Server2005数据库管理系统
到数据和传统系统。资源层包括:数据库、外部系统和传统资源。RIA 技术不但具有 Web 程序的特点,而且也具有桌面应用程序的特征。RIA 技术实现的应用程序在界面布局以及消 息确认等方面与桌面应用程序十分相近。但 RIA 程序实质上还是 Web 程序,但是在用户界 面上看来,就好像完全是安装在本地的桌面应用程序一样,客户端与服务器端主要采取 XML 格式数据和 Web Services 两种方式交互,在这两种方式下,客户端和服务器端仅仅传递这个 通讯过程中必须的数据,因此具有高效的网络数据信息传输。 图 1 表示了 RIA 应用程序、Web 应用程序、桌面应用程序三者之间关系,该图形也能 体现出 RIA 技术的特点与优势[5]。 图 1 RIA 技术的特点 2 系统分析设计 2.1 系统架构 系统总体采用 B/S 架构。学生与教师可通过 IE 或者 Firefox 浏览器访问系统,避免了客 户端程序所带来的部署、升级困难等问题。系统中采用的关键技术以及采用该技术的原因如 表 1 所示。 表 1 系统中采用的关键技术 技术名称 实现作用 技术优点 Ajax 实现客户页面与服务器之间数据的交换 数据的异步交换,网页的局部刷新,数 据传输量小。 RIA 界面设计 仿桌面应用程序的界面,界面优美,仿 桌面应用程序的操作方式,部署简单, 能够跨越浏览器兼容问题。 VML、SVG 网页中实现实验的动画效果 绘制图形简单,文件提交比较小,传输 数据量小,但是存在浏览器兼通问题。 Membership 系统用户、角色以及权限的管理 实现简单,能够提高工作效率,功能实 现完备、科学、严谨,可扩展性强。 系统由 Web 服务器和数据库服务器组成。数据库服务器负责数据库的管理与维护,对 数据的安全性、完整性、并发性等提供支持,系统采用了 SQL Server 2005 数据库管理系统
Web服务器使用ⅡS60。对数据库的访问直接通过 Membership'提供的方法进行,只需要 在系统配置文件中配置好 Membership需要的数据提供器,在系统配置文件中还可以对密码 的长度、密码组成的格式、密码在数据库中存储的形式等进行设置 客户端界面完全使用RIA技术构建,客户端的界面不但具有仿桌面应用程序的特点 而且在操作的过程中用户的请求都基于Ajax,Ajax就像客户端与服务器通信的一个桥梁, 将两端连接起来。为了规范数据通信中的数据格式,系统使用JSON( Javascript Object Notation 的数据格式标准。对JSON的各种操作由 Linson库来进行。 2.2系统设计 系统的功能模块如图2所示。 系统 院系说明 实验演示 在线交流 数据导入 系统设置 角色管理 数据维护 系统安全 用户管理 创建角色删除角色身份验证权限控制创建用户删除用户更改信息 图2系统功能模块 用户管理主要完成创建新用户,修改已有的用户信息,更改用户的角色,删除已有用户, 锁定某一个用户、解锁某一个用户,查看用户登陆的相关信息等:角色管理的主要作用是 在系统中创建新的角色,删除已有角色,将用户加入某个角色组或者将用户从某个角色组转 移到另一个角色;系统安全管理主要完成对用户的身份验证以及对角色可以浏览网页权限的 设置:数据维护完成数据库数据的备份与还原;实验演示是系统的核心,主要完成各种实验 演示;在线交流可以实现在线师生进行即时通信。院系介绍功能主要对院系的一些情况进行 介绍,包括院系设置、师资力量、现任领导等项目:系统设置功能主要是系统管理员对实验 的一些初始值的设定,以及对院系说明模块使用信息的一些编辑、更新等操作, 2.3系统安全性 系统安全主要包括两个方面:系统的登陆控制与不同角色对各个功能模块访问的权限控 角色的权限控制就是控制不同的用户角色对不同功能模块的访问权利,在系统需求中已 经明确了各个角色对各功能模块的访问权限。在系统的实现中,采用网站目录结构与 Web. confi配置文件中的 location配置节相结合的方式进行。图3是配置节的一部分
Web 服务器使用 IIS 6.0。对数据库的访问直接通过 Membership[6]提供的方法进行,只需要 在系统配置文件中配置好 Membership 需要的数据提供器,在系统配置文件中还可以对密码 的长度、密码组成的格式、密码在数据库中存储的形式等进行设置。 客户端界面完全使用 RIA 技术构建,客户端的界面不但具有仿桌面应用程序的特点, 而且在操作的过程中用户的请求都基于 Ajax[7],Ajax 就像客户端与服务器通信的一个桥梁, 将两端连接起来。为了规范数据通信中的数据格式,系统使用JSON(Javascript Object Notation) 的数据格式标准。对 JSON 的各种操作由 LitJson 库来进行。 2.2 系统设计 系统的功能模块[8]如图 2 所示。 系统 院系说明 实验演示 在线交流 数据导入 系统设置 角色管理 数据维护 系统安全 用户管理 创建角色 删除角色 身份验证 权限控制 创建用户 删除用户 更改信息 图 2 系统功能模块 用户管理主要完成创建新用户,修改已有的用户信息,更改用户的角色,删除已有用户, 锁定某一个用户、解锁某一个用户,查看用户登陆的相关信息等;角色管理的主要作用是, 在系统中创建新的角色,删除已有角色,将用户加入某个角色组或者将用户从某个角色组转 移到另一个角色;系统安全管理主要完成对用户的身份验证以及对角色可以浏览网页权限的 设置;数据维护完成数据库数据的备份与还原;实验演示是系统的核心,主要完成各种实验 演示;在线交流可以实现在线师生进行即时通信。院系介绍功能主要对院系的一些情况进行 介绍,包括院系设置、师资力量、现任领导等项目;系统设置功能主要是系统管理员对实验 的一些初始值的设定,以及对院系说明模块使用信息的一些编辑、更新等操作。 2.3 系统安全性 系统安全主要包括两个方面:系统的登陆控制与不同角色对各个功能模块访问的权限控 制。 角色的权限控制就是控制不同的用户角色对不同功能模块的访问权利,在系统需求中已 经明确了各个角色对各功能模块的访问权限。在系统的实现中,采用网站目录结构与 Web.config 配置文件中的 location 配置节相结合的方式进行[9]。图 3 是配置节的一部分
authorization> 图3角色权限控制配置节 2.4体系结构 系统的体系结构采用3层的设计方式,3层分别为数据层、业务层、表现层。数据层主 要为整个系统提供数据,数据的获取采用关系对象映射工具 NHibernate与 Membership进行。 业务层根据以安全性为分界、以系统的能力作为分界、以性能需求作为分界、以并发性作为 分界的4种分层原则分为客户端业务逻辑和服务器端业务逻辑。比如将系统用户验证,用 户权限验证等放在服务器端,对于系统中计算量大的,而且要求响应时间可以较长的逻辑要 划分到服务器端逻辑中,对于用户数据有效性的验证可以由客户端系统完成。表现层全部由 RIA技术来实现。在表现层与业务层之间进行信息交换时,所有的交互方式全部使用Ajax 方式,这样减少了网络通信之间的数据传输量,同时也有效的加强了用户的体验 3系统最终效果 系统功能开发完成后,在学校物理与信息学院的大学物理实验课程的物理实验中应用。 最终系统测试结果如下: 31系统压力效果 在400以上的用户并发状态下,服务器压力较小,系统性能良好,能够稳定运行。其 中测试并发120由实际学生产生,其他由机器人产生 3.2系统表现效果 该系统最终适应工科实验大部分的测试,减少教师在准备实验器材,讲授、指导实验过 程中的绝大部分负担以及一些人为失误。同时提供学生自主学习以及和其他师生交流的平
... ... 图 3 角色权限控制配置节 2.4 体系结构 系统的体系结构采用 3 层的设计方式,3 层分别为数据层、业务层、表现层。数据层主 要为整个系统提供数据,数据的获取采用关系对象映射工具 NHibernate 与 Membership 进行。 业务层根据以安全性为分界、以系统的能力作为分界、以性能需求作为分界、以并发性作为 分界的 4 种分层原则[10]分为客户端业务逻辑和服务器端业务逻辑。比如将系统用户验证,用 户权限验证等放在服务器端,对于系统中计算量大的,而且要求响应时间可以较长的逻辑要 划分到服务器端逻辑中,对于用户数据有效性的验证可以由客户端系统完成。表现层全部由 RIA 技术来实现。在表现层与业务层之间进行信息交换时,所有的交互方式全部使用 Ajax 方式,这样减少了网络通信之间的数据传输量,同时也有效的加强了用户的体验。 3 系统最终效果 系统功能开发完成后,在学校物理与信息学院的大学物理实验课程的物理实验中应用。 最终系统测试结果如下: 3.1 系统压力效果 在 400 以上的用户并发状态下, 服务器压力较小,系统性能良好,能够稳定运行。其 中测试并发 120 由实际学生产生,其他由机器人产生。 3.2 系统表现效果 该系统最终适应工科实验大部分的测试,减少教师在准备实验器材,讲授、指导实验过 程中的绝大部分负担以及一些人为失误。同时提供学生自主学习以及和其他师生交流的平
台。 4结论 系统经过不断的测试与调试,不断完善,可用于多学科的实验演示,能够根据各学科针 对不同实验的需要量身定做不同类型的实验,为学生提供高效的自主学习平台。系统除了 使用RIA带来的界面操作友好,部署简单、容易扩展等性能外,还对后台服务器的集群功 能以及压力最大的数据库系统做了优化,以支持更多的用户并发。但由于时间关系,系统还 没有在更多的实验上进行测试,在下一步的工作中,系统将结合不同的学科实验做进一步开 发,实现适应多学科实验演示的网络化。 参考文献 汪诗林,吴泉源开展虚拟实验系统的研究和应用[计算机工程与科学20002(2)3 Tom N, Shawn Helwig. Rich Internet Applications-Technical Comparison and Case Studies of AJAX, Flash and Java based riaJ. UW E-Business Consortium. 2005, Il 3] Jithika T Rich Internet Applications(RIA): AJAX, Ruby on Rails, and PHP: tutorial presentation J] Jourmal of Computing Sciences in Colleges. 2008, 23(6): 164--16 [4]崔艳春浅谈使用 ASPNET构架BS体系结构J科技信息(学术研究),2008(19)20-21 [S]肖治国RIA技术特性及发展趋势[长春大学学报2008,12,18(6)34-36 [6Membership3e.http://msdn.microsoftcom/zh-cn/library/system.Web.securitymembershipaspx [7]陆海晶,刘万军基于Ajax的web应用技术的研究与实现门科学技术与工程,2007,7(3):415-18 8]王建新裴惠民陈松乔基于 Internet的虚拟实验室平台架构设计中南工业大学学 报2002,33(5):530-533 9] Kevin hoffman, Lonny kruger. Microsoft visual c#NET2003 Unleashed/C#NET技术内幕[M]董梁 高猛翻译北京清华大学出版社,2006.544556 [0]陈永祥章炯民一种RIA分系统架构模式的研究与实现门计算机应用与软件2009,26(9):113-115
台。 4 结论 系统经过不断的测试与调试,不断完善,可用于多学科的实验演示,能够根据各学科针 对不同实验的需要量身定做不同类型的实验, 为学生提供高效的自主学习平台。系统除了 使用 RIA 带来的界面操作友好,部署简单、容易扩展等性能外,还对后台服务器的集群功 能以及压力最大的数据库系统做了优化,以支持更多的用户并发。但由于时间关系,系统还 没有在更多的实验上进行测试,在下一步的工作中,系统将结合不同的学科实验做进一步开 发,实现适应多学科实验演示的网络化。 参考文献 [1] 汪诗林,吴泉源.开展虚拟实验系统的研究和应用[J].计算机工程与科学.2000,22(2):33-36. [2] Tom N,Shawn Helwig.Rich Internet Applications——Technical Comparison and Case Studies of AJAX,Flash and Java based RIA[J].UW E-Business Consortium.2005,II. [3] Jithika T.Rich Internet Applications(RIA):AJAX,Ruby on Rails,and PHP:tutorial presentation[J].Journal of Computing Sciences in Colleges.2008,23(6):164—165. [4] 崔艳春.浅谈使用 ASP.NET 构架 B/S 体系结构[J].科技信息(学术研究),2008(19):20-21. [5] 肖治国. RIA 技术特性及发展趋势[J]. 长春大学学报.2008,12,18(6).34-36. [6] Membership 类.http://msdn.microsoft.com/zh-cn/library/system.Web.security.membership.aspx. [7] 陆海晶,刘万军.基于 Ajax 的 Web 应用技术的研究与实现[J].科学技术与工程,2007,7(3):415-418. [8] 王建新 裴惠民 陈松乔.基于 Internet 的虚拟实验室平台架构设计[J].中南工业大学学 报.2002,33(5):530-533. [9] Kevin Hoffman, Lonny kruger. Microsoft Visual C#.NET 2003 Unleashed/C#.NET 技术内幕[M].董梁 高猛 翻译.北京:清华大学出版社,2006.544-556. [10] 陈永祥,章炯民.一种 RIA 分系统架构模式的研究与实现[J].计算机应用与软件.2009,26(9):113-115