【问题标题】:Correct way to develop a large application开发大型应用程序的正确方法
【发布时间】:2010-11-15 16:42:15
【问题描述】:

我们正在.Net 3.5 中开发一个非常大的网络应用程序。两个独立的供应商在不同领域拥有专业知识。两家供应商都位于远程,并在同一 Web 应用程序的不同功能区域上工作。我想知道处理 UI 开发的最佳方式是什么。

用户界面有一个主结构,左侧和顶部都有导航链接。单击链接会在主区域中打开一个页面。各个页面将由每个供应商开发。整个主控可由一个供应商开发。在主布局中,我使用 iframe 在主区域中显示单个页面。

我将主应用程序部署在 IIS-Master 池上,供应商 A 应用程序部署在 IIS-A 池上,供应商 B 应用程序部署在 IIS-B 池上。当用户数较多时,IIS池做负载均衡。

此外,此 Web 应用程序是基于访问的,即用户需要登录才能访问页面。我知道我需要在这里实现单点登录,因为涉及到不同的站点。

这是个好主意吗?有没有其他选择?


回复后编辑

我也有你回复中提到的同样的担忧。但我想到的解决方案不仅仅是因为涉及到两个供应商。这两家供应商都参与其中,因为那里有两个独立的功能区域,并且两个区域都有自己的用户负载,因此它也有助于适当地进行负载平衡。我正在考虑完全创建两个实施单点登录的站点。但问题是 UI 的公共部分的维护。公共库很容易,可以由一个供应商开发并将 DLL 分发给其他供应商。我们如何为 UI 层做到这一点?

【问题讨论】:

    标签: .net iis iframe single-sign-on vendors


    【解决方案1】:

    我对您所写内容的第一印象是,可能值得重新考虑架构。

    使用 iframe 会遇到很多问题,首先是浏览器后退按钮的行为。

    一种可能的替代方法是在主应用程序与 A 和 B 之间使用远程处理或 Web 服务,并在一个地方处理整个用户界面。与两个不同的供应商协调一致的 UI 开发可能非常困难。

    【讨论】:

    • +1 后退按钮的行为很重要。很好,你说出来了,@Skrim。
    • 主要问题是开发工作的分离。我知道解决方案可能并不完美,但我们也需要解决开发问题。返回按钮有什么问题?
    • 返回按钮有什么问题?检查这个w3schools.com/HTML/tryit.asp?filename=tryhtml_frame_navigation 并且返回按钮工作正常。
    【解决方案2】:

    与分布式团队合作可能很困难,尤其是在大型应用程序上。事实上,有时我们不必要地改变我们的架构只是因为我们认为它会使开发生命周期更容易。

    我个人认为,版本控制、持续集成、代码审查和开放式交流等软件基础知识非常适用。我建议将此项目视为一个恰好由多个开发团队编码的单个应用程序。让某人负责代码集成,确保所有团队都在同一页面上,并且不要更改您的架构以适应您的团队动态。

    您要问的问题是:您是否真的最好不要维护多个站点和一个单点登录系统,或者您是否只是建议这种方法,因为您认为隔离供应商并让他们专注于他们的核心领域应用程序是正确的方法吗?

    【讨论】:

    • 正如我所提到的,隔离是因为需要两个独立的功能专业知识,如果我们将其隔离会很好,因为我们可以适当地对不同区域进行负载平衡。如您所知,不同的区域会有不同的负载。
    • 感谢您提供澄清更新/cmets。对不起,如果我的回答没有帮助。
    【解决方案3】:

    为什么开发方不能在同一个 UI 项目上工作,只要他们共享源代码控制分支的同一个实例。开发母版页时,他们都可以根据母版模板构建客户端页面,而不会打扰对方?

    【讨论】:

    • 请完整阅读我的问题,我知道这是可以做到的,但也要考虑我在问题中提到的其他参数。
    猜你喜欢
    • 1970-01-01
    • 2015-08-02
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 2011-12-30
    • 2020-12-10
    相关资源
    最近更新 更多