---来源于MSDN
(四)使用系统设计器设计应用程序系统
“系统设计器”是一个设计器窗口,可以用来设计应用程序系统。以后还可以设计规模更大、更加复杂的包含其他系统的系统。设计完系统之后,可以在目标数据中心对其部署进行评估。
“应用程序系统”可以将一组特定的可重用的应用程序和系统定义成为它的一个“成员”。可以配置这些成员并描述它们之间的通信路径,还可以按照逻辑数据中心来验证某个系统,以便将该系统作为整体的一部分来对其部署进行评估。
“分布式系统设计器”支持两种设计应用程序系统的方法:自上而下的方法和自下而上的方法。对系统进行设计宜使用自上而下的方法,对系统中的应用程序进行设计宜使用自下而上的方法。
(五)“系统设计器”的功能
Architecture Edition 中,可以使用“系统设计器”设计可重用的应用程序系统。“系统设计器”的功能可以分为以下几种:
ü 将应用程序和其他系统添加为本系统的一个成员。
ü 为系统行为定义协定。
ü 查看各个成员的设置、约束和定义。
ü 重写系统成员的设置。
ü 配置系统成员之间的通信路径。
ü 委托系统行为并公开成员行为。
详细步骤在:http://msdn.microsoft.com/zh-cn/library/k3yeaezt.aspx
(六)使用部署设计器评估系统部署
“部署设计器”提供了一个设计器窗口,可以用来定义并验证应用程序在逻辑数据中心的部署。在“部署设计器”中,可以通过将系统中的每个应用程序绑定到逻辑数据中心中的特定逻辑服务器,来定义系统的部署。之后,可以对该部署进行验证。
对系统部署进行验证可以确保:
ü 确认系统中的所有应用程序已绑定。
ü 检查应用程序是否满足逻辑数据中心关系图上指定的应用程序约束。
ü 检查逻辑服务器是否满足应用程序关系图和系统关系图上指定的宿主约束。
ü 评估对区域的约束。
ü 确保必需的通信路径存在,并确定正确的通信协议是否存在,且是否在应用程序和宿主服务器之间兼容。
(七)使用逻辑数据中心设计器表示数据中心
“逻辑数据中心设计器”用于创建相互连接的逻辑服务器的关系图。这些关系图表示数据中心的逻辑结构。使用“逻辑数据中心设计器”,基础结构设计师可以指定并配置数据中心中的服务器和服务类型。
通常,逻辑数据中心关系图将由基础结构设计师创建,但是供开发人员使用。
“逻辑数据中心关系图”的创建与应用程序开发过程无关。这些关系图可以在相同目标环境中部署的其他分布式系统中重用。
逻辑数据中心关系图为部署关系图提供了源。部署关系图反映了逻辑数据中心关系图。
(八)设置和约束编辑器
“应用程序设计器”有设置宿主约束的功能。系统结构设计师可以指定对宿主环境的要求。最终的“基础结构设计师”可以决定是否更改逻辑数据中心以满足这些要求。
(九)扩展分布式系统设计器
通过使用系统定义模型 (SDM) SDK,可以扩展分布式系统设计器,在工具箱中创建“新逻辑服务器”和“应用程序原型”的模型。
一、 数据库版本(Database Edition)
Database Edition 将 Visual Studio Team System扩展为数据库团队使用的工具。Database Edition用于管理数据库更改,能改进数据库团队内部、以及数据库团队与组织中其他团队之间的协作。
ü 为什么要有Database Edition?
Database Edition 可以帮助项目成员将数据库的开发生命周期作为应用程序开发不可或缺的一部分来管理。通过管理数据库更改,可以使软件开发人员和数据库开发人员更好地沟通和更密切地协同工作。
项目团队中的数据库开发人员,经常要与软件开发团队中的成员进行协调时间表和更改事宜,以便创建统一的数据库应用程序。微软的经验表明,这一过程中,如果数据库开发人员采用与开发团队中的成员尽可能相似的工具和开发过程,可以极大地减少协调任务所需要的工作量。而Database Edition就是这样一种数据库开发工具。
随着更多的团队转向快速迭代开发过程,于是软件开发人员和数据库开发人员对版本控制工具的需求也越来越强烈。这些工具可以降低与基于团队的开发相关的风险,还能使这些数据库以及与它们交互的软件之间的集成带来方便。
(一)Database Edition的功能:
ü 创建并部署新数据库。
ü 将现有数据库架构置于版本控制之下。
ü 修改数据库,然后再部署更改。
ü 比较数据库之间的架构或数据。
ü 开发单元测试并运行这些测试。
ü 生成测试数据。
ü 重命名数据库表、列、视图等对象并将这些更改传播到其余的数据库项目。
ü 创建、编辑、验证、执行并分析脚本和查询。
(二)数据库开发生命周期
Database Edition可以与一整套的开发过程相结合使用,可以将此过程看成数据库的开发生命周期,这个过程为每一位数据库专业人员提供了一种独立的开发环境,可以在这个环境中对数据库进行开发和测试。并且可以将更改纳入到版本控制系统中。
数据库开发生命周期分为以下四个阶段(重点):
ü 建立项目环境
(1)数据库管理员 (DBA) 创建一个数据库项目
(2)数据库管理员 (DBA) 从成品数据库中导入数据库架构。
(3)数据库管理员 (DBA) 将该数据库项目签入到版本控制中,以供团队开发人员使用。
ü 执行独立的迭代开发
(1)每位数据库专业人员都与“版本控制”同步其开发环境。
(2)数据库专业人员可以在文件更改后签出文件,并在独立环境中对这些更改进行开发和测试。
(3)数据库专业人员对自己的数据库项目副本所做的更改仅会部署到各自的独立开发环境中。
(4)当某位团队成员生成实际测试数据并对数据库的私有副本运行单元测试时,该团队成员便将这些更改签入到版本控制中。
(5)其他团队成员将从版本控制中获取经过测试的更改。
ü 生成项目的每日版本
(1)每日版本是通过与版本控制系统中数据库项目的最新版本进行同步而生成的。
(2)可以将该版本部署到测试数据库中,然后对生成的测试数据运行单元测试。
ü 从项目环境中进行部署
(1)到了将数据库的某个版本部署到生产环境中时,数据库管理员 (DBA)将与版本控制系统中的标签同步。
(2)数据库管理员 (DBA)检索数据库项目的匹配文件、相关脚本和测试。接着,DBA 将生成部署脚本并根据需要进行手动修改。
(3)数据库管理员 (DBA)向临时服务器执行测试部署。
(4)数据库管理员 (DBA)重复此过程,直到可以将该脚本部署到成品服务器为止。
(5)如果 DBA 更改了架构、预先部署脚本或后期部署脚本,则这些更改将被重新签入到版本控制中。
(三)Database Edition 的结构
Database Edition 为数据库开发人员提供了许多工具、特性和功能,它们与 Visual Studio Team System 为应用程序开发团队内的其他成员提供的工具、特性和功能相同。因此可以很轻松地管理数据库开发过程,同时增强与开发应用程序其他方面的人员的协调。
Database Edition可以与Visual Studio Team System 的其余部分紧密集成。
l Database Edition 体系结构由以下三方面组成:
ü 数据库项目
每个数据库项目都是某个数据库的表示形式,并存在于一个 Visual Studio 解决方案的结构中。对数据库项目的更改必须通过生成和部署才能在 SQL Server 2000 或SQL Server 2005 的中生效。
ü 设计时验证数据库
设计数据库是 SQL Server 的一个本地实例,用于执行数据库项目的设计时验证。
ü 数据库生命周期基础结构
数据库生命周期基础结构在数据库项目与设计数据库之间提供了多种服务。此基础结构包含任何数据库项目都必需的基础功能。
数据库项目基础包含以下功能:
项目和项目项分析
导入数据库架构
跟踪数据库对象之间的依赖项
数据库重构
为新的部署和现有部署创建生成脚本
验证生成
比较数据库架构
比较数据库数据
数据库单元测试
生成数据
创作和执行数据库脚本
详细信息见:http://msdn.microsoft.com/zh-cn/library/aa833246.aspx
(四)Database Edition 中的扩展性
ü 自定义数据生成器
可以使用扩展性 API 来创建自定义数据生成器。甚至可以提供“自定义数据分发”供生成“测试数据”时使用。
ü 自定义单元测试条件
可以使用Database Edition包含的一个公共 API来添加“自定义断言”来确定测试是否成功。
二、 创建和更新受版本控制的数据库架构
若要将数据库定义置于版本控制之下,需要该数据库的脱机表示形式。在 Visual Studio Team System Database Edition 中,该脱机表示形式是数据库项目。
(一)团队环境中的数据库创建和部署
借助于Database Edition,开发团队可以使用“版本控制”下的数据库项目来管理数据库更改。团队的数据库管理员 (DBA) 角色,则可以创建数据库项目、导入架构、配置数据库设置、制定生成测试数据的计划。
数据库的开发人员或测试人员,需要从“版本控制系统”中签出数据库架构,并在独立开发环境中进行更改,测试这些更改,而不会影响团队的其他成员。
完成更改后,可将文件签入到“版本控制系统”中,以便可以生成这些文件并将其部署到测试服务器。其他团队成员可以通过“签入功能”来同步以前的更改。
l 团队环境中数据库创建的一般步骤:
ü 设置数据库项目
ü 在独立开发环境中执行迭代开发
ü 将更改部署到产品中
具体操作过程在:http://msdn.microsoft.com/zh-cn/library/aa833433.aspx
(二)数据库项目概述
数据库项目是数据库架构的脱机表示形式,它包含创建单个数据库实例或更新现有实例时所需的对象定义和部署脚本。
使用数据库项目可以执行以下任务:
ü 创建和部署数据库。
ü 对数据库进行版本控制。
ü 从现有部署数据库创建新数据库项目。
ü 将数据库项目与部署数据库进行比较。
ü 导入对部署数据库所做的更改,以使数据库项目再次与部署数据库匹配。
ü 添加、修改和删除数据库对象和脚本。
ü 创建一个或多个数据生成计划以用测试数据填充数据库。
(三)修改数据库项目
在创建数据库项目之后,数据库管理员可以根据具体要求进一步对其进行自定义。
(四)生成和部署数据库
在对数据库项目做了更改以后,必须经过“生成”和“部署”后,才能更新数据库服务器。可以为数据库的部署新建一个项目,也可以在现有部署的基础上生成部署项目,前一种情况下,从新项目中创建数据库部署脚本;后一种情况是,将数据库项目与特定的已有的部署相比较,并创建脚本来更新数据库。
(五)数据库脚本
数据库项目中可以包括数据库脚本或其他各种管理数据库为目的脚本。在部署数据库或更新数据库时,在运行“生成脚本”之前或之后,可以运行“数据库脚本”。
ü 数据库脚本在部署数据库中的作用
数据库脚本是包含T-SQL语句或实用工具(如 SQLCMD)的附加文件。可以将数据库脚本用作部署步骤的一部分(预先部署和后期部署脚本),数据库脚本也可以是存储在数据库项目中的常规管理脚本。
在对数据库进行重构期间,可以自动执行任何脚本。因此,数据库脚本在部署过程中的作用是非常大的。
(六)管理团队环境中的数据库项目
从管理的角度来看,可以从两个方面管理数据库的更改:
ü 数据库的脱机表示形式(数据库项目)
ü Team Foundation Server 的版本控制功能
这样可以将数据库当作构成应用程序的其他文件来处理。
在团队环境中工作时,处于管理的目的,一定要控制所做的更改何时到达团队中的其他成员那里。如果团队正在开发具有一个或多个数据库的应用程序,那么数据库管理员可以通过创建数据库项目并将它放在版本控制软件中来加强这种控制。可以将整个“数据库项目”及其包含的“所有项”置于版本控制之下。