已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基于 b/s模式的物资管理系统设计与实现 摘 要 本文以某物资管理系统的开发为背景,从实际工作出发,结合 管理信息系统开发的概念、结构及系统开发的基本原理和方法,开 发了物资管理系统,使得该公司有关部门及员工之间能够有效的利 用该系统进行物资管理,实现了仓库管理,物资管理的信息化,提 高公司信息化管理水平具有重要的实用价值。根据企业的要求,本 文采用基于 intemetintranet 的三(多)层分布式计算应用系统,设计并实 现了物资管理系统。该系统利用 asp.net 和 c#技术与 sql server 2000 结合,实现了计划管理、库存管理、合同管理、财务管理、回 收管理、系统管理、综合信息查询、劳保管理、质量管理、比价采 购管理、资料管理、到货验收管理等功能。本文着重讨论系统的分 析设计与库存管理、计划管理和到货验收管理的实现。 首先,本文介绍了 asp.net、sql server2000 数据库管理、 ado.net 的相关概念及基本理论。深入分析了国内外物资管理方法 的研究现状。 其次,对物资管理系统需求分析及系统设计,针对系统要求进 行了整体结构、ado.net 访问数据库、系统的网络结构的设计。 最后,对物资管理系统需求分析,进行了系统功能需求分析、 系统用例的事件流,根据需求分析情况,以库存管理模块的设计与 实现为列进行了详细设计与实现,以计划管理模块为列进行了数据 库设计及实现。 关键词 :大型物资管理; 管理信息系统; b/s 结构; asp.net 2 the design and implementation of material management system based on b / s mode abstract a materials management system developed from the actual work, combined with management information systems development concept, structure and basic principles and methods of system development, to develop a materials management system, making the company relevant departments and staff able toeffective use of the system, materials management, warehouse management, materials management, information technology, and improve the level of information management has important practical value. in this paper, based on the intemet / intranet three (multi-) layer of distributed computing application systems, materials management system was designed and implemented according to the requirements of enterprises. the system uses a combination of asp.net and c # and sql server 2000, program management, inventory management, contract management, financial management, recovery management, system management, integrated information query, labor management, quality management, parity purchasing management, data management, inspection of incoming management functions. this article focuses on the discussion of the analysis of the system design and inventory management, program management and inspection of incoming management implementation. first, the article describes asp.net, sql server2000 database management and related concepts of ado.net and basic theory. in-depth analysis of the research status quo of domestic and foreign materials management method. secondly, the materials management system requirements analysis and system design, system requirements, the overall structure of ado.net to access the database, the network 3 structure of the system design. finally, the materials management system needs analysis, system functional requirements analysis system with an example of event streams, according to the demand analysis of the situation, the inventory management module of the design and realization for the column carried out the detailed design and realization of a plan management module for the column database design and implementation. keywords: coal mine materials management; mis; b/s mode; asp.net 4 第一章 绪论 .1 1.1 问题的提出 1 1.2 课题研究现状及意义 1 1.3 课题研究的目的和内容 2 1.4本文的主要工作 2 第二章 大型物资管理系统的技术分析 .2 2.1. asp.net 概述 2 2.1.1 asp.net 简介 .3 2.1.2 asp 运行原理 .4 2.2 asp.net 的开发工具 8 2.2.1 visual studio 简介 .8 2.2.2 asp.net 简介 .8 2.3 sql server2000 数据库管理 9 2.3.1sql server2000 概述 .9 2.3.2 ado.net 基础 .10 2.3.3 ado访问 web数据库 12 2.4 本章小结 12 第三章物资管理系统需求分析 .13 31 业务建模 13 311 计划管理 13 312 到货验收管理 14 313 库存管理 16 32 系统性能需求分析 18 33 系统功能需求分析 18 331 系统管理 19 332 库存管理 20 333 计划管理 21 334 合同管理 22 335 到货验收管理 22 336 比价采购与质量管理 23 337 劳保管理 24 338 财务管理 24 339 回收管理 24 3310 资料管理 25 3311 总体用例分析 25 34 系统用例的事件流 27 341 系统管理事件流 27 342 库存管理事件流 27 343 计划管理事件流 28 344 合同管理事件流 28 345 到货验收管理事件流 29 5 346 比价采购管理事件流 29 347 劳保管理事件流 29 348 财务管理事件流 30 349 回收管理事件流 30 3410 资料管理事件流 30 35 本章小结 30 第四章物资管理系统的设计与实现 .30 41 系统设计思想和目标 30 42 系统设计原则 31 43 整体结构设计 31 431 系统整体结构 31 432 系统的开发与运行环境 .32 433 系统设计流程 33 4.4 ado.net 访问数据库的基本原理 34 4.5系统的网络结构 35 第五章详细设计和实现 .36 5.1 库存管理模块的设计与实现 36 5.1.1 物资明细账 .37 5.1.2 库存余额表、收发存报表、收发存汇总报表、库存查询的设计与实现 .40 5.1.3 盘盈盘亏管理的设计与实现 .47 52 数据库的设计和实现 48 53 数据访问的实现 51 第六章系统测试 .54 结论 .56 参考文献 .57 致谢语 .58 1 第一章 绪论 1.1 问题的提出 物资管理是企业生产经营管理中不可缺少的组成部分。物资管理是erp系统,特别是 大中型物资系统的重要一环。物资是企业很重要的一个管理对象,它在整个企业的生产、 经营、管理中的流动,就形成物流,物流是否合理、是否畅通,对企业的生产经营活动 有着直接的影响,物资管理水平的高低直接影响企业的成本。另外,企业现在的生存环 境也发生了很大的变化。21世纪的企业将面临全球化的竞争,为了满足企业过程重组 (business processreconfigure bpr)对信息系统重构以及保护企业在信息系统方面投资 的需求,企业必须采用新的技术,以改变原来传统信息系统封闭的、不易集成和不能重 构的弊端。 因此,开发新型的管理系统就成为企业适应市场的必然选择。当前基于 intemetintranet的三(多)层分布式计算应用系统正广泛地被用于各个领域,它为我们 构造物资管理信息系统提供了更多可供选择的技术和方法。而这些技术和方法的应用将 在很大程度上改变过去的企业信息系统开发的那些封闭、不易集成和不能重构的弊端。 1.2 课题研究现状及意义 21世纪以来,全球信息技术发展明显加快。随着 internet 的出现,计算机越来越广 泛的应用到社会生活的各个领域。今天信息技术部门所面临的问题是如何能够创建通向 未来的没有中断的跨越lan,wan和internet平台的分布式、可伸缩性的应用结构,以满 足当今复杂的、不断发展变化的业务需求,同时又能确保企业在系统、应用、信息及人 员上的投资。能够适应这种变化的结构是多层分布式计算体系结构。多层体系结构能够 在低费用的条件下比现行的lan、两层客户服务器或主机终端应用结构提供更好、更 及时的信息。多层分布式计算应用服务技术是目前数据库应用发展的潮流,传统的客户 服务器的应用,正朝着三层或多层结构发展。三层结构是传统客户服务器结构的发 展,代表了企业级应用的未来,它将应用分为表示层、业务逻辑层和数据层。表示层负 责和用户的交互,同时也提供一定的安全性,确保用户不会看到机密的信息。业务逻辑 层也称中间层,是表示层和数据层的桥梁,它响应表示层的用户请求,执行任务并从数 据层获取数据,并将必要的数据传送给表示层。业务逻辑层也可以再次细分为:页面分 发层和业务逻辑处理层。数据层也称作持久化层,它负责定义、维护数据的完整性、安 全性,它响应逻辑层的请求,访问数据。这一层直接操作数据库服务器,如 oracle、sybase,db2、ms sqlserver等。当然也不是层数越多越好,虽然层数增加可以 使整体的结构清晰,但是会增加复杂性,因为层层调用,当出现问题时,查找起来很麻 2 烦。 三层结构的优点在于: 1)具有灵活的硬件系统构成和更好的支持分布式的环境。 2)提高程序的可维护性。 3)利于进行严密的安全管理。 4)瘦客户的模式。 5)系统管理简单,可支持异种数据库,有很高的可复用 1.3 课题研究的目的和内容 本大型物资管理系统内容涵盖物资需求计划管理、库存管理、合同管理、财务管理、 回收管理、系统管理、综合信息查询、劳保管理、质量管理、比价采购管理、资料管理、 到货验收管理等物资管理的全过程,通过填写日常出入库单,自动完成物资的库存管理, 并提供多种口径进行物资统计,可自动生成所需的物资报表和统计分析表,进行有效物 资控制。涵盖了物资使用人员、物资计划员、仓库管理人员、物资管理人员、财务人员、 决策管理人员等各对象的使用要求,将物资应用架构在整个企业网络上,改变了以往物 资系统只是为实现电子化库存的准确而管理的局限性,达到真正的电子化全面物资管理。 它实现了物资管理工作的数字化、信息化和网络化,简化劳动,实现了以计算机为中心 的自动化、网络化管理。物资查询更加正确、方便、快速、可靠,为上级领导、部门的 管理提供准确、实在的数据与图形,真正实现全矿区各类物资信息的数字化和网络化。 在系统设计方面,本文着重考虑了基于 b/s 结构系统的网络实现、基于 b/s 结构系 统的网络安全、asp.net 的解决方案等几个方面。 1.4本文的主要工作 本文将首先探讨.net 框架技术和 b/s 模式,在对大型物资管理系统的需求做深入详 细调研分析的基础上,提出基于.net 的 b/s 模式解决方案,设计系统的整体架构。详细 探讨了系统的分析设计与库存管理、编码管理和用户管理的实现, 同时负责系统的版权 控制以及系统的整合。 3 第二章 大型物资管理系统的技术分析 2.1. asp.net 概述 bs和cs结构 当今世界管理软件技术的两大主流技术架构就是cs体系结构和bs体系结构。 当今是一个以网络为中心的信息化世界。随着网络信息化脚步的推进,.net 出现在人们的视野中,它的诞生开创了网络时代的一个新的局面。.net 就与html 的显示信息,将可编程的基于xml 的信息加强,使其成为开发新一代数据库管理 软件的有力工具。在具体开发数据库管理系统之前,需要首先了解asp.net 的概 念、运行机制以及开发系统所需搭建的运行环境。 2.1.1 asp.net 简介 asp.net 是目前最流行的web 开发技术之一,此技术基于.net 环境开发,具有很大 的优势。 随着网络经济时代的来临,微软公司提出了.net 战略,系统能够帮助用户在任何时 候、任何地点、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。 asp.net 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功 能强大的web 应用程序。asp.net 提供了一个统一的web 开发模型,并为开发人员提供 了创建企业级web 应用程序所需要的各种服务。 asp.net 可以为使用任何与.net 兼容的语言编写应用程序。此外,任何 asp.net 应 用程序都可以完全使用.net framework。 .net framework 是microsoft 为开发应用程序创建的一个富有革命性的新平台,是 一个可以快速开发、部署网站服务及应用程序的开发平台。.net framework可以创建 windows 应用程序、web 应用程序、web 服务其他各种类型的应用程序。.net framework 具有以下特点: (1) 通过互联网的标准作整合。用 xml 即 soap 等标准通信协议将各种由不同环境 所组成的应用程序及组件整合在一起工作。 (2) 松散的整合组建。大多数有延展能力的系统,现阶段是以“异步信息”为构架 建立的。要建立这种多层架构,操作非常复杂,而且工具很少。.net framework 不需要很严谨地定义每个组件的结果即可很轻松的整合,这样可提 高程序的延展性。 (3) 支持多种程序语言。.net framework 将各种开发语言整合起来,可以让开发人 员使用不同的程序语言来开发解决方案,选择他们擅长的程序语言,这节省了程序员重 新学习新语言的过程,可以将更多的精力用于开发。 4 (4) 提高程序设计人员的工作效率。net framework 尽可能减少开发人员写程序时 会出现的问题,让程序设计人员专心于系统开发工作。 (5) 完善的数据安全。要设计一个安全性较好的互联网应用程序,在设计时就必须 考虑所有组件的安全问题,而不能仅考虑一部分。所以 net framework 在设计安全模型时,将所用的数据与程序代码做了比较完善的安全保护。 (6) 可用操作系统的服务。windows 提供了丰富的服务及资源,net framework 将这 些功能包装起来,以更简单的方式共程序设计人员使用。 asp.net 在 web 应用方面的优点给企业和开发人员带来了很多方便。 asp.net 是在服务器上运行的编译好的公共语言运行库。asp.net 可利用早 期绑定、实时编译、本机优化和盒外缓存等服务,所以在编写代码行之前就已经 显著提高了性能。 asp.net 框架应用了visual studio.net 集成开发环境中的工具箱和设计器。威力 和灵活性。 asp.net 应用是基于公共语言运行库的,.net 的框架类库、 消息处理和数据访问解决方案都可与web 无缝访问,asp.net 可以选择最合 适应用程序的语言,或跨多种语言分割应用程序。 asp.net 应用了公共语言运行库中的托管服务,这简化了程序的开发。 asp.net 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 web 应用程序的操作。asp.net 框架应用程序在部署时只需将必要的文件复 制到服务器即可将asp.net 框架应用程序部署到服务器,不需要重新启动服 务器。 asp.net 增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另 外,进程受到asp.net 运行库的密切监视和管理,以便当进程行为泄露、死 锁时,可立即创建新进程,以保持应用程序始终可以处理请求。 用户可以使用自己编写的自定义组件或扩展组件替换asp.net 运行库的任何 子组件。 asp.net 应用了windows 系统内置的身份验证机制,这样可以保证应用程序 的安全性。 2.1.2 asp 运行原理 在用asp.net 创建工程前,一定要了解asp.net 的运行机制,这样才可以更好地应 用asp.net。下面将对asp.net 的运行机制进行详细的分析。主要分为以下三部分: http 请求;asp.net 运行原理;asp.net 运行机制。 1)http 请求 从客户端到服务器端的请求消息包括,消息首行中,对资源的请求方法、资 源的标识符及使用的协议。例如当你点击一个连接时,浏览器首先找到站点的ip地 5 址,这是通过dns 来实现的。在找到ip 地址后可以建立tcp 连接了,连接建立后就可以 发送请求了。 现在假设点击了一个从www.webmonkey.com/html/96/47/index2a.html 点击了 www.gripy.org/mattmarg/,这时浏览器会发出下面的请求: get /mattmarg/ http/1.0 user-agent: mozilla/2.0 (macintosh; i; ppc) accept: text/html; */* cookie: name = value referer: /html/96/47/index2a.html host: 第一行称为请求,它告诉服务器从mattmarg 取得文件,这里的目录一般是要加/的。 下面几行通知服务器你所使用的浏览器是什么类型,你所接收的数据 是什么类型。如果你以前访问过这个站点,站点可能向你发送了cookie,如果你已经有 了一个这样的cookie,浏览器会将这个cookie 返回给服务器。referer 行通知服务器用 户从哪一页到达此页的。 下面服务器就要返回文件了,每次服务器返回文件时,都要返回一个http/1.0响应, 同时带有状态码,在此之后是一些描述内部的头信息。下面就是一个响应: http/1.0 200 found date: mon, 10 feb 2007 23:48:22 gmt server: apache/1.1.1 hotwired/1.0 content-type: text/html last-modified: tues, 11 feb 2007 22:45:55 gmt 不同数据可能返回不同的 content-type, 因此不同的内容需要不同的 content-type,因 此有时候这个过程是很慢的。 http 请求传送回来的是页面文本、图片等信息,在客户端浏览器进行解释执行后, 才会显示页面。一个完整的页面也许要发送多条http 请求才可以完整的显 示。 2)asp.net 运行原理 asp.net 的运行原理如图 2-1 所示。asp.net 运行时首先会通过客户端计算机向 iis 服务器发送一个 http 请求,此请求被 iis 服务器接收后,iis 会确认请求页面的 类型,然后为其加载相应的 dll 文件,并在处理的过程中将这条请求发送给可以处理此 请求的模块 httphandler。当请求在 httphandler 模块中处理完后,会按照原来的顺序 返回给 http,这样就完成了 asp.net 的整个运行过程。 6 图 2-1 asp.net 运行原理图 服务器端的 httphandler 专门用于处理 aspx 文件。iis 将请求发送给 httphandler 模块之前,还需要经过一些系统默认的 http module。这样做具有以下优点: 提高安全性;提高运行效率;能够在更多的环节上进行控制,增强控制能力。 3)asp.net 运行机制 asp.net 的运行机制大致上与 jsp 的运行机制是很相似的,所有的 web 站点都是基 于 http 协议的, asp.net 也不列外。 首先是来自客户端的请求,然后 web 服务器(web 容器 asp.net 是 iis ,如果你的 机子没安装 iis 没关系,因为你用的 vs 开发工具中有一个小型的 iis 服务器,但是建 议安装 iis,jsp 用的是 tomact)根据相应的条件(就是根据请求的后缀名) ,将请求提 交给应用服务器的解析器解析器根据用户的请求和数据库服务器与打交道得到数据, 再 经过编译,运行,最终将结果返回给客户端。 一个 asp.net 的应用程序是开始于 iis 的。 当你请求一个包含 asp.net 应用的网址时,iis 接受到请求(iis 是 web 服务守候进 程),iis 收到请求后,会根据请求者请求的主机头或者 ip 或者端口号来找到对应的站点。 当找到站点后,如果你请求的资源是以 aspx 为结尾的 webform,时,iis 会将控制权 交给一个 isapi 扩展.,名叫 aspnet_isaip.dll.这时,控制权由 iis 交到 aspnet 的 isapi 扩展上.,需要说明的是,isapi 扩展的级别低于 iis,但高于用户站点,它独立于站 点之外。 isapi 收到处理请求后,会启动一个 asp.net 工作进程.然后将请求者的请求信息转 交给 asp.net 工作进程( 名为 aspnet_wp.exe). 接下来, 控制权由 aspnet_wp 掌握. aspnet_wp 首先解出请求者的信息, 如果请求者请求的 asp.net 应用程序( 站点或虚拟 http iis http hande r http hander http hander http hander 7 目录, 通俗一点) 尚未拥 appdomain,aspnet_wp 就会建立一个 appdomain, 并且将被请 求的 asp.net 应用所需的 assembly(就是那些 dll,例如 system.web.dll 等)载入到 appdomain 中。 以上的步骤可以看到一个结论和规律:控制权是以流水式在各个请求处理者 间传递,并且,前一个处理请求者必须负责传递后一个处理请求者所需的信息, 而且要负责装载或初始化后一个处理者。这很像我们生活中的接力赛。 aspnet_wp 不光负责建立 appdomain(当然,如果已经存在的话,就直接使用 这个 domain 了),另外,它在 appdomain 建立后,还会将请求转发至对应的 appdomain 中的 isapiruntime 对象。(isapiruntime 对象是 appdomain 的一部 分)。isapiruntime 专门负责解出请求的必要信息。它将信息和请求转交给 httpruntime 。在这里,需要说明的是 isapiruntime 是一个类,它的全称是 system.web.hosting.isapiruntime,而 httpruntime 也是一个类,它的全称是 system.web.httpruntime。因此,可以说,这两个对象是 appdomain 运行环境的一部分, 在 aspnet_wp 建立 appdomain 的同时,也会作为运行环境来建立这两个对象。 请求由 httpruntime 来接受,httpruntime 主要的工作便是为每一个提出请求的客户 建立一个 httpcontext 对象.这个东东又管理着 httpsession 对象.每一个访问者有各自 的 httpcontext 对象和 httpsession 对象, 这些对象, 你可以在.net framework 库中 找到对应的类名,像 system.web.httpcontext,system.web.httpsessionstate 等。 可以看出,请求的处理过程非常类似于.net 中事件模型的处理过程.若干个处理模块 被串接到一个事件上.在 asp.net 运行原理里,也是,若干个模块依次轮流处理一个请求, 像流水线操作一样。 asp.net 运行机制如图 2-2 所示。 8 图 2-2 asp.net 运行机制图 2.2 asp.net 的开发工具 上一节中已经分析了 asp.net 的运行平台和运行机制,在本节中将介绍 asp.net 的 开发工具以及支持语言。 2.2.1 visual studio 简介 visual studio 是一套完整的开发工具集,用于生成 asp.net web 应用程序、xml iis 负责接收请求,并找到目标站点 目标是 应用 aspnet isapi aspnet wp 进程 httpapplication httpruntime 对象 isapi runtime 对象 9 web services、桌面应用程序和移动应用程序。visual basic、visual c+、visualc# 和 visual j# 全都使用相同的集成开发环境 (ide),利用此 ide 可以共享工具且有助 于创建混合语言解决方案。另外,这些语言利用了 .net framework 的功能,通过此框 架可使用简化 asp web 应用程序和 xml web services 开发的关键技术。 visual studio 是一种容器环境,它集成了多种可视化设计器的功能,有用于创建 windows 窗体应用程序的,有用于构建 web 站点的,也有用于构建 windowscommunication foundation(wcf)服务的,诸如此类。我们工作中所需的元素(如 引用、数据源连接器、文件夹和文件)可以分成两层管理:解决方案和项目。一个解决方 案包含多个项目,而一个项目中又包含了该项目所特有的一些文件。您可以针对整个解 决方案或单个项目进行设置。项目中的每一个文件都可以通过【属性】窗口来显示它自 己的属性设置。 2.2.2 asp.net 简介 在 asp.net 出现之前,主要有三种技术平台可用于开发 web 应用程序: asp、jsp(java server pages)和一个叫 lamp(linux + apache + mysql,编程语言可以 为 perl、python 或 php)的开源 web 平台。6这里顺便提及一下 asp 的相关知识,asp 实际上是一种 isapi 的扩展,而 jsp 是一种特殊的服务器端应用程序。基于平台的 internet 信息服务(iis)的 isapi 扩展和基于 java 系统的 servlet,允许我们使用较传 统的方式来创建服务器端的、部署于 web 上的应用程序。 虽然每种 web 开发平台使用特定的语言和架构,但它们都是用来创建基于 web 应用 程序的交互式页面。从某种程度上讲,这些技术通过一些组件使页面本身只负责代码调 用和呈现,以便开发者可以将编程逻辑与页面布局分离。虽然目标是相同的,但这些平 台存在显著差别,这些差别在于它们大多与其倡导的编程模型和语言相关。例如,jsp 采用 java 的类框架,通过 javabeans,提供了一套有效、可扩展、可重用的组件模型。 不仅如此,jsp 支持自定义标签,允许开发者将自定义的标签与代码相关联。最后,由 于 jsp 是 java enterprise edition 5.0(j5ee)平台的关键模块,所以它依赖于 java 语 言。java 是一种优秀的已编译语言(compiledlanguage) ,与 asp 和 lamp 这样的脚本语 言不同。 与其他 web 开发环境类似,asp.net 也建立在 http 协议之上。利用 http 命令和策 略建立双向的、浏览器到服务器(b/s)的通信和协作。asp.net 与其他 web 开发技术的最 大不同在于它所提出的抽象编程模型(abstract programmingmodel)web 窗体模型。 此外,整个 asp.net 平台是 microsoft .net framework 的组成部分之一。为使大家能够 领会这点的重要性,这里要解释一下。asp.net 应用程序是一些已编译的代码片段,由可 重用、可扩展的组件组成,可以通过一流的语言编写(包括 c#、microsoft visual basic .net、microsoft jscript .net 和 j#),并可以完全利用.net framework 提供的整个 10 类层次结构。要想全面掌握 asp.net 平台,理解 asp.net 组件模型是第一步。从页面设 计到运行时系统配置,开发周期的各个阶段都会涉及该组件模型(如图 2-3 所示。 ) 图 2-3 asp.net 组件模型图 2.3 sql server2000 数据库管理 数据库技术是吸纳带信息技术的主要组成部分,随着一些大型应用程序的开发使用, 数据库技术也随之发展进步。sql server2000 数据库是由 microsoft 公司开发的关系型 数据库系统,它秉承了 microsoft 的一贯风格,简单、易用以及友好的视窗化操作界面。 相对于其他一些大型数据库来说,sql server 无疑是分布式系统开发人员的首选。 2.3.1sql server2000 概述 充分 sql server2000 是由 microsoft 开发和推广的关系数据库管理系统(dbms) , 现在是第 4 个版本,由 microsoft 公司于 2000 年推出8。sql server2000 在 sql server7.0 基础上扩展升级了多项功能,是一款面向高端的数据库管理系统,共有 4 个 版本,以适应不同的需求,包括:企业版、开发版、标准版和个人版。 sql server2000 具有较好的可伸缩性和可靠性,提供了以 web 标准为基础的扩展数 据库编程功能,可以满足电子商务和企业应用程序的要求。sql server2000 支持 xml 和 internet 标准,具有基于 web 的分析能力,允许使用内置的存储过程以 xml 格式存储、 更新、删除和检索数据。 sql server2000 对 web 的支持主要变现在: 支持 xml; 支持 internet 标准; 分布式分区视图; asp.net 组建模型 复杂控件和表示 层 页面框架 应用程序服务 页面设计 运行库配置 应用程序 系统 11 web 和应用程序宿主; 可靠性; 可伸缩性; 与.net enterpriseservermicrosoftbiztalk 和 microsoft commerce server 的集 成; 虚拟接口系统网络(visan) 。 2.3.2 ado.net 基础 ado.net 作为.net 框架的一部分提供了一个解决许多和数据库访问有关的问题的通 用解决方案。asp.net 利用了 ado.net 技术来通过网络进行数据访问。 ado.net 是支持数据库应用程序开发的数据访问中间件。ado.net 建立在.net framework 提供的平台之上。它是使用 microsoft .net framework 中的托管代码构建的, 这意味着它继承了.net 执行时环境的健壮性。ado.net 主要是用来解决 web 和分布式应 用程序的问题,它由.net framework(提供了对.net 应用程序的数据访问和管理功能)中 的一组类或命名空间组成。 作为数据访问架构,ado.net 主要设计为允许它工作在无连接的数据访问模式下, 这也是 n 层的基于 web 的应用程序所需要的。ado.net 的直接前身 ado 主要设计为适应 两层的客户端/服务器风格的应用程序,在首次启动该应用程序时通常会打开一个数据库 连接,然后保持该连接直到该应用程序结束。这种技术对大多数内部网风格的应用程序 非常有效,在这种情况下客户端连接的总数是已知数,而应用程序的状态通常是由该应 用程序管理的,因此也是已知数。虽然该方法对单层的桌面应用程序和双层的客户端/服 务器风格的应用程序非常有效,但对于 n 层的 web 风格的应用程序却受到严格的限制。 由于 web 是一个公共环境,因此 web 应用程序所需的开放连接的总数是未知数9。其 变化可以很大很快: 开始一个应用程序可能只需要少数连接,但在几分钟之后可能会需要数千个连接。 在这种环境下保持开放连接会影响到可伸缩性,因为每个连接都必须经历后台数据库初 始化连接的系统开销,而且每个开放连接都需要系统资源来保持开放状态因而减少 了其他数据库操作的可用资源。随着 ado 的发展,microsoft 添加了一些机制(如无连接 的记录集)来帮助处理 web 风格的应用程序,但这些绝不是 ado 原始设计的一部分。 microsoft 设计了 ado.net 来处理基于 web 应用程序所需的无连接计算环境。无连 接的设计支持 ado.net 方便地伸缩企业应用程序,因为在每个客户机系统和数据库之间 并没有使用开放连接。而是在开始客户端连接时,暂时打开一个到数据库的连接,从数 据库服务器中检索需要的数据,然后关闭连接。客户端应用程序然后使用与数据库服务 器所维护的数据存储完全独立的数据。客户端应用程序可以定位数据的子集,修改该数 据,并将该数据一直缓存在客户机中,直到应用程序指示将所有变化传回到数据库服务 12 器。这时会暂时打开一个到服务器的新连接,对客户端应用程序所作的所有修改都被传 回到更新批处理中的数据库,同时关闭连接。 支持这种无连接环境的核心 ado.net 组件是 dataset。dataset 本质上是一个缩小 的内存中数据库,它的维护独立于后台数据库。只有在填充 dataset 或者将 dataset 中 的数据变化传回到数据库时,才会打开到数据源的连接。这种无连接的计算环境将系统 开销最小化,并改进了应用程序的吞吐量和可伸缩性。ado.netdataset 提供的内存中数 据库提供了在成熟的数据库中可以找到的许多功能,包括支持数据关系、创建视图的能 力、支持数据约束,以及支持外键约束。然而,由于是一种内存中结构,它并不提供对 企业级数据库产品(如 sql server)中具有的一些更高级数据库特性的支持。例如, dataset 不支持触发器、存储过程或用户自定义函数。 在 ado.net 设计中,支持无连接的、基于 web 的应用程序是 microsoft 的其中一个 特性,然而,这并不是 ado.net 的全部功能。无连接模式也可以用于 web 应用程序,但 它并不是客户端/服务器和桌面应用程序的最佳模式。当在连接方式下运行时,可以更好 更高效地实现这些类型的应用程序。为了支持这种连接风格的计算,ado.net 提供了 datareader 对象。10datareader 主要使用连接方式提供了快速只向前的游标风格的 数据访问。虽然 dataset 提供了无连接的 web 应用程序的基础,但 datareader 支持桌 面和客户端/服务器应用程序所需的快速连接风格的数据访问。 ado.net 的体系结构如图 2-4 所示。 图 2-4 ado.net 的体系结构图 2.3.3 ado访问 web数据库 对于web服务器上运行的程序最常见和最实用的任务是访问数据库。asp内建的 database access组件能很容易的通过ado访问存储在服务器端的数据库或者其他的数据 应用程序 连接模式 数据库 数据提供者对象 数据集对象 非连接模式 xml 数据 13 信息。 ado是activedata objects的简称。ado是微软所支持的对数据库进行操作的主要方 法方法。它具有占用磁盘空间少、内存支出低、反应速度快等优点,非常适合作为服务 器端的数据库访问技术。 ado可作用于服务器端,以提供含有数据库信息的主页内容。当用户要对数据库作出 的更改时,用户在浏览器画面中输入对站点服务器的数据操作信息。而ado使用内置的对 象作为数据的主要接口,对数据进行检索、添加、更改、删除。 用ado访问数据库就像编写数据库应用程序,它把绝大部分的数据库操作封装在七个 对象中,在asp页面编程时只要调用相应的对象就可执行相应的数据库操作。这七个对象 是:conncction、command、parameter、property、recordset、fileld、和err。 使用ado访问数据库的asp脚本程序首先使用connection(连接)对象建立并管理与远 程数据库的连接,当ado访问来自ole db提供的数据和服务时,connection(连接)对象用 于指定特定的提供者和任意参数;使用command(命令)对象可以在数据源中添加、删除或 更新数据,或在表中以行的格式检索数据,command(命令)对象使ado能够优化对命令的 执行;当使用command(命令)在表中按信息行返回数据的查询时,这些数据会存储在本地。 该存储即为recordset(记录集)对象。记录集主要用于指定可以检查的行,并用更改过的 行更新数据源。这三者是ado中最基本也是最核心的对象。 2.4 本章小结 本章是 asp.net 应用的基础知识,系统地讲解了.net 开发平台、机制、开发环境等 内容,然后就 asp.net 开发的理论基础展开了论述,最后重点介绍了 ado.net 技术。为 系统的开发打下了一个良好的理论基础。 bs 和 cs 结构 当今世界管理软件技术的两大主流技术架构就是 cs 体系结构和 bs 体系结构。cs 是美国 borland 公司最早研发。cs 结构,即大家熟知的客户机和服务器结构,也就是 通常所说的两层结构体系,在基于网络的数据处理中,客户机服务器(clientserver) 二层体系具有里程碑意义。该体系结构最大的优点在于结构简单,开发和运行的环境 简单,但其却存在两层结构本身的原生性问题 首先,是系统的拓展性问题和安装维护 的问题。二层结构的系统在小规模环境下运行良好,一旦进入大规模生产系统之后,性 能会呈几何级数下降,以致影响到系统的可靠性:在系统开发完成后,整个系统的安装 也非常繁杂。在每一台客户机上不但要安装应用程序,还要完成大量的系统配置工作。 其次是系统的安全性问题。在二层结构下,大量代码化的企业业务流程驻留在客户机上, 给系统的安全性带来了极大的考验。同时随着用户数量的增加,这种业务逻辑的维护成 本也越来越高。最后是系统间的通讯功能障碍。当二层计算模式从部门级应用拓展到企 业级应用时,二层结构的应用之间几乎没有交互性操作,因此很难实现分布式系统的组 件技术。 bs(browserserver)结构即浏览器和服务器结构,是 web 兴起后的一种网络结构 14 模式。它是随着 intemet 技术的兴起,对 cs 结构的一种变化或者改进的结构。在这种 结构下,用户工作界面是通过 www 浏览器来实现,极少部分事务逻辑在前端(browser)实 现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层 3-tier 结构。相对于 cs 结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,bs 结构 是属于一种“瘦”客户端,这种模式统一了客户端,将系统功能实现的核心部分集中到 服务器上,简化了系统的开发、维护和使用。因此,bs 结构的系统不需要安装客户端 软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可, 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用 户的总体成本(tco)。在 bs 体系结构系统中,用户通过浏览器向分布在网络上的许多 服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而 其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执 行等工作全部由 web server 完成。随着 windows 将浏览器技术植入操作系统内部,这种 结构已成为当今应用软件的首选体系结构。显然 bs 结构应用程序相对于传统的 cs 结构应用程序是一个非常大的进步。当然,与 cs 结构相比,bs 结构也存在着系统运 行速度较慢,访问系统的用户不可控的弱点。以目前的技术看,局域网建立 bs 结构的 网络应用,并通过 intemetintranet 模式下数据库应用,相对易于把握、成本也是较 低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式 (比如 lan,wan,inte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度跨境电商销售团队合作协议
- 二零二五年度退休员工劳动合同解除及退休金领取协议
- 个人与公司协议书
- 2025年度宠物送养与领养线上线下联动服务协议3篇
- 二零二五年度军事设施门卫安全协议责任合同3篇
- 二零二五年度土地承包与农业科技创新合作协议3篇
- 二零二五年度民间借贷四方风险控制协议
- 国际视野与跨文化沟通能力考核试卷
- 临终关怀案例分析与反思考核试卷
- 包装装潢设计在厨具产品包装的功能性与美观性考核试卷
- 外科手术铺巾顺序
- 创新者的窘境读书课件
- 综合素质提升培训全面提升个人综合素质
- 如何克服高中生的社交恐惧症
- 聚焦任务的学习设计作业改革新视角
- 淋巴瘤患者的护理
- 移动商务内容运营(吴洪贵)任务三 APP的品牌建立与价值提供
- 电子竞技范文10篇
- 食堂服务质量控制方案与保障措施
- VI设计辅助图形设计(2022版)
- 眼科学常考简答题
评论
0/150
提交评论