当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server XML 和 Web 利用体系构造(二)[MSSQL防范]

赞助商链接



  本文“SQL Server XML 和 Web 利用体系构造(二)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
写入方物理体系构造

sql server XML 模板经太高度流程化,能尽大概高效地通过 HTTP 拜候数据库.为此付出的代价是功效集遭到限制.在模板中找不到所需功效的情形下,SQL Server 的专用 ISAPI 利用被替换为 ASP、ASP 和 COM+ 的组合或自定义的 ISAPI 利用.

本节中阐明的体系构造实用于您的页面要履行下列操作的情形:

拜候多个服务器上的数据库


处理在计划时未知其格局的 HTTP 恳求


调用 COM/COM+ 对象


利用 COM+ 事件


衔接至 Internet 上的任何利用或 Web 服务,比方付款供应程序

SQL Server XML 和 Web 利用体系构造(二)
图 4:写入方体系构造

Web 层上的代码表示利勤奋效的四个层——数据拜候、业务逻辑、工作流和表示.在开辟利用时,请确保此代码与体系构造保持一致.这可以使代码的可读性更高,也更易于保护.假如断定单独利用 ASP,脚本类的效率会更高.假如在业务逻辑层或工作流层有大量复杂的处理,对这些层利用 COM+ 组件大概速度更快.相反,关于处理量相对较小的情形,利用脚本大概速度更快.

这种新体系构造更超卓的缘由是,全部层(从数据到表示)都利用 XML 来传输和存储信息.数据库中的存储历程利用这些新功效来读写 XML.数据拜候层操纵 ADO 2.6 流与数据库举行高效、基于 XML 的通讯.

更新颖的办法是将某些中间层下移到数据库中.

以数据库为中央的体系构造
Duwamish Online 体系构造基于这样一种假想:因为数据库的可伸缩性最低,它应当计划成履行尽大概少的任务.分布式分区视图等新功效答应在多个服务器之间分担工作量,从而提高了数据库的可伸缩性,使开辟人员可以挑选将大部份工作放在何处.

假如挑选将"脚重"服务器聚集(数据库方面功效更强)与 SQL Server XML 体系构造一同利用,则另一种办法是利用与 n-层组件的分层方法类似的方法来对数据库中的存储历程举行分层.要实现这一点,必须有好的编程办法,比方挑选得当的数据构造和尽大概避免反复代码.

SQL Server XML 和 Web 利用体系构造(二)

图 5:以数据库为中央的体系构造

这种体系构造中的表示层还包含用于拜候数据库中的存储历程的代码.此代码大概与传统数据拜候层中的代码相同.但是,调用此代码时数据拜候层大概会出错,因为这些例程调用工作流层供应的接口.

在利用存储历程举行开辟工作时应当当心避免呈现缺陷.让我们先来看一个计划,这个计划利用了几个智能存储历程,它们先履行该层的大众任务,然后再履行在下一个层上持续履行其代码途径的逻辑切换.在工作流层中调用"智能历程"将对应于若干个差别的操作之一.此历程以下所示:

CREATE PROCEDURE
/* 这是一个智能历程,履行工作流操作 */
DoWorkflow
/* Action 用于挑选该调用的多个操作之一 */
@Action nvarchar(255),
/* SomeOtherParameters 是一个占位符,用于工作流所需的其他输入 */
@SomeOtherParameters ntext
AS
/* 履行工作流的大众操作 */
Execute SomeCommonWorkflowOperations
If @Action = N'Action1'
BEGIN
/* 履行 Action 1 */
Execute BusinessLogicAction1
END
Else If @Action = N'Action2'
BEGIN
/* 履行 Action 2 */
Execute BusinessLogicAction2
END
GO

第一次调用此历程时,SQL Server 优化履行刚好第一次运行的任何代码途径.这使别的代码途径的运行效率降低,固然它们的本钱大概更高大概利用的频率更高.

为确保优化履行全部代码途径,可为每个操作成立一个单独的历程,尽大概避免切换逻辑.为避免代码反复,全部层中多个操作同享的函数应当放在单独的历程中.当该计划产生大量历程时,优化可以大大提高利用的效率.

集成
Web 开辟中最值得称道的一点是用户看不到实施历程.因此,本文中介绍的体系构造可以轻松地归并到单个利用中,而无需用户参与.下面是一些原则,可以帮忙您更轻松地集成利用的差别部份:

在整个利用中利用 XML.XML 可以用于任何技术中,可以利用 XSL 款式表轻松地举行转换,还可以毫无艰难地存储在任何地方.SQL Server XML 使得在您的利用中利用 XML 比从前更简单.


尽大概分化代码.
利用 XSL 款式表来转换 XML.可以在模板、COM+ 组件和一段脚本之间便利地同享同一个 XSL 款式表.


当脚本履行多个函数时,利用脚本类分化代码.


