




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 n e t 三层架构的损害保险系统的设计与实现 摘要 随着互联网及w e b 数据库技术的高速发展 基于b s 模式的三层架构的系 统开发技术正受到越来越多研发人员的关注 微软的 n e t 架构因其具有多语言 支持 部署方便 开发效率高 系统稳定性好及功能强大易学易用等特点 更 是备受用户青睐 本文首先介绍了 n e t 平台及 n e t 框架中的两个关键技术 通用语言运行 库c l r 与 n e t 类库f c l 接着讲述了系统开发中常用的分层结构理论 对比分 析了c s 模式的两层结构 b s 模式的三层结构及多层分布式结构的优缺点和 适用范围 结合系统需求选择了最适合该系统开发的 n e t 三层架构 接着 本 文又讲述了w e b 数据库的发展及相关访问技术 并重点讨论了a s p n e t 对象模 型及a d o n e t 数据库访问组件的特性 在确定了系统开发环境之后 本文重点 研究了在实际的损害保险系统项目开发中 如何根据具体的系统需求划分用户 层 业务层和数据层 如何利用a s p n e t 来部署三层架构 如何实现三层之间 的交互 如何合理的分配三层之间的功能实现以达到最优的系统性能 实现了 如何利用a d o n e t 中的d a t a a d a p t e r 和d a t a s e t 对象对w e b 数据库进行存取操 作 并针对需要在初次载入时进行多次读取基本表数据的页面进行了性能优化 大大提高了页面载入速度及系统的稳定性 作为w e b 系统 本文还提出了如何 提高系统的安全和控制用户的访问权限 解决了如何处理数据库并发问题 如 何有效地降低数据库连接资源等重难点 最后 文章总结了课题的主要工作和 研究成果 并展望了 n e t 架构技术的发展应用前景 关键词 三层架构w e b 数据库a d o n e t 数据适配器数据集 t h ed e s i g na n di m p l e m e n t a t i o no fd a m a g ei n s u r a n c e s y s t e mb a s e do n3 t i e r n e t a r c h i t e c t u r e a b s t r a c t w i t ht h eh i g hd e v e l o p m e n to fi n t e r a c ta n dw e bd a t a b a s et e c h n o l o g y t h e s y s t e md e v e l o p m e n tb a s e do nb s3 t i e ra r c h i t e c t u r eb e c o m e sm o r ea n dm o r e p o p u l a r a n d n e ta r c h i t e c t u r eo fm si st h eb e t t e rc h o i c eb e c a u s ei th a ss u c h a d v a n t a g e s a s m u l t i l a n g u a g es u p p o r t i n g c o n v e n i e n t d e p l o y m e n t h i g h d e v e l o p m e n te f f i c i e n c y g o o ds y s t e ms t a b i l i t ya n dp o w e r f u lf u n c t i o n a n de t c f i r s t l y t h i st h e s i si n t r o d u c e d n e tp l a t f o r ma n dt w ok e yt e c h n o l o g i e s c o m m o ml a n g u a g er u n t i m e c l r a n df u n d a m e n t a lc l a s s l i b r a r i e s f c l o f n e tf r a m e w o r k t h e ni td i s c u s s e dt h ed e v e l o p m e n to fs y s t e ma r c h i t e c t u r e f r o mc s2 t i e rt h e nb s 3 t i e r t om u l t i l a y e rd i s t r i b u t e da r c h i t e c t u r e a n d c o m p a r e d t h e i r a d v a n t a g e sa n dd i s a d v a n t a g e s s e c o n d l y i ti n t r o d u c e dt h e d e v e l o p m e n to fw e bd a t a b a s ea n dr e l a t e da c c e s st e c h n o l o g y t h e ni te m p h a t i c a l l y d i s c u s s e dt h eo b j c o tm o d e lo f a sp n e ta n df o c u s e do nh o wt oa c c e s sw e b d a t a b a s e b ya d o n e t a f t e rt h es y s t e md e v e l o p m e n te n v i r o n m e n tw a sd e t e r m i n e d t h r o u g h ar e a lp r o j e c tt h et h e s i sr e s e a r c h e do nh o wt od i v i d et h et h r e el a y e r s p r e s e n t a t i o n l a y e r b u s i n e s sl a y e ra n dd a t al a y e r a sp e rc o n c r e t es y s t e mr e q u i r e m e n t s h o wt o d e p l o y3 t i e ra r c h i t e c t u r eu s i n ga s p n e t h o wt oi m p l e m e n tt h ei n t e r a c t i o no f t h r e el a y e r sa n dh o wt oa c h i e v et h eb e s tp e r f o r m a n c eb ya s s i g n i n gt h ef u n c t i o n s a m o n gt h e s et h r e el a y e r sp r o p e r l y a n di ta l s oc o m p l e t e dt h eq u e r ya n du p d a t e m a n i p u l a t i o no nw e bd a t a b a s eu s i n gd a t a a d a p t e ra n dd a t a s e t a n dd i ds o m e o p t i m i z a t i o no nt h o s ew j bp a g e st h a tn e e dt ob i n dm a n yd r o p d o w nl i s tb o x e so n f i r s tl o a d i n g w h i c hi m p r o v e dt h el o a d i n gs p e e da n ds y s t e ms t a b i l i t yg r e a t l y t h i r d l y a saw 曲s y s t e m t h et h e s i sp r o p o s e das o l u t i o na b o u th o wt oe n s u r e s y s t e ms a f e t ya n dc o n t r o lp r i v i l e g ea s s i g n m e n t h o wt od e a lw i t ht h ed a t a b a s e c o n c u r r e n c yis s u e a n dh o wt od e c r e a s et h ed a t a b a s ec o n n e c t i o nr e s o u r c e a n de t c f i n a l l y i ts u m m a r i z e dt h em a i nr e s e a r c h f r u i t sa n df o r e s a wt h ed e v e l o p m e n t p r o s p e c to f n e ta r c h i t e c t u r e k e y w o r d s 3 t i e ra r c h i t e c t u r e w e bd a t a b a s e a d o n e t d a t a a d a p t e r d a t a s e t 插图清单 图2 1 n e t 体系结构 5 图2 2 通用语言运行库结构 6 图2 3 常用 n e t 类库 7 图2 4 客户机 服务器的两层结构模型 7 图2 5 浏览器 服务器的三层结构模型 9 图2 6 逻辑层的五层结构图 1 0 图2 7w e b 数据库的体系结构 1 2 图2 8a d o n e t 对象的层次结构 1 3 图2 9a d o n e t 数据访问机制 1 4 图3 1 系统的功能模块划分 1 6 图3 2a s p n e t 的三层架构 1 7 图3 3 事故受付页面 1 8 图3 4 系统的业务逻辑层 2 2 图3 5 系统的数据访问层 2 2 图3 6 系统的c l a s s 三层结构图 2 3 图4 1 系统的三层架构模型 2 5 表格清单 表3 1 事故基本表 2 0 表3 2 事故备金表 2 0 表3 3 事故支付表 2 l 表3 4 事故契约表 2 l 代码清单 代码清单l 2 5 代码清单2 2 6 代码清单3 2 7 代码清单4 2 7 代码清单5 2 8 代码清单6 2 8 代码清单7 2 9 代码清单8 2 9 代码清单9 3 0 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果 据我所 知 除了文中特别加以标志和致谢的地方外 论文中不包含其他人已经发表或撰写过的研究成果 也不包含为获得金 b 至些太堂 或其他教育机构的学位或证书而使用过的材料 与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意 学位论文作者签字棒 非字日期 帕7 年占月 孑日 学位论文版权使用授权书 本学位论文作者完全了解金目b 王些太堂有关保留 使用学位论文的规定 有权保留并向 国家有关部门或机构送交论文的复印件和磁盘 允许论文被查阅或借阅 本人授权金胆王些太 堂一可以将学位论文的全部或部分论文内容编入有关数据库进行检索 可以采用影印 缩印或扫 描等复制手段保存 汇编学位论文 保密的学位论文在解密后适用本授权书 学位敝者躲谢玛冰导师躲 签字日期 叼年 月f 9 日 学位论文作者毕业后去向 工作单位 通讯地址 签字嘲冲 月7 万日 电话 邮编 致谢 值此论文完成之际 我由衷的感谢我的指导老师左春荣老师 三年的时间 内 左老师无论是在学习上还是生活上都给了我极大的关心和帮助 研一课程 刚结束 左老师就通知我进入实验室参与路政管理评价系统项目的开发 随后 的两年内 左老师在学习方面督促我 在研究方面启示我 在实践方面指引我 我的论文更是得到了左老师的悉心指正 左老师为人随和 治学严谨 学识广 博 对待工作更是一丝不苟 精益求精 这些都深深影响了我 在这里 要特别感谢杨善林教授 杨老师在我的开题报告上给与了我精辟 的点评和详尽的指导 使我的论文开题顺利展开 杨老师在学术上的高深造诣 学风上的严谨求实 对科学前沿敏锐的洞察力 勇往无前的开拓精神以及对我 的严格要求都使我受益匪浅 在此谨向杨老师致以衷心的感谢和崇高的敬意 接着 要特别感谢马溪骏老师 其严谨的治学态度和广博的学识 精益求 精的工作态度 诲人不倦的师者风范必将使我终身受益 感谢网络所的余本功 梁昌勇等老师和管理学院刘心报 刘业政 刘林 何建民 钟金宏 张述初等老师对我学业上及生活上的关心 帮助和指导 感 谢管理学院所有老师的培养和帮助 感谢石云 查黎 林时蕴 唐成成 藕军 陈敏 孟光 沈旭杰 熊艳根 王关平 张志萍等同学和朋友对我的关心和帮助 深深感谢我的父母 虽然不在身边 但是总在挂念着我 在我遇到困难的 时候开导我 在我取得进步的时候鼓励我 他们无私的爱和深切的期望是我求 学路上的强大精神力量 最后 再次感谢所有帮助过我的老师和同学 作者 谢强林 2 0 0 7 年5 月 第一章绪论 1 1 研究背景和意义 2 0 世纪末 随着网络通信技术和计算机应用技术的不断发展 i n t e r n e t 上的资源迅速扩张 资源的扩充 知识的爆炸 在给我们带来巨大利益的同时 也带来了新的问题 如何实现对海量非结构化资源的高效组织 如何协调不同 结构资源间的关系 为此 人们已经采取了一些卓有成效的措施 如c o m 组 件的使用 c o r b a 标准的中间件技术及基于跨平台j a v a 语言的分布式计算技术 的应用 但还远没有达到高效组织数据 资源 服务的目标 为了获得一定的 服务 用户必须访问不同的网站 在杂乱的数据中查找有用的信息 为了在自 己的服务中集成他人的服务 程序员必须在不同的体系结构之间来回奔跑 问 题在于 1 没有统一的 结构化的 可理解的标准来表示数据 2 没有一个统一的平台体系来支撑自动化的分布式应用 由此 m i c r o s o f t n e t 应运而生 首先 它采用基于语义的结构化标记语 言x m l 作为传输标准 有效解决了不同信息表达的问题 然后 基于w e bs e r v i c e 和s o a p 的分布式应用集成标准有效解决了不同结构应用之间的集成问题 n e t 的策略是将互联网本身作为构建新一代操作系统的基础 对互联网和操作系统 的设计思想进行合理延伸 这样 开发人员必将创建出摆脱设备硬件束缚的 应用程序 以便轻松实现互联网连接 微软的 n e t 将会给我们带来以下的转变 1 计算模式的革命 在信息时代 信息只有不停的交互才具有其价值 显而易见 计算的前途 在于基于网络的分布式计算 分布式计算相对于传统的计算具有无限的优势 1 分布式计算是多机协同工作 成本低 功效大 2 分布式计算使社会不同 行业 不同部门之间的信息自动交换成为可能 提高社会机构运转效率 n e t 的目标就是彻底地把计算模式从单机 客户机 服务器和w e b 网站的 方式转向分布式计算 其实 分布式的计算模型 如基于c o m c o r b a j a v ar m i 的分布式计算模式 在 n e t 之前就已在局部范围内得到应用 但由于缺乏统一 的数据交换模式和接口规范而无法达到目标 相信在不久的将来 我们将从高 效的分布式计算模式中获益 信息在你的指尖 将成为现实 2 软件业运营模式的革命 n e t 还为软件业带来一种新的运作模式 即 软件租赁 今天的软件公 司大多靠出售软件获取利润 客户支付费用以获得软件的使用权 软件最终将 安装在客户的计算机上 随着w e bs e r v i c e 的出现 这种格局将会被打破 软 件就是服务 今后的软件公司将自己的软件以服务的形式发布在网上 客户可 以通过一定的形式访问其服务 软件公司则按照服务使用量 如访问次数 访问 时间等 收取费用 这种方式最终还将延续到硬件上 比如 i b m 公司可以把自 己的大型机连于i n t e r n e t 提供大型计算服务 各国气象台则可以访问i b m 的 服务进行大型工程计算 并根据使用量付费给i b m 3 n e t 对网络商业的影响 如今的网络商业之所以难以获利 除了与传统服务的脱节和社会信息化程 度不够等原因 还在于网站自身实施的用户认证 市场开拓以及业务流程都过 于孤立 成本太高 难以保证为客户提供最大的价值 通过 n e t 技术 我们将 着实改善网络商业发展的技术条件和社会条件 这主要表现在以下两个方面 1 通过 n e t 方便 快捷的数据交换 人们将获得无障碍的通信服务 人们可 以通过不同的设备使用服务 这就扩大了电子商务的消费人群 2 通过 n e t 方便的w e bs e r v i c e 集成技术 人们获得的服务将能够相互集成 智能地为人 们提供个性化的支持 而未来的各种服务机构只需要实现自己的核心业务就可 以了 这些服务将集成到用户的一个完整活动中 实现其商业价值 正是由于微软的 n e t 技术有着巨大的技术价值和社会意义 才受到越来越 多研究人员的关注 这也正是本课题研究的初衷 1 2 损害保险系统简介 作为未来国民经济中的一项重要支柱产业 旅游业要与目前的信息化浪潮 相适应 促使中国在2 1 世纪前叶成为世界首位旅游大国 就无可避免地面临这 样一个挑战和机遇 加快中国旅游产业的信息化建设 增强旅游业可持续发展 能力 实现高效优质的集约化经营 旅游业信息化的一个重要内容就是要构建 旅游管理信息系统 它不仅可以提高劳动效率 节约人力 而且可以使管理工 作迅速准确 是旅游业管理高效化 最优化的实现途径 同时 随着保险行业 流程的日臻完善 旅游保险这一新兴的行业分支必将被越来越多的旅游公司所 重视 所以研究一个适应这个行业流程的信息系统已经势在必行 损害保险系统就是一个服务于旅游公司的管理信息系统 游客在选择参加 一家旅游公司时 会与之签订一份保险合同 它是关于游客在旅游过程中发生 的意外伤害保险的赔付细则 该系统实现了所有与损害保险相关业务流程的信 息化操作 主要包括用户的登录 用户身份的认证及权限的分配 契约的录入 修改及查询 用户备用金及支付保险金的计算 事故发生的录入 事故状态的 管理及保险金的支付等功能 1 3 国内外研究现状 随着网络经济的到来 微软公司希望帮助用户 能够在任何时候 任何地 方 利用任何工具都可以获得网络上的信息 并享受网络通信所带来的便捷和 快乐 n e t 战略就是为实现这样的目标而设立的 2 微软公开宣布 今后将着重于网络服务和网络资源共享的开发工作 并称 将会为公众提供更加丰富 有用的网络资源与服务心1 微软的宏伟目标是让 m i c r o s o f t n e t 彻底改变软件的开发方式 发行方式 使用方式等 2 0 0 0 年7 月份在p d c 展会上分发的是 n e tf r a m e w o r k 包 n e tf r a m e w o r k 是 m i c r o s o f t n e t 计划中首先问世的一部分 它包括了两方面的组件 n e t 通用 运行库 和 n e t 类库 而且这两个组件已经被打包到 n e tf r a m e w o r ks d k 中 另外 这个s d k 中还包括c c j a v a s c r i p t 和v b 的命令行编译器 使 用这些编译器就可以开发应用程序和组件了 2 0 0 2 年 v i s u a ls t u d i o n e t 面 世 这其中包括了更加全面的s d k 和图形化的开发界面 向导 工具等 使之 成为一个真正的开发平台 n e tf r a m e w o r k 和v i s u a ls t u d i o 为我们程序员提供了一种多语言的开发 环境 利用它们我们可以创建w e b 服务 图形用户接口以及w e ba p p l i c a t i o n 和w i n d o wa p p l i c a t i o n 等 最新推出的 n e tf r a m e w o r k 2 0 以及v s n e t 2 0 0 5 更是增加了对6 4 位平台的支持 允许从s o ls e r v e r2 0 0 5 获取多个活动结果集 等新特性 归纳起来 n e t 技术大致涵盖了如下几个方面 1 t h ec o m m o nl a n g u a g er u n t i m e c l r 公共语言运行时 t h e n e tl a n g u a g e s 包括c v i s u a lb a s i c 和c t h e n e tf r a m e w o r kc l a s sl i b r a r y n e t 类库 利用a s p n e t 建立w e ba p p l i c a t i o n 和w e bs e r v i c e 等 通过a d o n e t 来访问数据源 c l r 是 n e t 中的核心部分 它主要负责在程序执行过程中 进行内存管理 启动 停止线程和进程 安全控制等任务 它为 n e t 所支持的多语言所共有 而 n e t 类库则是以面向对象方式封装的供开发人员调用的底层服务接口 本课 题研究了在 n e tf r a m e w o r k l 1 环境下 如何利用v b n e t 和s q ls e r v e r2 0 0 0 开发部署一个w e ba p p l i c a t i o n 重点探讨了如何利用a s p n e t 建立三层架构 的w e b 应用系统 以及如何通过a d o n e t 组件来访问和操作w e b 数据库 1 4 论文结构安排 本文共分为六章 第一章 前言 介绍了本文的研究背景和意义 系统简介及相关的国内外 研究现状 第二章 系统开发环境分析 首先介绍了 n e t 框架结构体系以及c l r 与f c l 的概念 接着讲述了常见的数据库应用系统开发的体系结构 对比分析了c s 两层结构 b s 三层结构及多层分布式结构的优缺点和适用范围 接着介绍了 主要的w e b 数据库的体系结构 着重讨论了 n e t 中的a s p n e t 对象模型和数据 库组件a d o n e t 的数据库存取机制 第三章 系统三层架构的分析设计 在确定了系统开发环境之后 本章重 点研究了在实际的损害保险系统项目开发中 如何根据具体的系统需求划分用 户层 业务层和数据层 如何利用a s p n e t 来部署三层架构 以及如何实现三 层之间的交互 第四章 系统的功能实现 主要包括如何实现三层之问的交互 如何合理 的分配三层之间的功能实现以达到最优的系统性能 实现了如何利用a d o n e t 中的d a t a a d a p t e r 和d a t a s e t 对象对w e b 数据库进行存取操作 并对数据库的 并发控制和s q ls e r v e r 中锁定机制的实现作了一定的研究和探讨 第五章 系统难点及关键技术 作为w e b 系统 本文提出了如何提高系统 的安全和控制用户的访问权限 解决了如何有效地降低数据库连接资源等重难 点 并针对需要在初次载入时进行多次读取基本表数据的页面进行了性能优化 大大提高了页面载入速度及系统的稳定性 第六章 总结与展望 总结了课题的主要工作和研究成果 并展望了 n e t 架构技术的发展前景 4 第二章系统开发环境分析 2 1 n e t 平台 微软的 n e t 定义如下 1 m i c r o s o f t n e t 是m i c r o s o f t n e tx m l w e bs e r v i c e 平台 x m lw e bs e r v i c e 允许应用程序通过i n t e r n e t 进行通讯和共享数据 而不管 采用的是哪种操作系统 设备或编程语言 m i c r o s o f t n e t 平台提供x 儿w e bs e r v i c e 并将这些服务集成在一起 为个人用户的好处是无缝的 吸引人的体验 可以看 出 n e t 不是一门语言 而是一个要达到使语言之间互操作的技术规范 而 n e t 框 架又是 n e t 体系中最重要的基础 它就像是架构在操作系统之上的另一层操作系统 为程序开发提供了强大的类库支持 它包括通用语言运行库 c l r n e t 类库 f c l 和a s p n e t 整个 n e t 体系结构如图2 一l 所示 图2 一1 n e t 体系结构 2 1 1 通用语言运行库c l r 一个程序要想在不同的操作系统和硬件平台上运行 方法只有一个 编译成中间 代码 在目标机上解释执行 n e t 也不例外 n e t 平台下的所有程序最后都将被编译成一种叫做m s i l m i c r o s o f t i n t e r m e d i a t el a n g u a g e 的中间代码 再由对应平台上的j i t j u s ti nt i m e 编译器 解释或实时编译成机器码后执行 在程序执行过程中 通用语言运行库 c o m m o n l a n g u a g er u n t i m e 一般负责内存管理 启动 停止线程和进程 安全控制等任务 事实上 几乎每一种程序设计语言都有自己的运行库 如 v i s u a lb a s i c 有v b r u n 运行库 v i s u a lc 有m s v c r t 运行库等 只不过 n e t 中的运行库是公用的 n e t 环 境中所有的程序设计语言都使用同一个运行库 最后都编译成同样的m s i l 代码 这 样 无疑为多语言之间的交互打开了大门 图2 2 为通用语言运行库的结构图 与其它运行库相比 n e t 的c l r 还具有自己的一些特点 1 与平台和语言无 关的数据类型系统 如s y s t e m i n t 3 2 是 n e t 环境中一个整数类型 不论采用何种操 作系统 何种芯片指令集 何种编程语言 它都是i n t 3 2 2 特有的垃圾回收 器 g a r b a g ec o l l e c t o r 自动管理内存资源 3 优化的j i t 编译器 这个编 译器实时地将m s i l 中间代码按目标平台的情况优化编译成机器代码 4 扩展 的安全措施 c l r 会根据复杂的认证机制 基于双钥的r s a 加密算法 及用户的 要求确定应用程序的可信度 让它们在不同的安全级别下运行 防止恶意程序 的破坏活动 b a s ec l a s sl i b r a r ys u p p o r t t h r e a ds u p p o r tc o mm a m h a l e r t y p ec h e c k e re x c e p t i o nm a n a g e r s e c u r i t ye n g i n ed e b u ge n g i n e m s i lt on a t i v ec o m p i l e r g 盯b a g ec o l l e c t o r g c 凹d c o d em a n a g e r c l a s sl o a d e r 图2 2 通用语言运行库结构 2 1 2 n e t 类库 为了增加代码复用率 提高编程效率 n e t 提供了一个丰富的系统类库 f c l f u n d a m e n t a lc l a s s1 i b r a r i e s 同一般的d l l 和a p i 不同 这个类库 是以面向对象的方式提供的 为了访问任何平台的特性 你只需要使用这些名 称空间和在它们中定义的类 如果希望自定义类的行为 只需要简单地从期望 的类中派生你自己的类 具体来说 要引用这些类 只要用u s e 或i m p o r t s 语 句将对应的名字空间链入程序即可 名字空间 n a m es p a c e 是 n e t 框架类库中所有类的组织方式 简言之 一个名字空间是一系列相关功能类和子名字空间的集合 比如 s y s t e m d a t a 是 n e t 中关于数据操作的名字空间 其中既包含了象s q l c l i e n t 处理s q l s e r v e r 数据 和o l e d b 这样的子名字空间 又包括了d a t a s e t d a t a r o w 这样的 数据库处理类 由于 n e t 封装了许多系统级服务提供的功能 因而 n e t 更容易部署w e b 的应用 程序 同时开发代码量小 开发效率高 易于维护 且开发的系统安全稳定 是企业 级w e b 应用的首选 所以本课题选择了这一平台 图2 3 列出了 n e t 中最常用的几个名字空间 6 名字空间功能描述成员类和名字空间示例 s y s t e m 包含了用于所有应用 o b j e c t b u f f e r b y t e c h a r a r r a y 程序的基本类型 i n t 3 2 e x c e p t i o n g c s t r i n g s y s t e m d a t a 包含了基本的数据库 s q l c l i e n t o l e d b d a t a r o w 管理类型 d a t a s e ld a t a t a b l e s y s t e m i o 包含了同步和异步读取 b y t e s t r e a m f i l e f i l e s t r e a m 写入数据流的类型 s t r e a m r e a d e r s t r e a m w r i t e r s y s t e m n e t包含了用于网络通讯的w e b r e q u e s t w e b r e s p o n s e 类型 t c p c l i e n t t c p l i s t e n e r u d p c l i e n t s y s t e m w e b u i w e b 包含了用于基于网络的 c h e e k b o x b o r d e r s t y l e d a t a g r i d c o t l t r o i s 应用程序的丰富的用户 h y p e r u i n k l i s t b o x p a n e l 界面控件类型r a d i o b u t t o n t a b l e s y s t e m w i n f o r m s包含了用于桌面应用程b u t t o n f i l e d i a l o g f o r m l i s t b o x 序的丰富的用户界面控m a i n m e n u r i c h e d i t t r e e v i e w 件类型 m o n t h c a l e n d a r n e w f o n t d i a l o g 图2 3 常用 n e t 类库 2 2 系统体系结构的选择 为了满足用户不断变化的需求 有效利用资源 降低开发人员的开发维护 难度 提高软件开发效率 计算机软件开发体系结构经历了一个从最初的c l s 模式的两层结构到b s 模式的三层结构 再到多层分布式结构的发展历程 各 种体系结构都有自身不同的优缺点和适用范围 下面将逐一讨论 2 2 1c s 模式与两层结构 c s c 1 i e n t s e r v e r 结构 即客户机和服务器结构 在早期的应用系统 开发中得到了广泛的应用 其特点是 客户端与数据库完全分开 客户端运行 大部分服务 如数据访问规则 业务规则 合法性校验等应用逻辑 每个客户 端都需要安装专用的客户端软件 并且每个客户端与数据库服务器都建立独立 的数据库连接 服务器通常采用高性能的p c 工作站或小型机 并采用大型数 据库系统 如o r a c l e s y b a s e 或s q ls e r v e r 等 客户端发出数据资源访问请 求 服务器端经过分析处理 将结果返回客户端 c s 模式通常用于两层结构 它的处理流程可表示为 1 两层结构模式 多c 1 i e n t 单 多d a t as e r v e r 两层结构的应用模型可表示为 用户界面 应用逻辑 叶 数据库服务器 i s q l 语言 客户机 e l i e n t 服务器 s e r v e r 图2 4 客户机 服务器的两层结构模型 7 在这种模式中 服务器只负责各种数据的处理和维护 为各个客户机应用 程序管理数据 客户机包含文档处理软件 决策支持工具 数据查询等应用逻 辑程序 通过网络使用 q l 语言发送 请求和分析从服务器接收的数据 这是 一种 胖客户机 瘦服务器 的网络结构模式 它具有以下优势 1 应用服务器运行数据负荷较轻 客户端响应速度快 基于c s 体系结构的应用程序一般由两部分组成 即客户应用程序和数据 库服务器程序 一旦服务器程序被启动 就随时等待响应客户程序发来的请求 当客户应用程序需要对数据库中的数据进行任何操作时 客户程序就自动地寻 找服务器程序 并向其发出请求 服务器程序根据预定的规则做出应答 送回 结果 应用服务器运行数据负荷较轻 c s 结构能充分发挥客户端p c 的处理能 力 很多工作可以在客户端处理后再提交给服务器 所以客户端响应速度快 2 系统通讯开销低 实际应用开发周期短 c s 结构可以充分利用两端硬件环境的优势 将任务合理分配到c 1 i e n t 端 和s e r v e r 端 降低了系统的通讯开销 另外 基于c s 体系的数据库应用系统 开发周期较短 且能够适应大部分中小型数据库应用系统的要求 目前 传统 的金融 保险等行业核心业务和中间业务以及众多的基于i n t e r n e t i n t r a n e t 的网络农业专家软件均采用这种结构 但是 随着数据库应用的日渐发展 数据容量的不断增加 客户端数量的 不断增加 该种体系结构显示出了诸多缺陷 主要体现在以下几个方面 1 适用范围窄 c s 结构只适用于局域网 随着互联网的飞速发展 移动办公和分布式办 公越来越普及 这需要我们的系统具有扩展性 这种方式远程访问需要专门的 技术 同时要对系统进行专门的设计来处理分布式的数据 2 可扩充性差 当客户端数目激增时 服务器端的性能会因为负载过重而大大衰减 因为 对于数据库服务器端 每建立一个数据连接 就会占用大量的系统资源 当数 据连接达到一定数量时 数据库服务器的响应速度与处理速度将大大降低 3 可维护性和可复用性低 基于传统c s 的数据库应用系统 业务应用逻辑通常置于客户端应用程序 中 如果业务规则发生变化 我们就必须修改客户端应用程序 并且对每个客 户端进行相应的升级工作 另外 如果客户提出了b s 的应用需求 则需要在 w e b 服务器中重新进行数据库访问 业务规则 合法性校验等编码 这与客户 端应用程序中的功能完全重复 从而加大了工作量 4 投资大 维护成本高 传统的c s 体系结构虽然采用的是开放模式 但这只是系统开发一级的开 放性 在特定的应用中无论是c l i e n t 端还是s e r v e r 端都还需要特定的软件支 8 持 由于没能提供用户真正期望的开放环境 c l s 结构的软件需要针对不同的 操作系统系统开发不同版本的软件 加上产品的更新换代十分快 已经很难适 应百台电脑以上局域网用户同时使用 2 2 2b i s 模式与三层结构 b s b r o w s e r s e r v e r 结构 即浏览器和服务器结构 它是随着i n t e r n e t 技术的兴起 从传统的两层c s c 1 i e n t s e r v e r 模式发展起来的新的网络结 构模式 其本质是三层结构c s 模式 所谓三层结构 就是在客户端与数据库 之间加入了一个 中间层 也叫组件层或者业务逻辑层 在这种结构下 客户 机上只要安装一个浏览器 如i e 服务器安装o r a c l e s y b a s e 或s q ls e r v e r 等数据库 浏览器通过w e b 服务器同数据库进行数据交互 主要业务逻辑在服 务器端实现 其处理流程可表示为 三层网络结构模式 多浏览器 单w e b 服务器 多数据服务器 三层结构的应用软件模型可表示为 l用户界面自定义协议应用逻辑s q l 语言数据库 i i浏览器 应用服务器 数据库服务器 图2 5 浏览器 服务器的三层结构模型 在三层结构中 应用逻辑程序己从客户机上分离出来 作为一个应用服务 器 又叫w e b 服务器 这是一种 瘦客户机 的网络结构模式 客户端运行浏 览器软件 浏览器以超文本形式向w e b 服务器提出访问数据库的要求 w e b 服 务器接受客户端请求后 将这个请求转化为s q l 语法 并交给数据库服务器 数据库服务器得到请求后 验证其合法性 并进行数据处理 然后将处理后的 结果返回给w e b 服务器 w e b 服务器再将得到的所有结果进行转化 变成h t m l 文档形式 转发给客户端浏览器 以w e b 页面形式显示出来 比起c s 的两层结构 b s 三层结构有着明显的优势 i 可扩充性好 结构易于扩展 由于数据访问是通过中间层进行的 因此客户端不再与数据库直接建立数 据连接 也就是说 建立在数据库服务器上的连接数量将大大减少 同时 中 间层与数据库服务器之间的数据连接通过 连接池 进行连接数量的控制 动 态分配与释放数据连接 因此数据连接的数量将远远小于客户端数量 另外 由于w e b 的平台无关性 b s 结构可以任意扩展 2 良好的可维护性和可重用性 由于业务规则 合法性校验等存在于中间层 因此当业务规则发生改变时 只需更改中间层服务器上的某个组件 如某个d l l 文件 而客户端应用程序不 需做任何处理 同样 如果需要开发b s 应用 则不必要重新进行数据访问 9 业务规则等的开发 可以直接在w e b 服务器端调用现有的中间层 3 维护和升级方式简单 因为8 s 架构的软件只需要管理服务器就行了 所有的客户端只是浏览器 根本不需要做任何的维护 如果是在异地 只需要把服务器连接专网即可 实 现远程维护 升级和共享 今后 软件升级和维护会越来越容易 使用起来也 会越来越简单 2 2 3 多层分布式结构 多层结构 其实就是把三层结构中的用户层细分为表示层和u i 层 将业务 层细分为业务逻辑层和数据访问层等 形成了三层以上的逻辑层次结构n 2 1 其 体系结构如图2 6 所示 表示层浏览器或终端 将信息表示给用户 并收集用户的输入 用户界面层 响应用户的请求 与业务层的逻辑进行交互 以验证用 户的输入 执行所处理的过程或进行其它一些与业务相关的过程 业务逻辑层 业务规则 数据验证 操作 处理和安全设置等 数据访问层作为业务逻辑和数据管理之间的中间件 同时封装和包含了所有 的数据库访问技术 如 a d o n e t 数据库 数据结构知识 数据层 从一个持久的数据存储器 d b 中物理创建 获取 更新和删除 数据 图2 6 逻辑层的五层结构图 多层结构一般按应用目标划分 如果客户端要求响应速度很快 业务组件 的体积较小 业务组件可以放在客户端 如果业务组件包含大量对数据库的操 作 可以配置在数据库服务器上 以减少网络负载 提高运算速度 如果业务 组件可供大多数客户机程序访问 则可以使用业务组件构成一个应用服务器 供大家访问 多层结构除了具有三层结构的优点外 还有自己的优势 1 可伸缩性更好 可按应用要求部署逻辑层次 层与层之间耦合松散 只要每个功能模块定义好统一的接口 就可以被各个模块所调用 而不用为相 同的功能进行重复开发 2 网络效率高 经过合理的布局 通过网络的数据 传输量大大减少 提高了网络效率 不过 采用多层结构也存在一些缺陷 1 初始开发周期延长 开发的复 杂性增加 除了考虑应用核心业务以外 开发人员还应考虑应用程序的性能 安全性 伸缩性 可靠性等 要求开发人员对系统及架构设计有更深层次的了 解 2 降低了系统的性能 如果不采用多层结构 很多业务可以直接访问数 据库 不必通过中间层来完成 3 有时会导致级联的修改 如果需要在表示 层中增加一个功能 为保证其符合分层式结构 可能需要在相应的业务逻辑层 l o 和数据访问层中都增加相应的代码 所以 对于多层分布式结构 并不是层次越多越好 要根据具体的系统规 模选择一个最适合的分层结构 以达到性能与开发工作量的平衡 由于该系统 服务的旅游公司是一家全国联网机构 各分公司势必要通过互联网来访问该系 统 而且由于终端客户量比较多 同时也考虑到了以后的可扩展性和可复用性 我们在对比各种体系结构的优缺点后 最终选择了基于 n e t 的三层体系架构 并结合具体的应用要求 将三层架构细分为了多层结构 平台和体系结构决定了所需采用的数据库存取技术 选择了基于 n e t 的三 层架构就必然要选择w e b 数据库技术 2 3w e b 数据库技术 w w w 系统是当今i n t e r n e t 中最主要的信息服务方式 静态的w e b 站点中各 种形式的数据以文件方式存在 当信息量以几何级数增加时信息的发布与维护 就显得极为困难 而另一方面 用户对信息的实时性 交互性的要求也越来越 高 为了进行网上数据的高效存取 实现交互式动态w e b 页面 就必须以大量 的数据资源为基础 因此必然要引入数据库系统 于是 w e b 技术与数据库技 术的结合就成为必然 所谓w e b 数据库管理系统就是指基于w e b 模式的d b m s 的信息服务 充分发挥d b m s 高效的数据存储和管理能力 以w e b 这种浏览器 服务器模式为平台 将客户端融入统一的w e b 浏览器 为i n t e r n e t 用户提供使 用简便 内容丰富的服务 2 3 1w e b 数据库应用系统的优势 数据库应用的一个重要方面就是对数据的访问 与传统方式相比 通过w w w 访问数据库的优点在于 1 借用现成的浏览器软件 无需开发数据库前端 如果能够通过w 1 f w 来访问数据库 我们就不需要开发客户端程序 可以直接通过浏览器来实现 这样界面统一 也减少了培训费用 能使广大用户很方便地访问数据库信息 2 标准统一 开发过程简单 h t m l 是w w w 信息的组织方式 是一种国 际标准 开发者甚至只需学习h t m l 一种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士带教老师说课课件
- 景区岗亭选购方案范本
- 诊所项目组试题及答案
- 工程后勤保障实施试题及答案
- 服装生产心得体会试题及答案
- 园区应急辅助决策方案(3篇)
- 入围方案么好看(3篇)
- 工厂漏电应急预案方案(3篇)
- 修路开山施工方案(3篇)
- 茶楼采购方案模板(3篇)
- 视觉传达设计保研面试问题
- 慰问品采购项目供货方案
- 早期子宫内膜癌患者保留生育功能治疗专家共识
- 医院护理培训课件:《注射安全》
- 5G智慧执法解决方案
- 2024年南宁铁路局招聘笔试参考题库附带答案详解
- (完整)中医症候积分量表
- 公共管理研究方法 课件 第11、12章 定性比较分析、写作
- 模块三 环境感知技术
- 人教八年级下册期末物理综合测试试卷及答案解析
- 锦联铝材自治区
评论
0/150
提交评论