高校高性能计算中心OA系统的设计与实现
作者:董飒 徐海啸 欧阳若川 吴旗 于洪梅
来源:《现代交际》2013年第07
        [摘要]高校高性能计算中心为学校学科建设的长远发展提供了强有力的支撑条件,有利于高校未来综合竞争力的提升。针对高校高性能计算中心的对象与工作需求,设计集新闻发布与管理、用户信息录入与上机申请提交、资源下载等功能于一体的OA系统成为迫切要求。介绍了OA系统的体系结构,使用的系统开发工具与实现技术,并概括了系统主要功能模块的设计。
        [关键词]高性能计算中心 办公自动化 B/S 新闻管理
        [中图分类号]TP311.1 [文献标识码]A [文章编号]1009-5349201307-0018-02
        引言
        随着芯片的不断发展和多核与众核计算机体系结构的出现,高性能计算模型无论在硬件还是软件上都得到了迅速的发展。应用高性能计算系统辅助科研与教学如今已成为国内各大
知名院校的共识,高校高性能计算中心为学校学科建设的长远发展提供强有力的支撑条件,为科技创新和重大工程应用提供服务,满足高校多学科领域对高性能计算的需求,有利于高校未来综合竞争力的提升。[1]针对高校高性能计算中心的服务对象与工作需求的不同,设计集新闻发布与管理、用户信息录入与上机申请提交、资源下载等功能于一体的OA系统成为迫切要求。与传统单一的具备新闻发布功能的OA系统不同,高校高性能计算中心OA系统更强调用户的使用需求,为用户上机申请提供线上提交支持。本系统采用Tomcat+JSP+MySQL框架、B/S体系结构,增加了中心协同办公的能力,从而大幅提高了工作效率。
        一、系统体系结构设计
        本系统采用B/SBrowser/Server)即浏览器/服务器结构。在B/S体系结构中,用户通过浏览器向服务器发出请求,服务器对请求进行分析处理,将用户所需信息返回给浏览器。[2]该结构的重点在服务器端的开发与维护,客户端通过浏览器即可访问web应用。这种结构减轻了系统维护与升级的成本和工作量,简化了客户端电脑负荷,降低了用户的总体成本。[3]B/S三层结构分别为:表示层、功能层和数据层如图1所示。
        (一)表示层
        表示层负责从web浏览器向网络中某一服务器发出服务请求、接收服务器端返回的信息结果并把它显示在浏览器上,同时负责简单的数据验证和格式化等功能。
        本系统中表示层由JSP页面组成,包括登陆界面及前台简单的防SQL注入、上机申请信息录入和新闻列表与新闻内容动态页面的显示等功能。使用css样式表进行网页风格设计。
        (二)功能层
        功能层封装了实际业务逻辑,是整个web应用系统的核心[4],实现表示层与数据层间的数据通信,包括事务处理、权限处理等操作。
        系统的功能层主要进行数据验证、流向、事务、权限等,将数据层取出的业务数据存在内存中,用于在系统的各个功能模块间传输,而不直接操作数据源。
        (三)数据层
        数据层为功能层提供与数据源交互的最小操作方式,可以理解为数据层就是数据库管理
系统,负责对数据库数据的读写、存取和管理等工作以及访问数据的安全性、完整性和一致性,功能层完全依赖数据层所提供的服务。
        二、系统开发工具与实现技术
        考虑到JSP较高的运行效率与安全性,以及对Java的强大支持,本系统采用JSP作为网页开发语言。而Tomcat是一个免费开源的轻量级web应用服务器,其对JSPServlet的强大支持以及稳定的性能成为本系统部署的首选。而MySQL在网站开发中的广泛应用和开放源码显著降低了本系统开发的成本。基于这些工具的优点,本系统采用Tomcat+JSP+MySQL框架[5-6]B/S体系结构,应用的主要技术如下:
        JSPJava Server Page)技术是一种类似于ASP的动态网页技术标准,鉴于JSP[7]开发web应用的跨平台性,适用于中心基于Linux操作系统下的web开发。JSP页面中可插入Java代码以封装产生动态网页的处理逻辑,也可在servlet中实现操作数据库和网页重定向的功能。JSP将网页逻辑与显示分开设计,也就是将表示逻辑从Servlet中分离出来。
        JavaScript是通常用来在客户端给网页添加动态功能的脚本语言,[8]其用以响应用户的