在数据库方面,始终利用存储历程举行数据拜候.它们不但易于保护,并且比未编译的 SQL 查询履行速度快得多.
影响
本节阐明利用新的体系构造关于您的利用在"功效"和性能方面有何影响.

可编程性
可编程性是指简单编写利用代码.普通反映在开辟利用的时间而不是功效方面.以 Duwamish Online 利用为例.该利用的五个层是通过一组完好差别的技术来实现的.表示层利用了 C++(用于缓存组件)和 Web 技术(比方 XML、XSL 和 ASP).工作流层、业务逻辑层和数据拜候层是 Visual Basic COM+ 组件,而数据库中的存储历程是用 T-SQL 编写的.利用这么多技术的长处是,开辟人员可以针对每种范例的操作挑选最佳技术.但是,要使全部组件高效地精密合作无疑是一个难点.当利用多种差别的工具和差别的编程语言开辟组件时,跨组件跟踪和调试始终非常艰难.

在整个利用中利用 SQL Server XML 将有助于最大程度地降低差别技术的工作量.(XSL 是一个例外:它不属于 SQL Server XML,但却精密集成在 SQL Server XML 模板中).各层之间一同工作,但产生的冲突最少.在各层之间举行调试非常简便,因为全部的中间数据都是 XML,无需任何额外操作.但是,可编程性的最大长处大概是大大削减了代码量:基于 SQL Server XML 版本的 Duwamish Books, Phase 4 可完成基于 COM+ 的同类产品相同的工作,但前者的代码量只有后者的非常之一.通过 SQL Server XML 的内置功效使数据拜候、XML 转换、XSL 转换和数据缓存变得越发简便.

遗憾的是,不能再利用 XSL 的高效调试工具,而用于其他新技术的调试工具相对来说还不成熟(特别是与 Microsoft Visual Studio® 供应的跨语言调试本领相比).

可管理性
SQL Server XML 利用易于布置.关于运行在 Web 层的代码,只需简单地将文件复制到它们的目标目录,然后运行一次配置工具以成立呼应的虚拟目录.更新历程只是简单地替换过期的文件.可以利用 SQL Server Enterprise Manager 轻松地管理数据库对象.

性能
有关具体信息,请参阅 Duwamish Online SQL Server XML 分类浏览文章中有关性能的一节.

利用倡议
有关新技术最重要的问题大概是利用的机会.固然 SQL Server XML 不是全部 Internet 问题的终究办理筹划,但是在某些情形下,其上风是显而易见的,这包含代码量大大削减、开辟周期明显缩短、性能更高和保护更便利.新技术的两个主要组件(数据库和 ISAPI 利用)的利用情形差别,以下所述.

SQL Server XML 的数据库服务器组件几近用于全部利用.即便要将现有的利用从利用数据库转换为利用 XML 也是值得的.一些明显的长处以下:

易于本地化(利用 XSL)


不依靠于平台和技术


易于缓存 XML 数据


可以利用脱机/断开衔接的利用


易于归并或成立 Web 服务


可以与其他利用协同工作
新技术的 Web 界面组件是专用的.它们可供应对数据库的快速、高效拜候,并供应利用 XSL 款式表轻松成立数据驱动页的本领.这些长处非常有效.在我们的测试中,Duwamish Online SQL Server XML 分类浏览(无缓存)比 Duwamish Online(有缓存)的性能高 15%.利用 SQL Server 2000 技术预览版举行的早期测试显示 SQL Server XML ISAPI 缓存可以使性能有数目级的提高.但是,假如利用包含下列任何一种情形,则可以考虑利用基于 ASP 的中间层:

与数据提取无关的扩大业务逻辑例程.有两个选项决意这些例程的位置:数据库的存储历程或 XSL 中的脚本.脚本的效率不够高,而构造化查询语言 (SQL) 大概不是最佳语言.


扩大字符串,特别是后果调集的处理.此法则的例外情形是存储在 XML 或 HTML 数据库中的转义字符串.SQL Server 2000 的一个新功效将自动完成这项工作.有关具体信息,请参阅 SQL Server Books Online 文档(XML 和 Internet 支持 \ 检索和编写 XML 数据 \ 利用 FOR XML 检索 XML 文档 \ 利用 EXPLICIT 情势\ F. 指定 cdata 指令).


大量 HTML 输入.模板的范围性使其无法通过在计划时已知其格局的 HTTP 恳求检索全部信息,此工作可以利用 ASP 页完成.
注意!SQL Server 2000 还答应通过 URL 直接拜候数据库.在其他情形下,答应利用动态模板来帮忙办理体系构造方面的很多问题.但是,假如启用此功效,将答应尝试删除数据库的查询,因此,假如挑选利用此功效,请确保数据库的安全性无懈可击.

总结
SQL Server XML 供应了一种新的见解,通过答应从数据库直接检索 XML,使您的利用可以端对端利用 XML.新的 ISAPI 利用供应了令人称心的性能,但不一定实用于利用中的全部利用情形.   以上是“SQL Server XML 和 Web 利用体系构造(二)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .