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

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

赞助商链接



  本文“SQL Server XML 和 Web 利用体系构造(一)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
择要: 本文概要介绍在一组基于 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 的.

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

图 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 的用户很快就会发现构造的改变很小.

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

图 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(英文)中的完好体系构造图.

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

图 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 来完成.

  以上是“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 .