SQL Server XML 和 Web 应用体系结构(一)8

2016-01-29 17:05 12 1 收藏

SQL Server XML 和 Web 应用体系结构(一)8,SQL Server XML 和 Web 应用体系结构(一)8

【 tulaoshi.com - SQLServer 】

摘要: 本文概要介绍在一组基于 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) 控制组件和数据库操作。未划定技术界限的

来源:http://www.tulaoshi.com/n/20160129/1500302.html

延伸阅读
标签: PHP
  很久以前我就想写这篇文章了,但是一直都没有时间。这里并不是想要告诉你怎样做,我希望它可以投石问路,和大家讨论一下如何开发一个好的、扩展性佳的web应用。 我从事开发已经有2-3年了,回望刚开始做的程序,真有点不相信是自己写的,现在我的web开发技巧已经得到了很大的提高,例如sourceForge(http://sourceforge.net/)就是...
标签: Java JAVA基础
  最近已经有了很多相关的介绍,JSP正在成为一种卓越的Java技术,可用于创建动态Web应用程序。Java程序员之所以喜爱JSP有数不清的理由。有些人喜欢它为交互式页面带来的“一次编写,处处使用”的方式;还有些人欣赏它是因为它容易学习,并且使他们可以把Java作为一种服务器端脚本语言来使用。但更多的还都是因为一个共同原因――使用JSP的...
标签: ASP
       随着互连网应用的深入和发展,三层体系结构的应用模式也得到更多人的青睐。本文介绍了三层结构应用程序的概念和优点,并结合一个实例介绍了如何建立三层结构的ASP应用程序。      一、两层结构的ASP应用有何缺点   在Browser/Server 应用程序开发领域,微软公司的I...
标签: SQLServer
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集...
基本概念 Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助Java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。StrUCts 框架的核心是一个弹性的控制层,基于如 Java Servlets,JavaBeans,ResourceBundl...

经验教程

705

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部