2

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

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

我将主应用程序部署在 IIS-Master 池上,供应商 A 应用程序部署在 IIS-A 池上,供应商 B 应用程序部署在 IIS-B 池上。当用户数量很高时,IIS 池会做负载平衡。

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

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


回复后编辑

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

4

3 回答 3

4

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

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

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

于 2009-07-31T05:28:31.193 回答
1

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

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

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

于 2009-07-31T05:29:42.050 回答
1

Why can't both development party's work on the same UI project, as long as they are sharing the same instance of a source control branch. When the masterpages are developed, they can both build client pages against the master template without bugging the other party?

于 2009-07-31T08:25:06.687 回答