校园软件服务平台框架研究与设计_第1页
校园软件服务平台框架研究与设计_第2页
校园软件服务平台框架研究与设计_第3页
校园软件服务平台框架研究与设计_第4页
校园软件服务平台框架研究与设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-精选财经经济类资料- -最新财经经济资料-感谢阅读- 1 校园软件服务平台框架研究与设计 摘要20 世纪 90 年代以来,信 息技术不断创新,信息产业持续发展, 信息网络广泛普及,信息化成为全球经 济社会发展的显著特征,并逐步向一场 全方位的社会变革演进。进入 21 世纪, 广泛应用、高度渗透的信息技术日益成 为重要生产要素、无形资产和社会财富。 随着国家对信息化技术的重视, “互联网 +”应用的广泛运用,加上移动端的日益 普及,促使校园软件服务平台的更新换 代与改造升级,使之能够同时适应 PC 端,移动端,以及未来不可预知的展示 终端。校园网软件平台的框架应具备足 够的伸缩性、扩展性和跨平台特性。 中国论文网 /4/view-12929435.htm -精选财经经济类资料- -最新财经经济资料-感谢阅读- 2 关键词 spring;Maven ;JSON ;HTML5 ;Hybr id;跨平台;可伸缩;可扩展 中图分类号G640 文献标识码 A 文章编号1671-5918(2017)12- 0024-03 doi:10.3969/j.issn.1671- 5918.2017.12.011 本刊网址 http: 学校的软件服务平台不仅包含企 业的工作流程,还包括教师授课产出的 智力资源共享管理以及学生相关的查询 服务。校园软件服务平台支撑着来自各 个部门的工作需求,为全校所有人员的 提供相应服务。校园软件服务平台是对 人事、教学、科研、管理、技术服务、 生活服务、安全等各个领域的信息进行 收集、处理、集成、保存、挖掘、传输 和应用,拓展校园的时间和空间,使知 识资源得到充分利用和共享,使师生交 流,部门协同更加方便,提高学校管理 水平和工作效率,降低教学和管理成本。 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 3 它是“数字校园 ”系统工程的一部分,承 担着数据保存和应用的重要使命。随着 信息化实践的深入,信息技术的快速更 新迭代,使得早先现存的软件服务体系 难以兼容后期引进的现代化的软件服务。 最终导致学校遗留的软件服务系统与后 来引进的各种软件服务不能很好地协同 工作。这种新旧兼容性问题带来了额外 的工作量,同时暴露出很多局限性和困 惑,导致“信息孤岛 ”的产生。 信息技术日新月异,或许无法做 到根治,但能在相当长的时间中保持稳 定。校园软件服务平台应该从软件架构 上解决新旧兼容性问题,重新设计软件 服务平台框架,保证在可以预计的 10 年内持续提供服务,并支持上下兼容。 该框架应解决如下问题: (1)数据保存,读取采用统一 的访问接口,屏蔽具体的数据软件版本。 (2)软件服务平台必须具备跨 操作系统平台特性,能轻松从 Windows -精选财经经济类资料- -最新财经经济资料-感谢阅读- 4 转向 Linux 等其他系统。 (3)软件服务平台具备可拆卸、 组装的项目模块特性,既能形成整体提 供服务,也能拆卸出单个项目独立运行。 (4)软件服务应具有统一的数 据传输格式。 (5)软件服务平台自适应各种 终端(电脑端、移动端) 。 一、系统结构设计 总体上分为 4 层,每层只能L 问相邻的层服务,不能越层访问。 数据库层(含连接配置): Mysql,Oracle,Derby 等各种不同厂商 的不同软件。 数据访问层:承上启下作用,对 上层数据库实现基本的 CRUD 原子操作, 对下层提供公共的统一的访问接口(基 于 REST 风格实现) 。 传输协议层:使用 XML 或者 JSON 格式作用数据传输的协议。 展示终端:浏览器(含 PC 和移 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 5 动端) ,安卓 App,苹果 App,微信 App 等。 系统结构设计示意图如图 1-1 所 示: 这种四层总体设计,并不只是针 对整个软件服务体系,而是可以应用在 单个子系统项目中,不论是子系统,还 是服务平台,都遵循这种设计模式,就 能实现子系统项目合并和分离时对软件 服务不会造成障碍。 二、技术选型 (一)软件结构选型。为实现在 任何展示终端中都能够显示,这里设计 的结构不再是常规意义上的 B/S 结构 (浏览器-服务器)或者 C/S(客户端- 服务器)结构,而是遵循“前后分离” 的 模式,当下阿里巴巴也在做这样的事情, 只不过业务不同罢了。 “前后分离 ”需要 做到接口规范清晰定义,数据格式清晰 定义,后端开发无需关心前端的业务逻 辑,前端业务无需关心后端开发进度。 两者之间的关联通过“ 数据访问层 ”和 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 6 “传输协议”进行了隔离,实现了 “解耦”。 基于 REST 风格的 Web 服务结构,保 证了任何终端都能使用同一个后端服务, 不对展示前端的平台做任何限制。 (二)软件开发技术选型。开发 技术选择 SpringMvc+Ma-yen,Spring 是轻量级开源的 Java 开发框架,可扩展 性强,不仅有自己的 JPA 规范,而且几 乎兼容市面上所有的数据库框架(如 Hibernate,Mybatis 等) ,同时全面支持 REST 风格开发。选择 SpringMVC 作为 “数据访问层 ”既安全又便捷。 (三)数据库的选择。遵循敏捷 开发原则,逐步迭代,刚开始选择轻量 级框架和数据库:Mybatis+Mysql;选 择 MySql 数据库的作为第一首选,是因 为 Mysql 发展很快,阿里云数据库服务 就是在开源 MySql 的基础之上升级改造 出了性能和功能超过 Oracle 的软件。加 之 MySql 提供了 Cluster 分布式集群数 据库,经测试集群 MySql 在多个机器的 内存之间传输数据非常快。选择 Mysql -精选财经经济类资料- -最新财经经济资料-感谢阅读- 7 作为数据库,在相当长的一段时间内不 会变动。后期根据实际需求和业务需要 可以考虑更换为重量级框架和数据库: Hibernate+Oracle。 (四)软件通信协议选择。通常 Web 服务不需要通信协议,直接通过网 页的形式展现服务结果。这种方式使得 服务器和前端形成高耦合,属于强关联 关系,伸缩性低,不便于后期扩展。软 件平台提供的服务不应该局限于浏览器, 它既可以是浏览器,也可以是桌面应用 程序,还可以是移动端 App,因此在服 务器和终端之间加入一层通信协议,只 要能够遵循这种协议格式,就能基本实 现“前后分离 ”式的同步开发。当前市面 上比较通用的两种数据交换格式分别是 XML 和 JSON。JSON 是一种轻量级的 数据交换格式,它采用完全独立于语言 的文本格,编码比 XML 简单,结构也 更清晰,占用空间更少,节约带宽;考 虑到服务的密集型访问带来的宽带消耗, 大量碎片数据传输引起的性能消耗,通 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 8 信协议的选择更适合选择 JSON。 (五)浏览器前端开发技术选择。桌面 端市场主流框架有很多,比如: Bootstrap,jQueryUI,ExtJS,D0jo,M ootools,YUI 等等。对于桌面端,目前 Bootstrap 和 jQueryUI 已经可以满足大 多数的开发需求,从展示效果,美观程 度上,Bootstrap 更胜一筹。Boot-strap 本身是基于 jQuery 进行 JavaScript 处理, 所以浏览器的选型使用 HTML5+CSS3+Bootstrap 作为基本配置。 接着前端开发的另一个重要组成就是 js 框架。选择 js 框架的参考的因素是,前 端是否需要投入更多的精力,是否需要 承担更多的业务逻辑。在实现软件服务 平台的“前后分离 ”,同时适当分担服务 器的压力,前端的业务逻辑不可缺少, 在市面上支持 MVVM 模式的框架已经 三分天下:angular、vue 和 react。vile.js 有更好的性能,并且容易优化,语法结 构与 angularjs 相当。这里选择 vue 作为 前端开发的 MVVM 框架。 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 9 (六)移动端开发技术选择。移 动端的操作系统阵营有: Android,IOS。以及应用层的微信 App,两大操作系统完全不同,开发难 度和成本都很高,我们通常开发的 app 软件都属于原生程序(使用操作系统的 API 开发的软件) ,现在出现一种新技 术叫做混合 App 开发(HyBrid) ,实现 了一次编码多平台使用的跨平台执行特 点。经过实际测试,这种技术可以应用 在校园软件服务平台的展示端(终端) 。 初步选择起步公司的 Wex5 开发工具。 Wex5 对 cordova 插件进行了封装,使 用 HTML5 技术就能自动转换成安卓 App 和苹果 App。 三、数据库层 数据库使用 mysql,相比 MicrosoftSql,它是跨平台的,对各个开 发语言友好,占用空间小,性能高,首 次使用可与服务器安装在一个操作系统 中,根据需求的变化,完全可以迁移到 独立的数据库服务器中运行,甚至可以 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 10 使用 mysqlcluster 集群分布式放在多个 数据库服务器中(在虚拟机云就更加方 便管理) ,而迁移后的配置变更只需要 对配置文件中的 IP 地址进行变更即可, 迁移成本非常低,配置灵活。 四、数据访问层和传输协议 (一)负责上层的连接管理。数 据访问层由 SpringMVC+Maven 实现, 通过配置文件访问具体的数据库软件, 所有与数据库软件由直接接触的操作都 由这一层负责连接和管理,这里使用轻 量级数据库 ORM(对象关系管理)框 架 Mybatis 统一管理所有的数据库层。 经过 Mybatis 框架将数据库中的表结构 转换成 Java 对象,让开发真正面向对象, 而无需考虑具体数据表结构。 (二)提供下层访问接口。在 SpringMVC 中提供 controller 层(MVC 中的 c,控制层) ,controller 中充分使 用 Spring 的注解语法RequestMapping 和ResponseBody 提供 RESTful 风格接 口服务。这是关键的核心所在。这种风 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 11 格是决定“前后分离 ”的最重要因素,是 前后端同步开发的充分条件。 (三)制定接口服务规范。在 SpringMVC 的 controller 中实现访问接 口服务的开发,同时在 controller 中定 制服务规范,提前定义好 GET/POST 的 使用语义,基本 CRUD 操作的命名规则, 以及制定服务器后端的访问权限,参数 个数,参数类型,返回数据的结构,前 端的接收方式,接收格式。前后端都要 遵循服务规范,才能无障碍通信。 (四)传输协议。在 SpringMVC 项目中添加 jackson 依赖关系包,Spring 项目中默认支持 Jackson 插件,jackson 插件负责将 Java 对象转换成 JSON 字符 串,这N 转换时隐式的,不需要明显 的代码调用,只需要在依赖关系中添加 jackson-core, jackson- databind,jackson-annotations 三个包, 然后在 controller 的方法头上加入 ResponseBody 就能实现返回数据自动 转换成 JSON 格式的数据。 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 12 五、展示终端层 (一)遵守服务规范。根据上层 制定的访问接口规范,展示层尽量使用 非阻塞的方式访问服务,获取返回数据。 非阻塞(异步访问)的方式最常用的就 是 Ajax 技术。根据服务器提供的 REST 风格接口地址,在前端 jQuery 中使用 $.ajax() ,$.post() ,$.get()等异步 方式访问服务器接口,然后在回调函数 success(data)中获得 JSON 数据,返 回的 data 数据直接可以作用对象或者数 组使用。解析方式遵照服务规范执行。 (二)桌面端和移动端。作为服 务型软件系统,对实时性要求不高,再 加上移动端的浏览器都实现了 HTML5 的标准,在这个前提下,移动端开发技 术的选择最适合使用的是 HyBrid 方 式混合式开发。目前主流的开发模 式无外乎三种,分别是 NativeApp,WebApp ,HyBridApp。 1.NativeApp,原生 App,使用原 生(即 Android 或 iOS)开发的 APP。 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 13 2.WebApp,就是把手机当做一 个浏览器。 3.HyBridApp,综合了前面两种 技术,性能和速度都介于前面两种之间。 国内外兴起的 HyBrid 开发框架 集成环境有:Wex5(基于 PhoneGap) , AppCan,DCOULD,IONIC,APIClou d 等等,以免费,开发速度,跨平台作 为考量指标,适合校园软件服务平台移 动端的开发工具和开发环境是 Wex5, 虽然这款工具在质量和效率上与国外还 存在差距,选择它是因为在国内普遍需 要应用的环境有:安卓,IOS,微信平 台。而由 Wex5 开发的混合 App 同时支 持桌面端的浏览器,几乎前端平台全兼 容。 作为移动端的服务部署也要考虑 兼容 JavaWeb 平台,Spri-ngMvck 框架 实现的服务器容器 JEE(常用的是 Tomcat)后期可引入 Apache 或者 Nginx 做负载均衡,Wex5 制作出来的 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 14 软件也是部署在 Tomcat 下,与整个系 统可以融为一体。既可以直接使用浏览 器访问,也能通过 App 安装在手机移动 端访问,一举两得。 关键配置,将 JEE 项目 war 包, 放人到 Wex 自带的 Tomcat 中,即可实 现前端调用服务接口的实际测试。 六、项目管理 项目管理工具中 Maven 提供了一 个插件,叫做:maven-War-plugin。这 个插件的作用是实现子系统项目合并和 分离的重要工具。使用 maven-War- plugin 插件做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论