各种操作,进行简单的输入验证。同时,JavaScript又是面向对象和事件驱动的。面向对象保证了程序的直观化、模块化和可重用性。绝大部分事件是由用户的动作引发的,如点击鼠标或鼠标指针移动等。JavaScript[9]不需要在服务器端运行,只需在客户端的浏览器上就可执行,显然减轻了服务器的负担,但弱点是安全性较差。单纯在前台使用JavaScript进行输入验证并不能完全保证系统安全,因为恶意攻击可能绕过前台过滤直接对数据库进行注入,所以系统对数据库进行存取前应该在后台同样进行安全性检查。
        CSSCascading Style Sheet级联样式表),顾名思义是用来定义网站外观风格的。常见的样式表使用方式有三种:网页链接外部css文件、网页嵌入css和网页元素内嵌css。外部样式表使用方式可实现统一多个网页风格的效果,在样式表中进行更改便会反映到所有链接该样式表的网页上[10],嵌入和内嵌样式表又可以实现不同页面的风格化。DIV+CSS的网页布局[11]方法可以实现分离的网页内容与表现设计,与table表格定位技术相比,页面代码更加精简,从而提升了浏览访问速度和用户体验。
        正则表达式是指对符合某个句法规则的字符串进行描述或匹配的逻辑公式。[12]正则表达式虽然比较晦涩,但其表达灵活,逻辑简短,可以用极简单的方式实现复杂的控制,因此,开源oa系统源码
在字符串处理中得到了广泛的应用。在计算机科学中,我们经常用正则表达式对字符串进行过滤,也可从字符串中获得想要的特定部分。
        SmartUpload[13]是一个可以实现文件上传和下载的免费组件。使用SmartUpload使文件的上传下载及删除变得简单易行,并能获得上传文件的全部信息,方便对文件进行处理和下载。
        数据库连接池是针对数据库连接管理以提高应用程序的安全和性能而提出的。数据库连接池负责数据库连接的分配、管理和释放,可以明显提高操作数据库的性能。[14]同时,在对数据库的存取、更新等操作中,使用PreparedStatement接口来代替Statement,不但增强了代码的可读性和可维护性,而且提高了操作数据库的安全性,有效地防止了SQL注入。
        三、系统功能模块设计
        结合高性能计算中心[15]的工作需求,系统主要有四大功能模块,分别为后台新闻管理模块、用户上机申请模块、用户登陆模块和资源下载模块,具备了新闻采集、整理和发布以及用户上机申请信息录入等中心办公自动化要求的功能,如图2所示。
        (一)后台新闻管理模块
        该模块包括新闻列表、搜索与动态显示,以及新闻添加、修改编辑和删除等功能。其中新闻添加时可设定标题和内容,通过SmartUpload组件实现图片和附件文件的上传,添加前可进行预览和修改,为保证系统安全新闻后台模块使用RBAC(基于角的访问控制)模型[16]进权限控制。
        (二)用户上机申请模块
        有使用中心资源需求的用户可在此进行信息录入,完成“XX高性能计算中心上机申请表的填写、修改、确认和提交。防止SQL注入,信息录入和提交时分别在前台和后台使用正则表达式对输入信息进行过滤。
        (三)用户登陆模块
        用户提交上机申请后可以使用注册时的账户ID和密码进行登陆,登陆后可查询用户信息、修改登陆密码和打印上机申请表。输入信息和登陆时同样分别在前台与后台采取防SQL注入措施,同时使用session保持用户进行对话的状态信息。
        (四)资源下载模块
        提供报销单填写模板、用户使用手册和相关工具软件等资源下载功能。将资源存于Tomcat中的webapps的相应目录下,使用超链接进行下载。
        四、结语
        本文结合高校高性能计算中心的服务对象与工作需求,阐述了高校高性能计算中心OA系统的功能模块设计、体系结构、开发工具及实现技术。系统集新闻发布与管理、用户信息录入与上机申请提交、资源下载等功能于一体,简化了用户的申请流程,大大提高了中心的办公效率。后续的研究工作主要集中在集日志信息的提取与挖掘、集监测和故障信息统计与成像功能模块的设计与实现。
        【参考文献】
        [1]李根国,桂亚东,刘欣.高性能计算技术及其应用[J].中国科学院院刊,2007224):306-313.
        [2]李书杰,李志刚.B/S三层体系结构模式[J].河北理工学院学报,200224(增刊):25-34.
        [3]杨杰,刘丹.基于工作流和B/S结构的OA系统设计[J].武汉理工大学学报(交通科学与工程版),2005291):56-59.
        [4]赵宏伟,秦昌明.基于B/S3层体系结构的软件设计方法研究[J].实验室研究与探索,2011307):65-66.
        [5]边清刚,潘东华.TomcatApache集成支持JSP技术探讨[J].计算机应用研究,20036):12-14.
        [6]胡莉萍.Tomcat+JSP+MySQL整合配置初探[J].中国科技信息,20105.
        [7]赵晓峰.基于JSPJavaBean技术的Web应用开发[J].深圳信息职业技术学院学报,2005312):39-43.
        [8]李轶.基于JavaScript的面向对象程序设计研究[J].江汉大学学报(自然科学版),2010383):52-56.
        [9]张云苑.JavaScript在动态网页设计中的应用[J].科技信息,2007523-24.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。