论文摘要
地下水监测数据是依法管理水文地质、工程地质和环境地质勘查和评价工作的基础数据,实现地下水监测数据管理与发布的信息化建设,可以使广大工程技术人员科学高效地分析山东省地下水环境现状与未来,监测和监督地下水的过量开采与污染,在地质环境保护方面起着重要作用。本文所述山东省地下水监测数据管理与发布系统则是地质环境管理工作信息化建议的重要组成部分。山东省地下水监测数据管理与发布系统的目标是以微软推出的ASP.NET2.0和SQL Server2005为平台,构建一个基于B/S三层结构的应用系统(以下简称Sdpgemis),实现对地下水监测数据录入、管理,提供统计报表分析和空间图形浏览等功能,为地质环境监测和管理服务,同时系统具有较好的可扩展性和可维护性,可以作为行业解决方案在全国各省地质环境监测总站中推广应用,具有很好的应用价值。本文作者负责项目的整个开发过程,独自承担了系统设计和实现的所有工作。首先,本文在介绍项目背景和全文体系后探讨了Web数据库的发展历程;主机/终端——客户机/服务器——浏览器/服务器,并比较了三种模式各自的优缺点。在此基础上讨论了访问Web数据库的不同方法;中间件技术、客户端技术、PHP技术、J2EE和ASP.NET技术。由于ASP.NET2.0与SQL Server2005无缝集成,提供了大量Web控件和数据库访问控件,因此采用ASP.NET2.0+SQLServer2005来设计和实现Sdpgemis。在Sdpgemis的需求分析和系统的主要功能讨论基础上,设计了三层架构;数据访问层、业务逻辑层和应用层。并通过SQL Server2005平台完成Sdpgemis数据库的设计和实现。然后利用ASP.NET2.0技术使用C#语言实现了Sdpgemis的数据访问层、业务逻辑层和应用层。在数据访问层中使用抽象工厂模式,该模式采用泛型接口IDAL用于创建一系列相关或依赖对象,而无需指定其具体类。采用面向对象编程技术实现接口的类项目SQLServerDAL和DALFactory,在DALFactory项目中,使用反射技术实现DataAccess工厂类。使用ASP.NET2.0提供的SQLDataSource和ObjectDataSource数据源控件完成对业务数据库的访问。业务逻辑层中通过建立业务实体Model,将关系数据库中的实体对象转换为业务对象,它们在应用程序层之间共享以相互通信。业务逻辑项目BLL与数据访问层通信以访问业务数据库Sdpgemis中的数据。表示层中使用SQL Server2005通知服务实现SQL数据缓存和使用外观模式和简单工厂模式创造聚合缓存,当SOL Server中的数据发生更改时缓存失效,使得缓存的数据库信息始终保持是最新的,同时利用缓存来降低中间层和数据库服务器上的负载。利用ASP.NET2.0提供的成员资格管理服务,提供一个通用的用户身份验证和管理框架,大量减少了建立和维护用户帐号信息的程序代码,同时保证了应用程序和数据库的安全性。使用SQL Server2005报表服务创建统计报表页面,利用ARCIMS9.2发布地图服务实现空间图形浏览页面。在Web页面中大量使用了ASP.NET2.0提供的Web服务器控件如母版页、数据绑定控件、向导控件和登录控件,使得能快速实现Sdpgemis表示层。Sdpgemis通过软件分层实现了高内聚、低耦合原则,满足易于扩展、维护和重用的要求。