注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

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

2011-03-02 21:44:48|  分类: asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
如果您正在设计一个基于 .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+ 服务器应用程序。)

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

分布式应用程序体系结构的选择 - 海里的贝壳 - apple的博客
    
        图 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。      

分布式应用程序体系结构的选择 - 海里的贝壳 - apple的博客

      图 2,一个使用 ASP.NET 的 n 层体系结构

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

分布式应用程序体系结构的选择 - 海里的贝壳 - apple的博客

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

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

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

  评论这张
 
阅读(506)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017