通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>编程开发>>sql专区>>正文 新版上线![旧版]
注:打开慢时请稍等
sql server xml 和 web 应用体系结构(一)

http://www.iyit.net  日期:2006-5-3 19:20:08  来源:  点击:
参加讨论】 摘要: 本文概要介绍在一组基于 sql server xml 的解决方案中使用 duwamish books, phase 4 应用和更可靠的 duwamish online 应用后所得到的体系结构。

有关 microsoft® sql server™ 2000 中介绍的 sql server xml 技术套件的详细信息,请参阅相关文档 duwamish online sql server xml 分类浏览(英文)。

您可以在 msdn online 代码中心(英文)查看 d5sqlxml.exe 示例代码。
简介
microsoft sql server 2000 以其众多的新功能闪亮登场,其中包括我们称之为 sql server xml 的系列 xml 新技术。此技术套件包含诸多改进、增强和特性,使 sql server 成为更具 web 特点的应用程序,向 microsoft .net 版本迈进了一步。

sql server xml 可用于扩展、增强或替换 web 应用的体系结构。新特性可分为两个主要组件:

数据库组件,允许数据库对 xml 进行读、处理和写操作


sql server xml internet server api (isapi) 应用,允许通过 http 访问数据库
无论是使用这两个组件还是使用其中的一个,都可以获得多个理想的体系结构。为了测试新工具的功能和灵活性,我们检验了 duwamish online 的逻辑体系结构,并将其应用到一组基于 sql server xml 的解决方案中。为了使研究更全面,我们在测试中同时使用了比较简单的 duwamish books, phase 4 应用和更可靠的 duwamish online 应用。下面是所得出的体系结构的概述。

逻辑体系结构
我们必须认识到不管应用是什么形式,下面两种体系结构始终存在:逻辑体系结构,是用于分析应用的组织概念,而物理体系结构则表示实施应用的途径。区分这两个概念是非常必要的,因为这两个体系结构很少完全对应(即使有过这种情况)。下面您将看到,与给定的逻辑设计相对应的物理体系结构会根据不同的情况而改变。

创建 duwamish online 及其以前版本时,我们根据 microsoft n-层准则确定逻辑体系结构。该体系结构包括由 web 应用执行的公共操作,并不是专门针对 duwamish online 的。

图 1:逻辑体系结构

应用分为五个逻辑层。距离客户端最远的是数据层,其中存储了应用所需的信息。它的上一层为数据访问层,它从数据库中数据的表示形式中提取数据,并且包含所有数据库操作公用的例程。数据访问层直接由业务逻辑层使用。业务逻辑层通过隐藏来自更高层的事务逻辑和实施细节来提取业务事务。体系结构的下一个逻辑层是工作流层,也称为业务接口,它提供了一个到表示层的简单界面(也称为接口)。工作流层管理内部状态,并使用业务逻辑层提供的自动操作来完成复杂的工作流。最后是表示层,它为用户转换工作流层返回的结果。有一些转换比较简单,例如通过 xsl 样式表将结果转换为 html;有些则比较复杂,例如通过电话线阅读结果的语音算法。

下面是从这个逻辑体系结构得出的几个物理体系结构。

物理体系结构
分发负载
sql server xml 使数据库具备除读写数据之外的很多其他功能。xml 功能允许存储过程处理大量高度结构化的数据。相关信息可以作为 xml 传递到存储过程,从而允许业务逻辑或工作流以存储过程(而不是 com+ 或脚本)的形式实施。这意味着,现在您可以将更多应用处理移到数据库一级。如果决定采用这种方式,请切记数据库是应用中可伸缩性最小的部分。

决定应用在数据库和 web 服务器之间分发处理的方式是非常关键的。这将影响应用所需的软件和硬件,开发应用所需的专业技能,以及部署、更新和维护的过程。为遵循简单性原则,我们将参考一个服务器配置,其中 web 服务器执行大部分工作,属于“头重”类型。而那种由数据库服务器执行大部分工作的配置则属于“脚重”类型。

对于大多数应用,有两方面的因素决定其选择“头重”服务器:

成本:数据库服务器所用的软件和硬件比 web 服务器所用的软件和硬件成本高。


可伸缩性:在 sql server 2000 中,数据库的可伸缩性在 sql server 7.0 的基础上得到改善,但是为了充分发挥新硬件的功能,还需要仔细规划和有效维护。
基于以上原因,基于“脚重”类型的服务器配置体系结构留待以后讨论。

