time 
设为首页】【收藏本站
当前位置: 主页 > 软件工程 > 分析与建模 > 分布式应用程序体系结构的选择

分布式应用程序体系结构的选择

时间:2009-12-01 20:27 点击:543次 字体:[ ]




  如果您正在设计一个基于 .NET 的分布式应用程序,则需要考虑本文中讨论的所有问题,并对系统体系结构的应有结果得出一些结论。一般来讲,这比您想像的要容易些。但总有一些特殊的情况需要其他的方法,以下是您可以进行的某些一般假设,可为您简化情况。

  首先,在默认情况下使用 ASP.NET Web 服务。它们的执行和使用都很简单,可以为客户端平台提供尽可能宽的使用范围,而且可以从默认安全性策略下沙箱中运行的代码中调用 ASP.NET Web 服务客户端代理代码。

  如果要使用较传统的带有 CLR 类型保真度的分布式对象模型,不需要与其他平台进行互操作,而且由您控制客户端和服务器的配置,请考虑使用 .NET Remoting。如果您选择 .NET Remoting,最好使 HTTP 通道信道与 IIS 和 ASP.NET 集成,否则,必须建立自己的进程生命周期管理和安全性基础结构。假定 .NET Remoting 需要 .NET 客户端,使用二进制格式化程序而不是 SOAP 格式化程序是很有意义的;互操作性将不成问题,而且性能将显著提高。

  最后,如果需要公布的事务,请使用企业服务 (COM+)。如果您执行 ServicedComponents,则出于性能方面的考虑,默认情况下它们将部署在库应用程序中。如果它们需要在远程计算机上运行,则将它们部署在服务器应用程序中。(如果您需要执行不同的进程安全性令牌 [而不是 aspnet_wp.exe 使用的令牌] 的代码,即使在相同的计算机上,可能也要考虑使用 COM+ 服务器应用程序。)

  以下是三个基于这些理念的公共体系结构。

    分布式应用程序体系结构的选择_www.fengfly.com
        图 1,一个简单的 3 层体系结构

  图 1 显示了一个简单的 3 层体系结构,它带有 Web 服务器领域,支持一系列不同的客户端。所有服务器端的代码都运行在 ASP.NET 辅助进程 aspnet_wp.exe 中。三种不同类型的客户端使用 HTTP 访问服务器领域。基于浏览器的客户端调用 ASP.NET Web 页面;胖客户端(例如,Windows 窗体应用程序、Microsoft? Visual Basic? 6 应用程序)和其它 Web 服务使用 ASP.NET Web 服务;而.NET 胖客户端(例如,Windows 窗体应用程序)和 Web 服务则像期望的一样,通过 HTTP 信道和二进制格式化程序(假设它不在沙箱中)使用 ASP.NET Web 服务或 .NET Remoting。      分布式应用程序体系结构的选择_www.fengfly.com

      图 2,一个使用 ASP.NET 的 n 层体系结构
  
  一些非常大的应用程序使用一套辅助计算机从 Web 服务器的外层分担工作。这一体系结构如图 2 所示。注意,在这种情况下,第二层也通过 ASP.NET 提供功能。     分布式应用程序体系结构的选择_www.fengfly.com

     图 3,使用企业服务 (COM+) 的 n 层体系结构

  图 3 显示此体系结构的另一种版本,其第二层使用在 COM+ 中部署的 ServicedComponents 提供功能。

  显然,这些并不是 .NET 框架所支持的所有可能的体系结构。但是,它为您设计自己的系统提供了适当的基础。



本文地址 : http://www.fengfly.com/plus/view-158708-1.html
标签: ASP.NET 体系结构 应用程序 使用 选择
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: