网络评分系统的设计与实现

2020-08-17 06:00谭正龙
视听 2020年8期
关键词:服务器端浏览器应用程序

□ 谭正龙

一、开发平台的选用和介绍

该款评分软件使用Visual Studio 2019平台开发,Microsoft Visual Studio(以下简称为VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,包含了整个软件生命周期所需要的大部分工具。评分系统使用C#语言为基础开发语言,采用.NET平台WebAPI模式开发服务器端,采用Bootstrap、knockout.js、WPF构建跨平台客户端,利用Jquery的AJAX方法调用和服务器端进行数据交互实现。

二、系统功能及可行性分析

该款评分系统采用B/S、C/S架构,在服务器端实现会员注册、会员权限管理、参赛数据收集、评分数据读写等功能;在客户端通过Jqury的AJAX方法调用实现和服务器端的数据交互,从而实现评分过程。之所以采用WebAPI模式开发服务器端是出于客户端跨平台特性的考虑。采用WebAPI模式时,服务器和客户端传输数据可选择JSON格式。JSON格式是一种轻量级通用的数据交换格式,可以轻松将JSON格式数据转换成JavaScript对象。得益于JavaScript在多种应用中的广泛使用,JSON可在手机浏览器、电脑浏览器、电脑程序、微信等多类客户端和服务器实现无差别通讯,丰富客户端形式。以下从服务器端及客户端分析系统可行性。

(一)服务器端

完成服务器端会员注册、会员权限管理、参赛数据收集、评分数据读写等基本功能,首先要建立会员模型、权限管理模型、参赛模型和评分模型,然后利用VS平台的代码优先规则建立从模型到数据库关联,进而实现模型数据读写的基本功能。相应模型、相关数据库建立以及服务器寄宿方式设置如下。

1.会员及权限模型。构建该系统的权限管理模型时,该系统对会员身份的需求大致可以分为系统管理员、比赛管理员、评委、参赛者和普通会员五类。系统登录采用注册登录制,系统管理员具有更改已注册会员身份的权限,采用ASP.NET的Identity模块来实现该系统的会员功能。ASP.NET Identity可用于所有的ASP.NET框架,如ASP.NET MVC、Web窗体、网页和WebAPI。采用ASP.NET的Identity建立模型可简单实现跨平台的用户管理。主要用户模型字段及角色模型字段建立如表1。

表1 用户模型表

业务流程如图1,管理员划分角色。

图1 注册管理流程

2.评分模型。系统管理员添加比赛并分配比赛管理员,比赛管理员完成添加比赛评委及参赛者后,添加单场比赛评分项,评委根据比赛进程进行打分操作,主要涉及评分模型字段建立和评分流程,如表2和图2。

表2 数据库表格

图2 评分流程

3.创建数据库。至此已经设置好主要模型,通过VS的代码优先编程模型,可以依据数据模型创建数据库实体。为给定数据模型协调实体框架功能的主类是数据库上下文类,通过创建派生自DBContext的类来定义这种对应关系。根据前述设置好的模型,通过代码优先规则共生成了用于存储数据的5张数据表,分别用于存储用户、角色、比赛和评分记录等信息。

4.服务器寄宿方式。服务器端可通过设置寄宿方式,达到支持多类型客户端的目的。WebAPI寄宿的本质是利用一个具体的应用程序为WebAPI提供一个运行的环境,并最终解决“请求的接收和响应的回复”。该评分系统采用Web Host方式寄宿WebAPI接收以及响应来自微信、移动客户端浏览器、电脑端浏览器的请求,采用Self Host方式寄宿WebAPI接收以及响应来自电脑应用程序的请求,如图3。

图3 寄宿方式

(二)客户端

该评分系统支持多种形式的客户端,主要包括移动设备浏览器、电脑浏览器、微信和电脑应用程序,采用电脑程序端可以实现评分过程、评分结果的投屏显示,方便评分进程公开化。下面主要以移动设备端以及电脑程序端进行说明。

1.移动设备端。移动设备客户端采用Jquery的AJAX异步通信模式和服务端实现数据交互,移动设备客户端发送的请求通过服务器的Web Host模式路由到达对应的服务处理程序中进行处理,服务器再将处理结果返回客户端。为了在多种屏幕大小不一样的设备中获取最佳使用体验,使用了Bootstrap和knockout.js进行界面的设计以及界面元素和后端数据的绑定。

2.电脑应用程序端。电脑应用程序设计是为了获得更好的投屏显示效果,因此采用了VS平台中的WPF来进行开发。WPF的优势在于图形向量渲染引擎,能开发出较为酷炫的界面以满足投屏显示评分过程及评分结果的需求。电脑应用程序端发送的请求通过服务器的Self Host模式路由到对应的服务处理程序中进行处理,服务器再将结果返回客户端显示。

三、主要代码设计与实现

(一)在服务器实现Web Host寄宿以支持与移动设备浏览器、微信、电脑浏览器的连接与数据交互。采用Web Host方式寄宿WebAPI,ASP.NET自身的路由系统会成为接收请求的第一道屏障,因此我们需要做的就是根据需求注册相应的路由。在项目中添加一个Global.asax文件,并建立Application_Start方法,在方法中完成路由设立,代码如下:

(二)在服务器实现Self Host寄宿以支持与电脑应用程序的连接与数据交互。对比Web Host寄宿方式,Self Host不仅要完成必要的路由注册,还需要完成手工加载定义了HttpController类型的程序集。

之后在WPF应用程序端的启动程序中设置Http-Client访问服务器,通过HttpClient的GetAsync方法获得需要的数据。

(三)在客户端通过调用Jquery的AJAX方法来实现与服务器的连接与数据交互。由于该方法重用率高,应建立AJAXHelper工具以方便重复调用AJAX方法。

四、结语

本文阐述了网络评分系统的设计与实现,包括系统数据模型的建立,服务器与客户端主要功能部分的实现过程等内容。评分系统由服务器、多类客户终端组成,操作简单,可实现移动设备如手机端打分,具有较强的通用性,适应多种场景,可以为各项活动、比赛、晚会等评分、显示提供便利途径,提高打分的效率及准确率。

猜你喜欢
服务器端浏览器应用程序
Linux环境下基于Socket的数据传输软件设计
删除Win10中自带的应用程序
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
谷歌禁止加密货币应用程序
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序