microsoft n-层物理体系结构
作为比较,我们先看一个没有使用 sql server xml 的 duwamish online (http://www.duwamishonline.com/) 的物理体系结构。它的设计目的是尽可能实现上面介绍的逻辑体系结构。尽管每一层都设计为执行一类逻辑操作,但是,仍然出现功能分布超出范围的情况。例如,某些业务逻辑由数据库中的存储过程执行以提高性能。那些熟悉 duwamish books, phase 4 的用户很快就会发现结构的改变很小。

图 2:microsoft n-层体系结构

此体系结构允许每个组件专用于一个特定任务,并使用最适合该任务的技术。缓存用 c++ 编写以最大程度提高性能;使用 active server pages (asp) 和 xsl 来控制表示逻辑;由 microsoft visual basic® 执行工作流、业务逻辑和数据访问;用 transact sql (t-sql) 控制组件和数据库操作。未划定技术界限的各层将按照将其作为单独的 com+ 组件实施来划分。所有这些灵活性的代价是各层必须协同工作。跨环境调试是一项艰难的工作,必须非常细心,以确保适合一种环境的数据必须重新设置格式以适合其目标环境。(例如,字符串“a < b”存储在数据库中不会出现问题,但是如果没有经过转义就放入 xml 文件中,将导致括号不匹配,从而损坏分析程序。)

读取方物理体系结构
duwamish online 在整个应用中使用单一的物理结构。与此相反,基于 sql server xml 的版本使用两个互补的物理体系结构:一个用于读取,另一个用于写入。在我们的例子中,第二种比较合适,因为两种使用情况需要不同类型的处理。

注意: 请参阅 http://msdn.microsoft.com/voices/news/sqlxml.asp(英文)中的完整体系结构图。

图 3:读取方体系结构

sql server xml 技术用于所有层(从数据库到表示)以最大限度地提高性能。sql server xml isapi 应用代替 web 层上的 asp。isapi 应用和 sqloledb 提供程序自动执行数据访问,从而减小代码量,缩短开发时间。获得此性能的代价是失去了可靠的 asp 对象模型和灵活性。下面一节写入方物理体系结构中将说明失去的功能,以及如何在必要时将应用代码集成到体系结构中,从而重新获得这种灵活性。

现在,让我们看一些更细致的体系结构特性。表示方法由 xsl 样式表单独控制。因为数据库返回的数据为 xml,所以这一特性很有用。但是,使用 xsl 的好处是不依赖于技术。换句话说,模板、asp 页和 com+ 组件可以使用同一个样式表。模板包含工作流层。(模板是 xml 说明文件,它生成数据驱动的动态 web 页,允许通过 http 快速访问数据库,同时提供一定级别的数据提取和数据安全性。)模板通常使用存储过程进行数据访问,尽管它们也可以使用 xml data reduced (xdr) 架构,这种架构提供了一种直观的语法将数据库对象映射到 xml 元素,还提供了使用 xpath(xml 路径语言)进行数据库查询的能力。有关模板、xdr 架构和实施细节的详细说明,请参阅我以前的文章 duwamish online sql server xml 分类浏览。

这种体系结构没有单独的业务逻辑层。这是因为我们的应用中的只读操作只有很少的业务逻辑量,可以轻松地集成到数据访问例程中。在其他情况下,业务逻辑层可作为数据库中的一组存储过程高效实施。有关这方面的设想和方法,请参阅本文后面的以数据库为中心的体系结构一节。

经过验证,最大的变化发生在数据库层。新增的一组功能允许存储过程直接读写 xml。事实上,所有数据检索都通过 xml 来完成。

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:webcomputing━ado总结报告7
下一篇:sql server xml 和 web 应用体系结构(二)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
第十七章 sql编程(二) 第十七章 sql编程(一) windows2000下安装apache php4 mysql  
windows 2000下安装php4及mysql大揭密  win2000 + php + mysql + tomcat + jsp 超级服务器apache+mysql+php+ssl之完全
超级服务器apache+mysql+php+ssl之完全 linux下快速安装“apache+php3+mysql” 如何集成linux、apache、php4、fastcgi
接触 solaris : 安装 apache + php + m linux服务器配置方案mysql(上) sql server 7.0与以前的版本相比,安全
设置proxy server和sql server实现互联 microsoft sql server 7.0安全问题     mysql安全性指南(3)(转)            
mysql安全性指南 (2)(转)            mysql安全性指南 (1)(转)            怎样才能限制sql server只能让指定的机
远程检测ms sql server账号安全性      模拟sql server的两个日期处理函数     用dbsql类加快开发mysql数据库程序的速
将access数据库移植到microsoft sql se microsoft sql server 7.0数据库设置与 microsoft sql server 7.0数据库升级转
最新更新 热点排行 推荐新闻
sql server 7.0与以前的版本相比,安全
设置proxy server和sql server实现互联
microsoft sql server 7.0安全问题   
mysql安全性指南(3)(转)           
mysql安全性指南 (2)(转)          
在frontpage 2000中插入flash动画
用frontpage 2000使图像“减肥”
提高frontpage 2002使用效率
用frontpage 2000创建网页动画
用frontpage 2000巧做样式表
用frontpage 2000制作鼠标光照特效
用frontpage轻松转换图片格式
frontpage10全透视教程(9)
frontpage10全透视教程(8)
frontpage10全透视教程(7)
sql server 7.0与以前的版本相比,安全
sql简明教程(6)
sql简明教程(5)
sql简明教程(4)
sql简明教程(3)
qq珊瑚虫外挂4.0版本发布!
多个广告位招商!
摄影后期系列一:1分钟为数码相片去红眼
qq挂机说明
asp进度条
photoshop通道抠图:给秀发飞扬的mm照
教您显示器亮度对比度的调节
新版上线,今日正式开通!!!
更多精彩图文广告等着您!
asp中使用sql语句教程
sql简明教程(1)
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
用photoshop创意图形“岁月”
摄影后期系列一:1分钟为数码相片去红眼

 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息