SQLServer和Web应用体系结构(一)

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

摘要:本文概要介绍在一组基于XML的解决方案中使用DuwamishBooks,Phase4应用和更可靠的DuwamishOnline应用后所得到的体系结构

有关Microsoft®SQLServer™2000中介绍的SQLServerXML技术套件的详细信息,请参阅相关文档DuwamishOnlineSQLServerXML分类浏览(英文)。

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

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

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


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

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

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

图1:逻辑体系结构

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

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

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

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

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

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


可伸缩性:在SQLServer2000中,数据库的可伸缩性在SQLServer7.0的基础上得到改善,但是为了充分发挥新硬件的功能,还需要仔细规划和有效维护。1

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