【问题标题】:Asp.net 3.5 NTier ArchitectureAsp.net 3.5 NTier 架构
【发布时间】:2011-02-21 20:47:59
【问题描述】:

我正在使用 asp.net 3.5,sql server 2008 构建一个 Web 应用程序。我的客户希望它采用至少 3 层架构(层在物理上是分开的,意味着 3 层意味着 3 台单独的机器)。

用户界面层:所有页面将部署在不同的 Web 服务器上。此服务器将仅托管且仅托管 asp.net 页面或服务器组件。

应用层:此服务器将承载业务逻辑,这是所有业务逻辑将被实施和部署的层。这一层将填补数据库和用户界面(UI)之间的通信差距。

数据库层:单独的服务器将仅用于托管数据库。

到目前为止一切顺利。

实际上,我的客户愿意使用 LLBLGen 进行样板代码生成并加快开发速度。

我的问题是如何从 asp.net(用户界面层)页面调用应用层可用的组件,因为这些应用层组件假设在数据库和 UI 之间进行通信。

我使用 UI 和 BL 在同一台机器上的逻辑分离开发了应用程序。但在不同的机器上,我将第一次这样做。

所以请帮助我,如果有任何好的教程或文章,请分享。

感谢和问候 沙克斯

【问题讨论】:

  • @Shax - 客户来找你是因为你是专家,客户听到 NTier 到处乱说,认为这是他需要的,其实不是。如果客户是这样的专家,他不需要你的帮助,你应该回击客户的要求。
  • @Phill:是的,指导他们是他的工作,但认为他们也不知道自己在说什么也是不明智的。他们可能了解构建应用程序,但只需要有人实际去做。我个人认为 N 层是要走的路,因为它提供了明确的关注点分离,简化了开发(知道你只与紧接在下面的层交谈可以让许多决策更容易),并且它导致更容易维护和可扩展的解决方案。
  • @Andy - 他们可能知道或了解如何构建应用程序,但同样很可能不适合他们想要构建的应用程序。 OP 将层声明为物理层,3 个不同的服务器。但是在您对我的回复中,您已经说明了层,例如数据访问、业务、演示。如果我们谈论的是层,那么是的,我完全同意,但是 OP 声明了物理层,这就是为什么我认为客户已经听说过这个术语并认为这是他们最可能不需要的东西。 (如果有道理,对不起)
  • 朋友们,问题是客户非常清楚他们使用的术语,但他们不是开发专家。他们已经有一个他们在 2001 年购买的产品,它是用 VB6.0 和经典的 asp 编写的,但是他们面临着很多问题,比如现在他们想将数据库移动到单独的机器上,但因为数据库连接字符串而不能在 vb6.0 组件中进行了硬编码,并且供应商并不容易支持它,因为它现在是一种旧的技术产品,而供应商正在推动他们为同一产品购买 .net 版本等等等等。
  • 哎呀,听起来他们雇佣了一个经验不足的承包商,他决定了客户应该使用什么,现在你被它困住了:(。将数据库移到它自己的服务器上很好,但是目前我认为将业务逻辑移动到单独的层没有意义,您将不得不引入 WCF 服务或类似的服务来在 Web 服务器和应用程序层之间进行通信。您现在需要应对 DB-APP 之间的延迟和带宽, 和 App-Web。根据站点的流量,您可能需要引入网络工程师。单个网络连接将成为您系统的瓶颈。

标签: asp.net asp.net-3.5 llblgen


【解决方案1】:

由于您没有说明应用程序的类型和使用场景(您可能需要多层架构的安全性),我不想评论客户是否需要这样的东西。您可能会向他们建议,如果他们认为这种配置会降低性能,那么这种配置会带来好处。

我建议使用CSLA 框架,这样您就不必担心您的部署方案。我已经在许多不同的项目中成功使用了它多年,它可以减轻您的架构问题,让您不必担心提供真正的功能。

【讨论】:

  • 我支持使用 Csla 的建议。您希望 n 层 1) 明确分离职责,Csla 帮助引导您进行这种思考,以及 2) 您希望此配置具有可扩展性,这通常会降低性能,但会使系统总体上更加可靠。
  • 朋友,这里面肯定有安全的部分。根据用户配置文件需要显示某些屏幕或隐藏某些数据。我目前正在浏览 LLBLGen 在线文档,它似乎提供了很多我需要实施的东西,但又一次。如何在层之间进行通信。我是否需要出于这个原因构建 WCF 服务...不能去 CSLA,因为我已经说过他们已经投资了 LLBLGen 和 Telerik,他们希望我使用它们而不是引入新事物。请帮忙。对不起,如果我又错过了什么。
  • @Shax:将 Telerik 用于您的 UI 控件和 LLBLGen 作为 OR 映射器绝不会阻止您使用 CSLA。他们一起工作得很好。
  • 你的意思是我可以同时使用 CSLA 和 LLBLGEN 吗?你能指导我如何或任何教程吗?谢谢
  • 您可以查看 Rocky 的网站 (lhotka.net),查询那里的 CSLA 论坛,并购买他的书籍/电子书/视频。
猜你喜欢
  • 2013-04-17
  • 2015-01-17
  • 2010-09-30
  • 2010-10-18
  • 2011-11-11
  • 2011-08-08
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
相关资源
最近更新 更多