基于智能客户端技术的消防信息管理系统开发

时间:2023-04-18 15:20:07 手机站 来源:网友投稿

摘要:本文介绍了智能客户端的概念,分析了消防信息管理系统总体架构,并分别阐述在服务器和客户端的设计与实现。

关键词:智能客户端;管理信息系统;数据冲突

中图分类号:TP315文献标识码:A文章编号:1009-3044(2008)14-20842-01

1 智能客户端简介

目前管理信息系统的实现方式大致分为两种:C/S(Client/Server)和B/S(Browser/Server)。前者称为胖客户端,它充分利用客户端资源,减轻服务器压力;但它必须为每个客户端修改注册表、更新组件等。后者称为瘦客户端,它把数据层、业务逻辑层等组件都集中于服务器,部署方便,但服务器压力重而客户端资源闲置。微软的智能客户端正是这两种架构的优势融合技术的典型代表。

微软对它的定义是:智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和到分布式数据资源的智能连接,从而为用户提供适应的、快速响应的和丰富的交互式体验。

智能客户端是一个连接到互联网的设备,它允许用户的本地应用程序通过Web服务和服务器应用程序交互,从而将胖客户端和瘦客户端应用程序的优点很好的结合在一起。智能客户端具有以下全部或部分特征:利用本地资源;利用网络资源;支持偶尔连接的用户;提供智能安装和更新;提供客户端设备灵活性。

2 系统目标

消防信息管理系统主要目标是对与消防通信指挥工作有关的各项信息进行综合管理,为消防部门在火警受理、火警扑救、日常管理等工作过程中提供信息支持。这些信息包括:消防实力信息、消防水源信息、重点单位信息、易燃易爆品信息等。在对某些信息进行采集时,数据采集人员需要到现场才能准确有效的采集相关数据。但消防中队、重点单位、水源等信息源的地理位置分散,因此数据采集人员需要在无法连接到网络的情况下进行工作,再在以后某一时刻将客户端数据与服务器端数据进行同步。

3 系统总体架构

消防信息管理系统解决方案包括三个组件:数据库、Web Service和使用Windows窗体类生成的智能客户端应用程序。其中数据库选用的是Microsoft SQL Server 2000,开发工具是Microsoft Visual Studio 2005。它与传统的客户端/服务器架构最大的不同就在于使用了Web Service作为其数据访问的中间层。

智能客户端应用程序通过将用户名和密码传递给身份验证Web Service来对用户进行身份验证。身份验证成功后,Web Service将向智能客户端应用程序传回一个加密票,该加密票将被存储到服务器缓存中,并在将来每次请求数据时提交给数据Web Service。数据Web Service将验证该加密票并处理数据请求。

数据库由数据Web Service访问,出于安全考虑,Web Service仅使用存储过程访问数据库上的数据。通过数据Web Service完成数据库的检索和更新,可有效的实现程序模块间的松散耦合,确保只有经过验证的客户端用户才能查询数据库中的敏感数据。Web Service运行在公共服务器上,任何应用程序都可以通过Internet或Intranet对其进行访问。但只有能够提供有效用户名和密码的应用程序能够使用它们。

4 服务器端设计与实现

消防信息管理系统服务器端由数据库和Web Service两部分组成。系统使用Microsoft SQL Server 2000数据库存储共享数据,所有的数据库查询和更新都使用存储过程,提供与其他层的有效隔离和高安全性。系统采用面向服务的体系结构,Web Service负责处理身份验证和来自于客户端应用程序的数据请求。

4.1 Web Service服务器

在智能客户端应用程序中,大多使用Web Service来作为数据访问的中间层。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。可以认为Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

消防信息管理系统采用面向服务的体系结构,由Web Service作为中间层负责身份验证和数据处理,并与后台数据库服务器交互,来检索数据或验证用户身份。

4.2 身份验证Web Service

身份验证Web Service的执行过程是:用户提供的用户名和密码,通过身份验证Web Service递交给数据库,数据库使用一个存储过程验证用户名和密码,如果验证成功,返回嵌套了用户ID的唯一加密票。如果验证用户名和密码失败,则不返回任何内容。

4.3 数据Web Service

数据Web Service提供了客户端应用程序用以检索和更改数据的功能,并且提供了身份验证服务,能够验证用户的每个请求。数据Web Service的每种公共Web方法都要提供调用者的身份加密票。在返回任何数据之前,在加密票缓存中检查票是否存在。如果存在,说明在最近某端段时间内对用户名和密码进行了验证;否则票将无效或过期,如果票无效或过期,会从票中提取用户ID,并执行身份验证过程重新验证用户ID后,再向下执行。

5 客户端设计与实现

5.1 数据层组件

数据层类DataLayer处于用户界面和数据Web Service中间,用户界面的数据请求会通过数据层类间接调用。数据层类相当于用户表示层与业务逻辑层之间的代理类,由它调用业务逻辑层功能。数据层类实现了程序界面与数据的松散耦合,系统与数据相关的操作,如数据检索、修改、身份验证等,都由数据层间接调用Web Service来完成。

5.2 数据冲突处理

数据冲突处理主要是处理并发,并发是多个用户访问相同数据的管理策略。并发主要分为开放式并发和保守式并发。本系统采用的是开放式并发。

当客户端尝试更新或删除数据库中的数据时,若这些数据自该客户端上次访问它们以来已被更改,或者根本不存在,就会发生数据冲突。通常可以通过引发错误或者简单地使用客户端版的记录重写数据库中的任何内容来处理。第一种方案会导致客户端的工作无效。第二种方案带来的风险是忽略和删除自从客户端上次检查数据库以来输入的重要数据。在该系统中对此问题引入了一个简单的解决方案,主要依靠.NET框架中的ADO.NET库的DataSet对象中的功能。

5.3 脱机—联机工作模型

消防信息管理系统可以处于脱机或联机两种工作模式,工作模式的选择是由单击脱机/联机按钮来完成的。程序首先检查是否存在本地脱机数据文件和更改数据文件,如果这些文件存在,将加载它们到DataSet并以脱机模式运行。若这些文件不存在,程序将以联机模式运行,直接通过调用数据Web Service与数据库进行交互。

参考文献:

[1] Microsoft MSDN技术文档.智能客户端定义./china/msdn/developercenter/smartclient/SmartClientDefinition.aspx.

[2] 刘海波,钟志农,陈宏盛,等.智能客户端技术研究及应用[J].兵工自动化,2006(11).

[3] David Hill,Brenton Webster,Edward A.Jezierski.智能客户端体系结构与设计指南./china/msdn/library/architecture/architecture/architecturetopic/SCArchDeGuide/cover.mspx?mfr=true.

推荐访问:信息管理系统 客户端 智能 开发 技术

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。