引言
随着改革开放的深入,公众对执法部门的工作效率、应变能力和工商执法处理能力等提出了更高的要求。对于移动性、紧急性强的行业,要满足公众的这些要求,单靠传统方式增加工作人员,是无法实现的。
只有依靠信息技术,将服务、综合监管以及执法过程移动化、数字化、网络化和智能化,向科技要效率,才能提高工商人员执法工作的准确度及快速反应能力。同时,减少人为因素对监管执法的干扰,从技术上保证执法过程的公开、公平、公正。
工商执法部门传统的监管手段主要存在以下的一些缺陷:
① 工商系统外勤执法人员外出巡查监管工作量大、流动性强,经常需要在非办公环境中对信息进行查询和记录,需要随身携带大量纸制文件,十分不便;
② 不能实时的将巡检、执法结果反馈到内部业务系统,而且每天收集完信息都要回单位集中录入,工作量大;
③ 面临食品安全压力,重要商品备案成为了监管的有效手段,手工备案不但工作量大,效率不高,得不到商家的积极配合,而且对“问题食品”无法作出快速反应,需要有的放矢地加强监管。
通过对以上对缺陷的分析,本文有针对性地设计了一个工商移动监管系统,该系统主要用于执法过程中信息采集和上传以及对于执法人员的监督和管理。对企业违法行为通过移动终端的拍照功能可现场提取有效证据并及时把现场执法信息上传至服务器,最终反馈到工商局等相关部门。
1 系统总体设计
本课题从系统的体系架构入手,设计了一种基于Android平台的工商移动监管系统。该系统采用 Openmobster开源框架进行搭建,作为基础云平台,系统在云平台进行部署,通过 SaaS的方式给用户提供服务。系统主要分为三部分:服务器、Android手机客户端和Web客户端。采用C/S模式和B/S模式相结合的架构,其中服务器端和手机客户端采用C/S体系架构,保证了该系统的实时性、稳定性和安全性。
服务器端和Web客户端则主要采用B/S架构,主要的事物逻辑放在服务器端实现,少量的事物逻辑放在Web客户端实现。简化了系统的操作与维护,保证了系统有更好的可扩展性。
系统开发涉及到的具体技术有HTML、JSP、Servlet、Web Service、Android等,实现了操作系统和运行平台的完全解耦合,可以运行在各种类型的服务器上。数据库使用 Mysql数据库,Web服务器使用JBoss服务器(JBoss应用服务器集成了Tomcat Web服务器)。
以上的设计不仅考虑到以后因业务需要而进行系统功能可扩展的方便性,而且在确保系统稳健运行的基础上提高了系统的高效性,使得系统为后续的更新升级奠定了良好的基础。下面将对系统的三个主要部分进行简单的描述。
手机客户端:基于Android平台进行开发。通过WiFi无线网络与Internet网络建立连接,通过服务器实现与Android客户端或Web客户端之间的即时通信。手机客户端负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。
服务器端:Openmobster手机云平台运行于JBoss应用服务器上,在接收到客户端连接请求时,服务器会对每个客户端的连接进行认证,对认证通过的客户端创建会话,客户端与服务器端之间的通信就在该会话的上下文中进行。
Web客户端:依托于Openmobster手机云平台,将JSP文件制作成war包的形式,部署在JBoss服务器的deploy文件目录下,在服务器启动的时候,会自动加载。主要负责向服务器发送请求,并显示服务器返回的数据。系统总体架构如图1所示。
图1 系统总体架构
系统的通信模式采用WiFi、GPRS或者3G网络,定位采用GPS卫星定位的方式。Android手机客户端主要负责完成用户基本的执法操作,并将工作过程中采集到的信息和图片,通过网络上传至服务器。服务器端主要负责响应用户发送的请求并连接数据库,将手机端发送的图片或文字信息写入数据库。Web客户端主要负责提供友好的交互界面,通过Internet向Web服务器提交HTTP请求(Request),将请求参数传送给Web服务器,并将Web服务器响应的结果展示给用户。该系统的软件功能结构如图2所示。
图2 系统软件功能架构
2 Web客户端的设计与实现
Web客户端主要使用户通过浏览器连接系统的Web界面,然后通过 PC机实现对系统的操作。将Web客户端分为三个部分:UI界面、逻辑处理和数据交互。
UI界面:UI界面提供给用户一个操作的窗口,实现功能的交互。UI界面的设计是基于HTML的,根据用户的需要选择控件,按照一定的布局设计UI界面。
逻辑处理:主要功能就是响应用户的操作。这里主要是对用户添加、删除、修改、查询数据库等一系列操作进行逻辑处理,然后调用对应的通信接口给服务器端,处理服务器端返回的消息,控制界面的对应响应。
数据交互:主要是建立在HTTP数据传输协议上的,将用户发送的请求(Request)通过get或 post方法传递给服务器,并将服务器返回的处理结果传递给对应的UI界面显示,从而实现Web客户端和服务器端的交互。
工商移动监管系统Web客户端主要实现了以下的功能:
① 用户登录。通过Web客户端的用户登录界面实现对用户的身份认证和角色鉴别。
② 用户查询。Web客户端管理人员通过查询相关执法人员上传的信息并反馈到工商机关相关部门,以此为依据对企业进行合法的管理。
③ 下发通知。通过Web客户端下发任务通知,服务器端定时检测是否有新的任务,一旦检测到任务有更新,便将该通知推送至手机客户端。
④ 数据删除。Web客户端可以对用户上传至服务器端的执法信息进行删除,并删除数据库里对应的记录。
⑤ 追踪定位。Web客户端可以将移动执法终端定时上传的位置信息显示在地图上,方便工商机关对外出执法人员的监督和管理。
工商移动监管系统Web客户端的功能模块图如图3所示。
图3 Web客户端功能模块图
3 服务器端的设计与实现
服务器端的设计采用MVC的设计模式,主要分为三部分:数据交互、逻辑处理和数据操作。
数据交互:主要提供服务器与Web客户端和Android手机客户端之间的数据通信,其中服务器与Web之间的数据通信是通过Internet,利用HTTP数据传输协议实现数据交互;而服务器与手机客户端之间通过WiFi或者GPRS网络,利用Socket的通信连接方式进行数据交互。
逻辑处理:主要是响应来自Web客户端和Android手机客户端的命令请求,然后进行相应的逻辑处理,并把处理的结果通过数据传输协议返回给请求的端。
数据操作:数据操作主要是针对数据库的操作,比如添加、查询、修改和删除等数据操作。总的来说,服务器是在 Openmobster平台上运行的,因此服务器的很多数据操作都需要调用 Openmobster提供的 API函数。
工商移动监管系统服务器端主要实现了以下的功能:
① 服务器认证。用户通过安装在手机上的客户端软件,向服务器发送连接请求,服务器端会调用平台相应的认证接口查询数据库,判断用户信息是否合法。
② 创建连接。如果用户的信息合法,则通过服务器的认证,然后服务器会调用相关接口,与手机客户端创建连接,使手机客户端被激活。
③ 数据上传。主要指手机客户端将采集到的信息上传到服务器,根据云平台的数据传输协议,服务器端Channel的相关函数会定期检查从手机端发送的Bean数据包是否有更新,一旦检查到数据发生变化,便会根据平台的同步机制,实现数据的上传。
④ 数据下发。主要是指服务器端将信息下发给手机客户端,同样的,也是根据Openmobster云平台的数据传输协议。服务器端的另外一个处理数据下发的Channel的相关函数会定期检查数据是否发生更新,如果检查到数据发生变化,则会根据平台的推送机制,实现数据的下发。
⑤ 数据存储。主要是指从客户端上传的数据信息,服务器在接收该数据包以后,首先解析然后将其存入数据库。
工商移动监管系统Server服务器端的功能模块图如图4所示。
图4 服务器端功能模块图
4 Android手机客户端的设计与实现
根据MVC的设计模式,将手机客户端的设计分为三部分:UI界面、逻辑处理和数据交互。
UI界面:UI界面的设计主要是通过调用Android平台自身的UI控件,按照一定的布局,将这些控件组合起来,从而实现我们需要的界面。比如系统的新建、查询、修改、上传和删除界面等。
逻辑处理:主要功能是响应来自服务器端的命令请求,并将处理的结果通过调用相应的通信接口返回给服务器端。比如系统的查看轨迹和上传数据等功能。
数据交互:主要功能是与服务器进行数据通信。手机与服务器之间的数据通信主要是基于WiFi或者GPRS网络连接,将需要进行交互的数据封装成JavaBean形式的数据包,利用Socket的通信方式,实现数据在Channel数据通道的传递。在连接建立之前需要首先激活手机设备,使服务器与手机建立通信连接,才开始进行数据交互。
工商移动监管系统手机客户端主要实现了以下的功能:
① 激活手机。该功能是利用平台自身的手机客户端软件,通过输入在该平台成功注册的合法用户信息,与服务器之间建立连接。
② 用户登录。手机客户端需要输入合法的用户信息,才能登录该系统。
③ 用户注册。如果用户是第一次使用该系统,需要首先注册一个用户登录的账户。
④ 定位。用户在执法的过程中可以对当前的地理位置进行定位,并在地图上显示当前的位置。
⑤ 标注。在某些情况下,地图上并没有标出当前的位置信息,因此需要点击屏幕需要添加标注的位置,然后在地图上添加一个图层以显示当前的位置信息。
⑥ 截图。用户可以将地图上显示的位置信息,进行截图,做为自己工作的依据。
⑦ 拍照。用户在执法过程中可以对违规的产品或行为进行拍照取证。
⑧ 签注。用户可以对执法过程中遇到的不同的问题进行简单的签注。
⑨ 插入数据库。当用户执行完任务以后,将采集到的信息写入数据库,方便上传到服务器。
⑩ 查询。用户可以在手机端直接查看自己的工作记录。
11 修改。用户可以在手机端直接修改自己的工作记录。
12 删除。用户可以删除存储在本地的已经上传的工作记录。
13 上传。用户可以将需要上传的工作记录,上传至服务器。
14 上传和下载个人信息(比如:通讯录、短信和通话记录)。用户可以将自己手机的个人信息上传至服务器,在需要的时候还可以从服务器下载。
15 轨迹查看。用户可以通过从服务器端下载好友的位置信息,并在手机端的地图上显示运动轨迹。Android手机客户端的功能模块图如图5所示。
图5 手机客户端功能模块图
5 实现结果
系统采用C/S模式和B/S模式相结合的架构来进行实现,服务器端与Web客户端通过HTTP数据传输协议进行通信,服务器与手机客户端通过Socket 进行网络通信[5]。
在服务器端使用了Openmobster手机云平台,该平台的底层支持功能强大,为系统的通信连接即数据的上传与下载提供了良好的保障。客户端采用Android手机平台,由于Android提供了丰富的接口,使系统具有良好的可扩展性。该系统可以实现拍照、截图、标注、定位、签注、上传和查看轨迹等功能。通过该系统的登录界面、主界面和新建界面实现的结果分别如图6所示。
图6 登录界面、主界面、新建界面结果图
结语
本文通过对一种手机云平台的研究,利用其提供的云推送和云同步的技术,通过服务器与客户端之间的Socket进行网络通信,实现了基于Android平台的工商移动监管系统。
本系统为工商执法人员随时随地进行移动执法提供了可能,而且还可以将现场采集到的信息及时上传到服务器,加强了工商机关对企业的监管。但是不能忽视的是,系统目前还存在很多不足,比如:还没有与工商机关的后台数据库服务器相连接,工作人员不能在现场对企业的各种信息进行查询。此外,服务器端的功能有点单薄,需要进一步的补充和完善。