为 SharePoint Foundation 2010 应用程序的协作开发和 ALM 设计物理架构






4.14/5 (3投票s)
本文介绍了最适合 SharePoint Foundation 2010 应用程序协作开发和 ALM 的物理架构。
引言
本文介绍了最适合 SharePoint Foundation 2010 应用程序协作开发和 ALM 的物理架构,以及所需的服务器和工具,以及它们在 SharePoint Foundation 2010 ALM 中所起到的关键作用。本文的目的是让读者全面了解相互连接的各种 SharePoint Foundation 服务器和场。
背景
需要对不同的服务器操作系统和 SharePoint Foundation 2010 有基本了解。
解决方案
应用程序生命周期管理 (ALM) 是开发生命周期活动(包括需求、建模、开发、构建和测试)的协调。最近,ALM 已扩展到应用程序和软件开发生命周期之外,还包括业务解决方案治理、基础设施管理、运营和支持。
您可以使用 ALM 来帮助您的组织在业务、开发和运营的软件解决方案背景下保持一致。通过支持 ALM 的应用程序开发平台,您可以为这些功能内使用的各种工具和执行的活动提供集成。
主要有四种类型的暂存服务器,以及独立开发人员环境,它们在 SharePoint 2010 应用程序的 ALM 中起着关键作用
- 开发 SharePoint 场
- Team Foundation Server
- 集成/测试场
- 生产场
+
开发人员工作站
下图是物理架构,它描绘了每个服务器如何互连以支持 SharePoint Foundation 2010 应用程序的协作开发和 ALM

