第 2 章 平台相关关键技术
本章主要对平台相关关键技术进行介绍。通过上章对现有网上洗衣服务平台的技术分析,确定选择 B/S 架构实现服务器和客户端交互,采用基于 J2EE 和MVC 的 SSM 框架实现平台开发。
本章内容如下安排:第 1 节简要介绍 B/S 架构及用于本平台设计的优势;第 2 节简单介绍 J2EE 的分层结构及用于本平台设计的优势 ;第 3 节对 MVC模式的特点进行概述;第 4 节对对 SSM 框架的特点及优势进行介绍。
2.1 平台架构。
该平台将采用 B/S 架构实现客户端和服务器端。如 1.3.2 节中介绍的一样,B/S 架构与 C/S 架构是常用的两种平台架构。C/S 架构充分利用客户端和服务器端的硬件环境,将任务合理分配到两端进行实现,减少了平台的通讯费用。但是客户端必须安装应用软件,并且必须随着平台的改变而改变,使得平台不具备良好的可移植性。B/S 架构即浏览器/服务器结构,使得平台具有良好的可移植性、开发 成本低、易维护等。
2.1.1 B/S 概述。
B/S 是在 C/S 基础上改进后的一种网络架构[10]。采用 B/S 架构,只需通过浏览器便可以和服务器进行数据交互,简化了平台开发和维护。特点如下:
升级方便、维护简单。所有客户端通过浏览器连接和访问服务器,客户端不需维护,只需对服务器进行维护。分布式特点。用户只需一台可以上网的电脑,随时随地都能通过浏览器访问平台并执行操作。
服务器负荷较重。采用 B/S 架构,大部分事务主要是在后台服务器实现,压力基本是在服务器端,以至于服务器负荷严重。如果服务器出现问题,平台会随着服务器的“崩溃”而产生严重错误。详细描述见文献[11]。
从节约维护成本和给客户方便两方面考虑,决定采用 B/S 架构。由于该项目涉及的数据量较大,因此,使用较稳定且内存大的云服务器作为项目服务器,一定程度避免了服务器因重负荷导致严重错误发生,为了安全起见,采用定期备份和数据库日志等方法保存数据和记录操作。
2.2 J2EE 平台。
该平台将采用 J2EE 分层思想。J2EE 是一种基于 Java 平台开发、部署和管理的多层体系结构,因此,J2EE 同 Java 一样具有跨平台性、提供了 JDBC、API等技术、拥有“编写一次、随处运行”的可移植性等优点[12]。J2EE 主要针对的是企业级应用,因此,它同样具备了企业级系统开发所需的如下特征:可扩张;稳定可用;安全可靠等。
2.2.1 J2EE 体系结构。
J2EE 平台实质是个分布式应用模型,具有多层结构。如图 2.1 所示,J2EE被划分为表示层、控制层、业务逻辑层和数据持久层(数据访问层)。各层之间通过数据通信,完成平台的实现[14]。通过文献[15]中对 J2EE 的描述,可对 J2EE进行层次划分以及对各层作用进行分析。
表示层指的是客户端界面。通过 JSP 页面展示,使用 DIV 和 CSS 技术实现页面布局等。通过这些页面技术实现设计,给用户提供良好的界面体验效果。控制层为表现层和业务逻辑层搭建一座桥梁。通过接收用户请求,对用户数据进行封装,然后将用户请求提交给业务逻辑层处理并将结果返回至表示层。
业务逻辑层是核心,具有关联控制层和持久层作用,主要负责处理业务。业务逻辑层通过控制层传入的请求实现业务处理,然后返回结果至控制层。同时又为持久层提供数据,而后接收持久层返回的结果 。
数据持久层主要实现与数据库的数据交互。在数据对象和关系数据库之间建立映射关系,实现数据持久化访问,并且提供数据访问方法,避免开发人员手动编程访问持久层[16]。在持久层,还能对数据进行持久化编程,并为业务层提供服务。
在本项目实现中,前端页面和后台功能实现人员不同,采用 J2EE 的分层架构刚好将前端页面(表示层)和后台功能(业务逻辑层)分离开来,两者之间互不干扰,可以同步完成,减少了时间消耗。
2.3 MVC 模式。
该平台采用 MVC 设计模式,既可以实现平台的扩展性、维护性以及再用价值等需求,又可以方便设计和维护。下面对 MVC 模式进行描述。
2.3.1 MVC 概述。
MVC 模式是由 M(Model)、V(View)、C(Controller)三部分组成,M 代表模式中的模型层,V 代表视图层,C 代表控制层,这样分层将信息的显示以及业务的处理有效的分离开[18,19]。在平台开发中,用户界面(表示层)会不断变化,而其中模型层基本不变,所以才形成了表示层和业务逻辑层两层,控制层在两者之间起到连接作用。MVC设计模式图如下图 2.2 所示。
图 2.2 MVC 设计模式图[20]
Figure 2.2 The diagram of MVC patternModel:在 MVC 模式中占据重要地位,主要任务是处理业务,同时可以访问业务数据。模型可以重复被多个视图使用,有效地提升了程序的重用性[21]。
View:视图为用户提供一个操作界面,用户通过界面可以直观掌握信息,并且可以通过界面向平台发送请求,最后将请求结果返回至用户界面显示。Controller:控制器在视图和模型两者之间主要是连接作用。用户通过界面发送请求,控制器接收并对数据进行处理,最后通过视图形式返回数据至用户界面。
2.3.2 MVC 优点。
通过对 MVC 的描述可以简单总结出以下几点优点:首先,MVC 的分层缩短了平台开发周期和降低了开发成本;其次,视图层和模型层的分离使得平台具有低耦合性;再次,一个模型可以被多个视图使用这一特点使得代码具有复用性;最后,由于视图层和模型层的分离,使得前台开发人员和后台开发人员无需交叉开发,大家各司其职,缩短了项目部署时间等。
对于 MVC 的其他优点,具体介绍见文献[22],在此不再赘述。从该项目周期和成本考虑以及视图层和模型层分离思想考虑,MVC 设计模式是个不错的选择。
2.4 SSM 框架技术。
2.4.1 SSM 框架。
该平台采用 SSM 框架构建。SSM 框架是由 Struts2、Spring 和 MyBatis 三个框架集成[24]。共被分为表示层、控制层、业务逻辑层和数据持久层四层[16]。下面分别对 SSM 框架的四层进行简单介绍。
表示层是将后台数据通过视图方式展现在前台,主要利用 DIV 和 CSS 来进行 JSP 页面布局,利用 jQuery 技术、Ajax 技术对页面元素操作。控制层主要是通过 Struts[24]框架实现前后台数据传递和业务控制。控制层接收表示层传递的用户请求,根据配置文件 Struts.xml 调用业务层中的方法,然后返回结果至表示层。因此,对于 struts.xml 的配置很重要。
业务逻辑层利用 Spring 框架处理业务、进行事务管理。开发人员需要完成applicationContext.xml 中对数据源的配置、事务的管理以及数据映射器接口mapper 的创建等,同时该层还要定义业务逻辑接口及其具体实现。
数据持久层主要是将表数据持久化,放进内存中,然后利用 MyBatis 实现数据持久层接口与 SQL 之间的映射。当业务层在接收到用户请求后,调用持久层的接口方法时,接口方法会自动映射到 MyBatis 的配置文件中。
2.4.2 SSM 框架优势。
通过参考文献[16]中对SSM框架在Web开发中的优势描述,结合项目本身,可以简单总结出以下几点优势:框架中应用组件和配置文件的存在提高了平台开发的高效性;“低耦合,高内聚”的层次划分使得测试和维护方便;分离开发者的角色;使用集成好的框架,降低了项目的开发成本。基于以上几点,决定采用基于 J2EE 平台和 MVC 设计模式的 SSM 框架设计和实现网上洗衣服务平台。
2.5 本章小结。
本章首先通过对 B/S 架构和 C/S 架构的对比,选择具有升级方便和维护简单、分布式特点的 B/S 架构。其次通过对 J2EE 架构特点的分析,选择采用具有耦合度低的四层结构的 J2EE 平台。然后选择采用能缩短系统的开发周期和降低成本的MVC设计模式。最后选择了基于MVC设计模式和J2EE分层架构的SSM框架设计和开发。
“互联网+”时代的到来,给人们生活带来了巨大改变,从传统线下交易模式,进入了网上交易时代,包括洗衣行业在内的许多行业都在寻找通过“互联网+创新技术”模式获得新发展的路径。...
第7章总结与展望7.1总结本系统的前台设计主要是利用目前最新的html5、css3、javascript、jQury等流行前台设计技术,后台语言主要是利用php语言借助Notepad++工具开发编写程序,而数据库则采用了当前比较实用的MySql数据库。系统的整个设计过程...
第4章系统概要设计本章节主要是对系统做概要设计,所有系统设计都是自顶向下的展开的,在对系统的需求做完分析后,概要设计则是开展工作的第一步,本章我们将从系统结构设计和数据库设计两方面进行介绍。4.1系统结构设计4.1.1系统总体结构设计对于...
需求分析在整个项目开发过程中有举足轻重的作用,是后续平台设计与实现的基础。需求分析的目的是为了确定平台的主要功能并进行合理整理、归类和分析。本章结合洗衣平台整个业务流程的调研了解,对平台功能性和非功能性需求进行详细分析。...
网上洗衣服务的产生是为了解决传统洗衣的弊端,例如送洗繁琐、耗费时间长等。目前,市场上存在很多网上洗衣服务平台,主要以 e 袋洗、干洗客、泰笛等为代表。...
在本项目中,微信端、运营管理端、门店端和配送端四部分,最重要的是微信端和运营管理端的设计与实现,本章将对其中部分功能实现进行介绍。...
第1章绪论1.1项目开发背景及意义中国是一个有着五千多年文明历史的古国,中国文化博大精深,而其中,中国的饮食文化尤为突出。我国的餐饮文化源远流长,所以我国素有烹饪王国之美称。中国的烹饪不仅是我国各族劳动人民辛勤的劳动成果和智慧的结晶,更...
第6章系统测试本章节主要是对已完成的系统做测试,以检验该系统其中存在的缺陷和错误的地方。系统的编程设计工作完成之后最主要的就是对整个系统进行功能上还有性能上的测试,系统的功能是否存在问题与缺陷,运行效果是否流畅,安全性可用性是否达到标准...
通过第三章需求分析可知,网上洗衣服务平台具有数据操作量大、用户和数据库交互频繁、数据实时性要求较高等特点,选择合适的平台架构及实现技术进行项目开发很重要。本章将对其分层架构进行设计,对主要功能模块划分以及数据库设计。...
摘要当今世界,如果要评判一个国家的发展速度与进步水平,那么这个国家对教育的重视程度将会是一个重要的考量因素。随着我国经济水平的不断提高,国家政府对教育事业也越来越重视,而随着受教育人数的不断增加,高校对学生各个层次的管理变得越来越困难,...