校园软件服务平台的开发与搭建

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功