【问题标题】:What is this website architecture called?这个网站架构叫什么?
【发布时间】:2011-12-16 14:17:10
【问题描述】:

我们的主要应用程序界面是一个用 ASP.NET Webforms 编写的网站。 在大多数情况下,所有的 html/内容都是在服务器端生成的,并在必要时添加了一些 javascript/AJAX。

管理层已决定将新的发展转向不同的方向。服务器端不会生成任何内容。相反,我们将只公开 WCF Web 服务,这些服务返回非常简单的 JSON 对象,其中包含从业务对象组合在一起的 UI 数据。

我们所有的实际页面都将包含少量的 html,以及将从服务中异步提取数据以填充 JQuery UI 元素的脚本。

我对此并没有真正的问题,我可以看到它在哪里很好地将表示层与数据分离。但我不确定到底该怎么称呼这个?我们已经清楚地将 View 与其他所有内容分开,但我不认为上述严格符合 MVC 的条件,具体取决于后端的实现方式。它会被称为面向服务的架构吗?我听说过这个词好几次了。

以这种方式做事有什么严重的缺点吗?

【问题讨论】:

  • 所以你的管理层正在放弃任何搜索引擎,嗯?
  • @WyattBarnett 该站点只是一个应用程序界面,不公开。
  • 哦,好吧,那就继续吧。 . ..

标签: asp.net wcf web-services webforms soa


【解决方案1】:

它被称为面向服务的架构 (SOA)。您的数据是从服务(即与表示层完全分离的中间层)中提取的。这种架构的优点在于您可以将各种前端(即客户端)插入服务,而无需完全重建整个事物. 因此,它可以更轻松地构建您的软件的 Iphone、Android、Web、桌面和 Windows Phone 版本。

【讨论】:

  • 我的回答也不是本意。我只是确认整体架构将被视为 SOA。是一起使用 Web 表单和 J SON 对象还是严格地使用 Web 表单本身取决于它们。我参与了一个非常相似的项目,该项目试图将开发人员塞进一种特定的技术中,并看到它惨遭失败。意图和概念是崇高的,但试图强制解决方案,因为它看起来“理想”可能会产生一些令人讨厌的反响,尤其是在管理层而不是架构师做出决定的情况下。
  • 这不是 SOA。该问题没有提到服务重用、不可知的服务、服务库存、服务组合或企业服务总线的使用。仅仅使用服务并不构成 SOA。请不要再增加围绕 SOA 的所有混乱。
【解决方案2】:

真正的答案是“这取决于您应用的架构模式”,因为您可以通过这种方式构建任意数量的架构模式。

在上下文中,我猜“MVC”是正确的做法;考虑一下:如果你用服务器端语言编写模型并在那里渲染 HTML,但数据在应用程序内部以 JSON 的形式传递,它会是 MVC 吗?

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 2021-04-08
    • 1970-01-01
    • 2011-04-08
    • 2016-08-21
    • 2011-04-15
    • 1970-01-01
    • 2017-03-13
    • 2011-01-13
    相关资源
    最近更新 更多