农场科技通平台的设计与实现
2014-07-21陈争光王德福
陈争光+王德福
摘要:农场科技通平台是农场信息化建设的重要组成部分。系统基于ASP.NET技术开发,以SQL Server 2005作为数据库,主要实现了科技信息、地块数据、视频培训等功能模块,并将这些模块和短信收发功能进行集成。在软件结构方面采用三层架构开发,提高了系统的开发效率和后期的可维护性。在安全性方面对系统用户进行分角色管理,提高了系统的安全性。
关键词:信息系统;农场;ASP.NET;三层架构;短信收发;系统安全
中图分类号:TP391;S126 文献标识码:A 文章编号:0439-8114(2014)03-0686-04
近年来,通过实施“金农工程”、“三网合一”等重大工程,中国农业、农村信息化水平明显提高,越来越多的农民过上了“数字生活”[1],随着信息技术在农村的迅猛发展和农村网络基础设施建设的不断推进,99%的乡镇能上互联网,基本实现了乡乡有网络[2]。计算机网络在农业生产的各个环节起着越来越重要的作用,农民也越来越多地依赖于计算机网络获取农业生产信息。
应黑龙江农垦总局某农场的要求,开发基于Web的农场科技通平台,将计算机网络和手机网络进行资源整合,实现农业生产信息(市场信息、农时信息、天气信息、病虫害信息等)的快速传递,为农业高产稳产提供信息支持。系统采用B/S的体系结构,以ASP.NET技术为主,结合AJAX技术,采用SQL Server 2005存储和管理数据,并利用其数据挖掘功能,开发一个农业信息管理系统以便准确快速地集中、分析、管理相关信息,帮助农业生产者和管理者更好地管理农业生产信息,为农业生产提供信息和技术支持。
1 系统功能
开发一个基于Web和GSM短信服务的农村科技服务信息系统,用于指导农场农业生产。该信息系统要求具有以下8个方面的功能。
1)建立农业数据库框架。农业数据库内容包括:农场主要农业生产技术、农场主要农业政策法规、农场农业质量标准、常规生产资料信息、农场农业科技人才信息库、农场农业科技项目、农场畜牧养殖技术规程等。
2)农业专家智能咨询系统。针对农场三大农作物(水稻、玉米、大豆)实现专家级咨询,用户可以通过多种方式搜索病虫害信息,系统给出较为准确的病虫害防治措施和建议。
3)科技信息系统。发布最新的农时、农情、农业生产信息、农业科技信息、农作物病虫害信息、天气信息、市场行情信息等。
4)网上视频培训系统。将农事生产视频录像存放在服务器上,供科技人员或农户下载观看、学习,提高农民的生产技术水平。
5)地块数据查询。农业部已经在全国范围内进行了为期3年的测土配方施肥项目,增产效果非常明显。2010年农业部准备在全国范围内继续进行测土配方施肥项目[3]。为配合农业部此项工作的开展以及农民的实际需求,系统中存储了多年的测土配方施肥信息,系统可以根据农民的需求,及时高效地查询耕地测土信息,方便农户及时调整配方施肥方案。
6)短信收发功能。系统能实现短信收发功能,并且将此项功能与其他功能,如科技信息系统等进行整合,实现这些信息的短信方式传递。
7)系统安全要求。系统对于大部分的信息搜索和浏览没有权限控制,但是对于数据表的插入、修改和删除等操作需要相应的权限。系统用户管理是系统安全运行的一个重要方面。
8)系统管理功能。对系统用户进行权限分配以及各个功能模块数据的插入、修改和删除等。
以上8个方面的功能中,部分功能需求实际上属于内容管理[4,5]的范畴,该系统采用面向对象的设计方法,在实现过程中采用三层架构[6-8]。系统着眼于实现农场信息化的长远目标,依据目前农场信息化的要求作出规划和部署。系统整体结构如图1。下面重点介绍短信收发和系统安全等方面的设计。
2 短信收发设计
短信收发功能主要实现手机用户和网站系统之间的互动。最常见的基于Web的短信收发系统结构[9]如图2所示。用户既可使用计算机终端通过Internet或Intranet将信息通过SMS System发送给手机用户,手机用户也可以通过SMS System查询Web站点内容,进而与计算机终端用户之间交互。
计算机终端用户将需要发送的信息通过网络发送至Web服务器,Web服务器将短消息通过SMS System发送出去。不同的Web短信系统,依据其SMS System的实现方式有所差别,常见的有两种方式。
第一种方式是由专门的服务提供商提供SMS System程序接口或Web Service,用户在缴纳一定的费用之后即可使用该SMS System,比如超博科技提供的二次开发接口;北京东时方科技有限公司提供Http和Web Service两种接口[10,11]为用户提供短信服务。
第二种方式是用户自己架设SMS System,这时用户需要购买GSM Modem及开发专门的基于AT指令集的短信息收发软件。
两种方式各有利弊,第一种方式应用简单,需要后期使用过程中的持续投入,由于SMS System不是自己的,因此使用起来灵活性稍差些。第二种方式前期投入较大,软件开发工作量稍大些,但是系统后期的可扩展性较灵活。用户可以根据自身条件选择其中一种方式。
农场科技通系统采用的是第二种方式,为了简化短信收发模块的开发,系统采用基于数据库的短信网关[12, 13]接口实现短信的收发。使用该接口时,开发者只需要向数据库中插入记录即可。因此,会写SQL语句就可以快速实现基于Web的SMS系统,而且数据库接口的最大好处是,系统对于程序员选择什么样的开发工具和语言没有任何关系。基于数据库接口的短信系统中有一个重要的数据表——待发短信表(表1)。
当需要发送信息时,只需要执行SQL语句向OutBox表插入一条记录即可。比如向手机号码13999999999发送一条消息“Hello!”,执行以下的SQL语句即可。
数据库二次开发接口同时提供一个服务程序,该服务程序实时监视接口数据库,如果有新记录插入OutBox表,服务程序立即通过GSM Modem将短信发出,并将该记录转入已发送短信表中存储。
此外,基于数据接口的短信服务程序将收到的短信存入名为InBox的表中,开发者可以编写程序定期扫描该表的记录,并根据记录内容做出不同的处理,从而实现手机用户和系统之间的交互。
3 系统安全设计
每一个完善的网站管理系统都应该包括用户管理、角色管理、用户注册、密码修改、用户登录、身份验证等安全功能。从ASP.NET 2.0开始,微软为软件开发者提供了成套的成员资格管理功能,并将其封装成控件,给软件开发人员带来了诸多便利,减少了开发工作量,提高了开发效率。在自己的系统中使用.NET提供的成员资格管理功能需要做三个方面的工作。
1)生成存储成员资格的数据库。运行Microsoft.NET 2.0提供的工具aspnet_regsql.exe即可生成存储系统用户和角色等信息的全部12个数据表,这12个表既可以直接生成在自己的数据库中,也可以生成在默认的独立的数据库中。
2)配置站点的web.config文件。主要配置内容有成员资格数据库连接串、成员资格提供程序、角色提供程序等。
3)添加初始用户。通过开发工具Visual Studio.NET提供的“ASP.NET配置”功能可以很方便在成员资格数据库中创建新用户、新角色等。“ASP.NET配置”功能只能在站点开发阶段使用,如果在站点发布之后需要此项功能,则需要软件开发人员实现独立的用户管理模块。
.NET的成员资格提供程序提供基于角色的用户权限管理[14,15],所谓角色,就是系统不同权限的集合。基于角色的用户管理首先将不同操作权限赋予角色,然后将用户添加到某一角色,用户就拥有该角色定义的权限。角色和用户之间是多对多的关系,即一个用户可以属于多个角色,一个角色包含有多个用户。用户、角色及其关系在数据库中对应3个表,它们之间的关系如图3所示,其中表aspnet_Users存储用户信息,表aspnet_Roles存储角色信息,表aspnet_UsersInRoles存储用户和角色的关系,aspnet_UsersInRoles实际上是将用户和角色之间多对多关系分解为两个一对多关系:aspnet_Users和aspnet_UsersInRoles之间的一对多关系和aspnet_Roles和aspnet_UsersInRoles之间的一对多关系。
依据农场用户的需求,系统定义的角色有4个,如表2所示。系统新注册用户默认具有Users角色,系统管理员可以修改用户的权限,即将某个用户添加到某个角色或将某个用户移出某个角色,从而完成用户权限的分配。系统实现了完善的用户管理功能,方便管理员对系统用户的管理。
4 系统特点
1)采用三层架构。三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。分层次的目的是为了符合“高内聚,低耦合”的思想。表现层(UI)用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(BLL)与系统所应对的领域(Domain)逻辑有关。数据访问层(DAL)的功能主要是负责数据访问,其作用是屏蔽底层的数据库差异,为其上层的数据库操作提供统一的接口。三层架构的最大优点是降低了层与层之间的编译依赖,有利于软件的复用和各功能模块的并行开发、有利于软件的维护,提高开发效率[8]。
2)采用Linq技术。在数据访问层采用微软的Linq技术,简化了对数据库的操作,同时Linq技术也强迫开发者采用分层的软件开发技术。
3)提供了大量的客户端验证。对于用户的错误输出能做出很快的反应,程序的容错性能非常高。
4)AJAX技术的使用。提高了程序的用户体验。
5)使用SQL Server的全文检索功能。可以在诸如text、varchar等类型的字段中进行检索,使用户检索过程更加方便、简洁,搜索结果更加准确。
5 结语
系统使用微软.Net Framework 3.5技术,将Web技术和数据库技术应用于农场生产相关信息的组织和管理,并和基于Web的短信技术进行集成,提高了信息的传输速度和效率,有效地为农场生产服务,这也是农垦信息化的体现。系统在实际应用中取得了良好的效果。
参考文献:
[1] 李道亮.中国农村信息化发展报告(2008)[J].中国信息界,2009(增刊):72-84.
[2] 农业部.中国99%的乡镇能上网 每户有一部手机[EB/OL]. http://media.people.com.cn/GB/40606/13597263.html,2010-12-28.
[3] 农业部办公厅. 农业部印发2010年测土配方施肥普及行动工作方案[EB/OL]. http://www.gov.cn/gzdt/2010-02/20/content_ 1537199.htm,2010-02-20.
[4] 夏纯中. 轻量级企业内容管理系统的设计与实现[J]. 计算机工程与设计,2007,28(17):4233-4236.
[5] 满 坤,齐开悦,陈剑波.Web 2.0内容管理系统[J].计算机应用与软件,2009,26(1):207-209.
[6] 周双娥,李其锋.基于ASP.NET技术的管理信息系统的研究与设计[J].计算机与数字工程,2007,35(3):193-196.
[7] 陈友良,盛可军,王阳阳.基于ASP.NET三层结构软件的研究与开发[J].现代电子技术,2010,33(6):58-60.
[8] 陈争光,徐海燕.基于.NET的三层结构在大豆专家系统中的应用[J].黑龙江农业科学,2009(4):135-137.
[9] 刘 欣,刘 兵.基于短信收发的信息管理系统开发方法研究[J].舰船电子工程,2009,29(6):109-112.
[10] 杨传舜,李明禄.安全的基于Web服务的短信服务平台的构建[J].计算机工程,2004,30(增刊):636-639.
[11] 东时方.短信接口[EB/OL]. http://www.xhsms.com/jiekou.aspx,2013-06-28.
[12] 谢长生,兰 岚.短信网关通信模块的设计与实现[J].计算机工程与设计,2004,25(6):865-868.
[13] 马 慧,陈阳平,谢 强.基于GSM Modem 终端的短信系统研究与实现[J].中国制造业信息化,2008,37(11):10-15.
[14] 徐 启,刘清欣,张相州.基于角色的用户权限管理方法的设计与实现[J].华北水利水电学院学报,2005,26(4):28-30.
[15] 覃章荣,王 强,欧镔进,等.基于角色的权限管理方法的改进与应用[J].计算机工程与设计,2007,28(6):1282-1284.
数据库二次开发接口同时提供一个服务程序,该服务程序实时监视接口数据库,如果有新记录插入OutBox表,服务程序立即通过GSM Modem将短信发出,并将该记录转入已发送短信表中存储。
此外,基于数据接口的短信服务程序将收到的短信存入名为InBox的表中,开发者可以编写程序定期扫描该表的记录,并根据记录内容做出不同的处理,从而实现手机用户和系统之间的交互。
3 系统安全设计
每一个完善的网站管理系统都应该包括用户管理、角色管理、用户注册、密码修改、用户登录、身份验证等安全功能。从ASP.NET 2.0开始,微软为软件开发者提供了成套的成员资格管理功能,并将其封装成控件,给软件开发人员带来了诸多便利,减少了开发工作量,提高了开发效率。在自己的系统中使用.NET提供的成员资格管理功能需要做三个方面的工作。
1)生成存储成员资格的数据库。运行Microsoft.NET 2.0提供的工具aspnet_regsql.exe即可生成存储系统用户和角色等信息的全部12个数据表,这12个表既可以直接生成在自己的数据库中,也可以生成在默认的独立的数据库中。
2)配置站点的web.config文件。主要配置内容有成员资格数据库连接串、成员资格提供程序、角色提供程序等。
3)添加初始用户。通过开发工具Visual Studio.NET提供的“ASP.NET配置”功能可以很方便在成员资格数据库中创建新用户、新角色等。“ASP.NET配置”功能只能在站点开发阶段使用,如果在站点发布之后需要此项功能,则需要软件开发人员实现独立的用户管理模块。
.NET的成员资格提供程序提供基于角色的用户权限管理[14,15],所谓角色,就是系统不同权限的集合。基于角色的用户管理首先将不同操作权限赋予角色,然后将用户添加到某一角色,用户就拥有该角色定义的权限。角色和用户之间是多对多的关系,即一个用户可以属于多个角色,一个角色包含有多个用户。用户、角色及其关系在数据库中对应3个表,它们之间的关系如图3所示,其中表aspnet_Users存储用户信息,表aspnet_Roles存储角色信息,表aspnet_UsersInRoles存储用户和角色的关系,aspnet_UsersInRoles实际上是将用户和角色之间多对多关系分解为两个一对多关系:aspnet_Users和aspnet_UsersInRoles之间的一对多关系和aspnet_Roles和aspnet_UsersInRoles之间的一对多关系。
依据农场用户的需求,系统定义的角色有4个,如表2所示。系统新注册用户默认具有Users角色,系统管理员可以修改用户的权限,即将某个用户添加到某个角色或将某个用户移出某个角色,从而完成用户权限的分配。系统实现了完善的用户管理功能,方便管理员对系统用户的管理。
4 系统特点
1)采用三层架构。三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。分层次的目的是为了符合“高内聚,低耦合”的思想。表现层(UI)用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(BLL)与系统所应对的领域(Domain)逻辑有关。数据访问层(DAL)的功能主要是负责数据访问,其作用是屏蔽底层的数据库差异,为其上层的数据库操作提供统一的接口。三层架构的最大优点是降低了层与层之间的编译依赖,有利于软件的复用和各功能模块的并行开发、有利于软件的维护,提高开发效率[8]。
2)采用Linq技术。在数据访问层采用微软的Linq技术,简化了对数据库的操作,同时Linq技术也强迫开发者采用分层的软件开发技术。
3)提供了大量的客户端验证。对于用户的错误输出能做出很快的反应,程序的容错性能非常高。
4)AJAX技术的使用。提高了程序的用户体验。
5)使用SQL Server的全文检索功能。可以在诸如text、varchar等类型的字段中进行检索,使用户检索过程更加方便、简洁,搜索结果更加准确。
5 结语
系统使用微软.Net Framework 3.5技术,将Web技术和数据库技术应用于农场生产相关信息的组织和管理,并和基于Web的短信技术进行集成,提高了信息的传输速度和效率,有效地为农场生产服务,这也是农垦信息化的体现。系统在实际应用中取得了良好的效果。
参考文献:
[1] 李道亮.中国农村信息化发展报告(2008)[J].中国信息界,2009(增刊):72-84.
[2] 农业部.中国99%的乡镇能上网 每户有一部手机[EB/OL]. http://media.people.com.cn/GB/40606/13597263.html,2010-12-28.
[3] 农业部办公厅. 农业部印发2010年测土配方施肥普及行动工作方案[EB/OL]. http://www.gov.cn/gzdt/2010-02/20/content_ 1537199.htm,2010-02-20.
[4] 夏纯中. 轻量级企业内容管理系统的设计与实现[J]. 计算机工程与设计,2007,28(17):4233-4236.
[5] 满 坤,齐开悦,陈剑波.Web 2.0内容管理系统[J].计算机应用与软件,2009,26(1):207-209.
[6] 周双娥,李其锋.基于ASP.NET技术的管理信息系统的研究与设计[J].计算机与数字工程,2007,35(3):193-196.
[7] 陈友良,盛可军,王阳阳.基于ASP.NET三层结构软件的研究与开发[J].现代电子技术,2010,33(6):58-60.
[8] 陈争光,徐海燕.基于.NET的三层结构在大豆专家系统中的应用[J].黑龙江农业科学,2009(4):135-137.
[9] 刘 欣,刘 兵.基于短信收发的信息管理系统开发方法研究[J].舰船电子工程,2009,29(6):109-112.
[10] 杨传舜,李明禄.安全的基于Web服务的短信服务平台的构建[J].计算机工程,2004,30(增刊):636-639.
[11] 东时方.短信接口[EB/OL]. http://www.xhsms.com/jiekou.aspx,2013-06-28.
[12] 谢长生,兰 岚.短信网关通信模块的设计与实现[J].计算机工程与设计,2004,25(6):865-868.
[13] 马 慧,陈阳平,谢 强.基于GSM Modem 终端的短信系统研究与实现[J].中国制造业信息化,2008,37(11):10-15.
[14] 徐 启,刘清欣,张相州.基于角色的用户权限管理方法的设计与实现[J].华北水利水电学院学报,2005,26(4):28-30.
[15] 覃章荣,王 强,欧镔进,等.基于角色的权限管理方法的改进与应用[J].计算机工程与设计,2007,28(6):1282-1284.
数据库二次开发接口同时提供一个服务程序,该服务程序实时监视接口数据库,如果有新记录插入OutBox表,服务程序立即通过GSM Modem将短信发出,并将该记录转入已发送短信表中存储。
此外,基于数据接口的短信服务程序将收到的短信存入名为InBox的表中,开发者可以编写程序定期扫描该表的记录,并根据记录内容做出不同的处理,从而实现手机用户和系统之间的交互。
3 系统安全设计
每一个完善的网站管理系统都应该包括用户管理、角色管理、用户注册、密码修改、用户登录、身份验证等安全功能。从ASP.NET 2.0开始,微软为软件开发者提供了成套的成员资格管理功能,并将其封装成控件,给软件开发人员带来了诸多便利,减少了开发工作量,提高了开发效率。在自己的系统中使用.NET提供的成员资格管理功能需要做三个方面的工作。
1)生成存储成员资格的数据库。运行Microsoft.NET 2.0提供的工具aspnet_regsql.exe即可生成存储系统用户和角色等信息的全部12个数据表,这12个表既可以直接生成在自己的数据库中,也可以生成在默认的独立的数据库中。
2)配置站点的web.config文件。主要配置内容有成员资格数据库连接串、成员资格提供程序、角色提供程序等。
3)添加初始用户。通过开发工具Visual Studio.NET提供的“ASP.NET配置”功能可以很方便在成员资格数据库中创建新用户、新角色等。“ASP.NET配置”功能只能在站点开发阶段使用,如果在站点发布之后需要此项功能,则需要软件开发人员实现独立的用户管理模块。
.NET的成员资格提供程序提供基于角色的用户权限管理[14,15],所谓角色,就是系统不同权限的集合。基于角色的用户管理首先将不同操作权限赋予角色,然后将用户添加到某一角色,用户就拥有该角色定义的权限。角色和用户之间是多对多的关系,即一个用户可以属于多个角色,一个角色包含有多个用户。用户、角色及其关系在数据库中对应3个表,它们之间的关系如图3所示,其中表aspnet_Users存储用户信息,表aspnet_Roles存储角色信息,表aspnet_UsersInRoles存储用户和角色的关系,aspnet_UsersInRoles实际上是将用户和角色之间多对多关系分解为两个一对多关系:aspnet_Users和aspnet_UsersInRoles之间的一对多关系和aspnet_Roles和aspnet_UsersInRoles之间的一对多关系。
依据农场用户的需求,系统定义的角色有4个,如表2所示。系统新注册用户默认具有Users角色,系统管理员可以修改用户的权限,即将某个用户添加到某个角色或将某个用户移出某个角色,从而完成用户权限的分配。系统实现了完善的用户管理功能,方便管理员对系统用户的管理。
4 系统特点
1)采用三层架构。三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。分层次的目的是为了符合“高内聚,低耦合”的思想。表现层(UI)用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(BLL)与系统所应对的领域(Domain)逻辑有关。数据访问层(DAL)的功能主要是负责数据访问,其作用是屏蔽底层的数据库差异,为其上层的数据库操作提供统一的接口。三层架构的最大优点是降低了层与层之间的编译依赖,有利于软件的复用和各功能模块的并行开发、有利于软件的维护,提高开发效率[8]。
2)采用Linq技术。在数据访问层采用微软的Linq技术,简化了对数据库的操作,同时Linq技术也强迫开发者采用分层的软件开发技术。
3)提供了大量的客户端验证。对于用户的错误输出能做出很快的反应,程序的容错性能非常高。
4)AJAX技术的使用。提高了程序的用户体验。
5)使用SQL Server的全文检索功能。可以在诸如text、varchar等类型的字段中进行检索,使用户检索过程更加方便、简洁,搜索结果更加准确。
5 结语
系统使用微软.Net Framework 3.5技术,将Web技术和数据库技术应用于农场生产相关信息的组织和管理,并和基于Web的短信技术进行集成,提高了信息的传输速度和效率,有效地为农场生产服务,这也是农垦信息化的体现。系统在实际应用中取得了良好的效果。
参考文献:
[1] 李道亮.中国农村信息化发展报告(2008)[J].中国信息界,2009(增刊):72-84.
[2] 农业部.中国99%的乡镇能上网 每户有一部手机[EB/OL]. http://media.people.com.cn/GB/40606/13597263.html,2010-12-28.
[3] 农业部办公厅. 农业部印发2010年测土配方施肥普及行动工作方案[EB/OL]. http://www.gov.cn/gzdt/2010-02/20/content_ 1537199.htm,2010-02-20.
[4] 夏纯中. 轻量级企业内容管理系统的设计与实现[J]. 计算机工程与设计,2007,28(17):4233-4236.
[5] 满 坤,齐开悦,陈剑波.Web 2.0内容管理系统[J].计算机应用与软件,2009,26(1):207-209.
[6] 周双娥,李其锋.基于ASP.NET技术的管理信息系统的研究与设计[J].计算机与数字工程,2007,35(3):193-196.
[7] 陈友良,盛可军,王阳阳.基于ASP.NET三层结构软件的研究与开发[J].现代电子技术,2010,33(6):58-60.
[8] 陈争光,徐海燕.基于.NET的三层结构在大豆专家系统中的应用[J].黑龙江农业科学,2009(4):135-137.
[9] 刘 欣,刘 兵.基于短信收发的信息管理系统开发方法研究[J].舰船电子工程,2009,29(6):109-112.
[10] 杨传舜,李明禄.安全的基于Web服务的短信服务平台的构建[J].计算机工程,2004,30(增刊):636-639.
[11] 东时方.短信接口[EB/OL]. http://www.xhsms.com/jiekou.aspx,2013-06-28.
[12] 谢长生,兰 岚.短信网关通信模块的设计与实现[J].计算机工程与设计,2004,25(6):865-868.
[13] 马 慧,陈阳平,谢 强.基于GSM Modem 终端的短信系统研究与实现[J].中国制造业信息化,2008,37(11):10-15.
[14] 徐 启,刘清欣,张相州.基于角色的用户权限管理方法的设计与实现[J].华北水利水电学院学报,2005,26(4):28-30.
[15] 覃章荣,王 强,欧镔进,等.基于角色的权限管理方法的改进与应用[J].计算机工程与设计,2007,28(6):1282-1284.