开发 SharePoint 场
SharePoint 场本质上是 SharePoint 角色服务器的集合,它们提供了托管 SharePoint 站点所需的基础结构。场级别是 SharePoint 体系结构的最高级别,为 SharePoint 环境提供了明确的操作边界。环境中的每个场都是一个自包含的单元,由一台或多台服务器组成,例如 Web 服务器、服务应用程序服务器和 SharePoint 数据库服务器。
对于大量使用 SharePoint 的组织的开发人员来说,SharePoint 开发场是必需的,他们通常需要环境来测试新的应用程序、Web 部件、解决方案和其他 SharePoint 定制。这些开发人员通常需要一个沙箱区域,可以在其中测试这些场级别的功能和解决方案。
我考虑了 SharePoint Foundation 2010 场的两层拓扑。但是,这完全取决于您的应用程序需求。如果您的应用程序是一个相对较小的内联网应用程序,那么您可以选择单层拓扑;如果您要集成其他搜索服务器与 Foundation,那么您可以选择三层拓扑,其中应用程序服务器作为中间层(请记住,SharePoint Foundation 2010 不包含企业搜索)。部署一个或多个开发场可能是有意义的,以便开发人员有机会在独立于现有生产环境的情况下运行测试并为 SharePoint 开发软件。
SharePoint Foundation 2010 的两层开发场基本上包含两种类型的服务器
- Web 服务器
- 内容数据库服务器
在上图中,有三个前端 Web 服务器和一个 SharePoint 内容数据库服务器。但是,您可以根据您的应用程序需求和生产环境的体系结构选择一个前端 Web 服务器连接到内容数据库服务器。所有 Web 服务器共享相同的内容数据库。这称为两层部署场,其中 SharePoint 服务器组件和内容数据库安装在不同的服务器上。正如我之前提到的,您可以根据您的应用程序体系结构和生产环境的拓扑选择单层、两层或三层部署拓扑。
每个 Web 服务器都安装了 SharePoint Foundation 2010 和 SharePoint Extension for TFS 2010。它需要 SharePoint Extension for TFS 2010 来连接 Team Foundation Server 进行源代码管理、生成管理和项目管理。
开发 SharePoint 场的优势
- SharePoint 管理员可以将来自多个开发人员的所有最终构件集成到的单一位置。
- 开发人员可以与其独立的开发人员工作站上的最新 SharePoint 站点同步。
- 管理员可以轻松批准构件并将其迁移到集成服务器。
- 这是开发人员的单元测试环境,他们可以在其中测试依赖的功能或场级别的功能。
Team Foundation Server
Team Foundation Server 在 ALM 中起着关键作用,它提供源代码管理、生成管理和工作项。您可以将 TFS 安装在拥有内容数据库服务器的同一台服务器上,但如果您要使用 TFS 的生成管理,那么建议使用单独的 Team Foundation Server,因为它在处理生成时会大量占用 CPU。
根据上图,有单独的 Team Foundation 服务器连接到 SharePoint 场以及独立的开发工作站,以便为自定义内容以及开发人员的构件和资源提供源代码管理。
TFS 的优势
- SharePoint 构件和定制的源代码管理
- SharePoint 的生成管理
- SharePoint 的工作项和 Bug 跟踪工具
- 所有管理活动的管理控制台
- 易于与 SharePoint Foundation 服务器和 VS 2010 集成
- 轻松签入和签出
- 基于 Web 的控制台,用于管理 ALM 活动
开发人员工作站
根据上图,开发人员环境包括两个开发人员工作站。实际上,您可以根据您的开发团队规模配置任意数量的工作站。
开发人员工作站应具有 Windows 7 或 Windows Vista 操作系统,并安装独立的 SharePoint Foundation 服务器和本地内容数据库。这样,一个开发人员的工作就不会影响另一个开发人员,并且他可以在本地调试构件。
开发人员工作站将安装以下组件
- Windows 7 或 Windows Vista 64 位操作系统
- 独立的 SharePoint Foundation 服务器 2010
- SharePoint Designer 2010
- Visual Studio 2010(连接到 TFS)
开发人员工作站应连接到 Team Foundation Server 2010,以便当开发人员最终完成其构件后,他可以将构件签入 TFS,以便其他开发人员可以根据需要从 TFS 获取最新代码。这样,就可以在不影响其他开发人员工作的情况下进行并行开发。
集成/测试场
任何生产 SharePoint 环境都应该有一个测试环境,可以在其中测试新的 SharePoint Web 部件、解决方案、服务包、补丁和附加组件。部署测试场至关重要,因为许多 SharePoint 附加组件可能会破坏或损坏生产环境的格式或结构,并且尝试在站点集合或其他 Web 应用程序上测试这些新解决方案是不够的,因为解决方案通常直接安装在 SharePoint 服务器本身上。如果出现问题,该问题将反映在整个场中。
集成或测试服务器场应与现有环境相似,安装相同的附加组件和解决方案,并且理想情况下应包含生产站点集合的恢复,使其尽可能与现有生产环境相似。所有安装到环境中的更改和新产品或解决方案应随后首先在此环境中进行测试。
集成/测试服务器将拥有符合业务要求的最终 SharePoint 站点和站点集合。QA 将在此处测试所有业务功能。客户还可以在上线到生产服务器之前进行“用户验收测试”。
用户验收测试通过后,所有站点和站点集合将部署到生产服务器。
集成测试服务器的优势
- 干净的环境和与生产环境相同的物理架构
- QA 可以在一个地方测试所有依赖的业务功能
- 客户可以参与 UAT
- 易于从集成测试服务器部署/迁移到生产服务器
生产场
最后阶段是将您的场部署到生产环境中。在此阶段,您将已在用户验收测试阶段确定的必要解决方案和基础结构调整 incorporated。这些服务器通常位于客户的 premises。开发团队和测试团队无法控制它。
市场上提供各种第三方工具,用于 SharePoint 数据保护、管理、迁移、合规性和集成。
摘要
因此,通过这种方式,您可以设计物理架构,其中开发 SharePoint 场和开发人员工作站与 TFS 2010 集成。TFS 和内容数据库连接到测试服务器或测试场,其中所有构件和内容都将在测试服务器上集成,供 QA 和 UAT 使用。最后,在 UAT 之后,它将被部署到生产场。
您可以对所有服务器和工作站使用 VM(虚拟机)以实现有效的 infrastructure,因为如果服务器因某种原因崩溃,您可以从映像快速创建所需的 OS 的新 VM。
注意:在上图中,集成/测试场和生产场仅为一个服务器,以便清晰理解,但在实际情况中,它会像开发场一样大,拥有一定数量的前端 Web 服务器和内容数据库服务器。所有服务器 OS 均为 Windows Server 2008 R2 SP2 64 位。有关 SharePoint Foundation 2010 的硬件和软件要求的更多信息,请访问此处。