技术开发 频道

Team System:设计分布式系统以进行部署

【IT168技术文档】

    简介
    分布式系统设计器由各种支持分布式系统图形设计和验证的工具组成。该工具集包括适用于应用程序架构师、设计人员、开发人员和操作架构师的工具。分布式系统设计器是源于动态系统计划 (DSI) 的早期工具,旨在改进企业级分布式系统的开发、部署和管理。有关 DSI 的详细信息,请参阅 Microsoft Dynamic Systems Initiative。这些工具是 Visual Studio 2005 Team System 的一部分。

    面向服务的体系结构是下一代分布式应用程序的基础。Microsoft 的“Indigo”平台将提供业界领先的、面向服务的系统。“Indigo”将基于 SOAP 和目前 Windows 平台所提供的 Web 服务支持进行构建,并增加了对各种传输和系统拓扑结构的广泛支持,从而能够在服务之间进行安全、可靠和持久的基于消息的通信。既然 Indigo 平台本身有了许多重要的改进,企业现在就可以使用 SOAP、XML 消息处理和 ASP.NET Web 服务来开发面向服务的系统。有关详细信息,请参阅 Indigo。

    设计分布式系统的难题

    设计和部署分布式系统是一个相当复杂的过程。本节解释一些可能出现的问题。

    使分布式系统的设计可视化

    将系统结构作为一个整体进行可视化已变得越来越困难,这是因为在面向服务的体系结构中,系统变得越发支离破碎。此外,随着时间的推移,由于各个部门购买、开发或获取各种各样的应用程序,因此企业通常聚集了许多不同的系统。由于各个系统可能采用了很多编程技术,因此在它们之间共享功能和数据常常十分困难。为了实现互操作,设计基于消息的界面已日益成为对开发人员和架构师的一项基本要求;设计新消息并确保与现有的消息架构保持一致至关重要。通过消息进行互操作是面向服务的体系结构的核心。

    保持设计和代码同步

    为了保持系统设计文档最新,架构师和开发人员之间要进行密切沟通。然而,一旦开始编码(即便是出于完善的目的),系统设计文档常常会变得过时且不准确。但这种使设计文档与迅速变化的代码同步的艰巨任务很快就要成为过去。

    为部署而设计

    软件和硬件供应商经常认为开发人员了解平台配置(SQL、IIS、BizTalk 等)的每个细微差别,并认定操作管理能完全识别应用程序开发人员使用的框架和消息协议。尽管操作应该是整个软件开发生命周期的一部分,但是这一部分在组织和功能上是与开发分离的。操作人员与开发人员很少主动进行合作,双方通常是在开发后期被动地合作以诊断可早期预防的问题。

    考虑开发和部署 Web 服务的简单情况。尽管开发人员的关注焦点是实现服务,但他们仍需考虑以下方面:安全性、身份验证模型、目标环境所需的其他支持服务以及使 Web 服务按预期方式运行所需的配置设置。操作需要识别新服务所需的协议和服务,以及企业 IT 策略是否得以遵循。开发与操作之间的分离导致的不匹配配置经常会引发部署问题,更糟糕的是,与数据中心不兼容的设计会导致将大量的 IT 预算花费在纠正部署问题上。

   尽管很多企业试图通过文档、设计审查及精心绘制的图表来解决沟通问题,但往往由于缺少相关的工具和公共语言而无法有效地实施和传达他们的策略。此外,这些过程目前已经从开发人员和操作人员日常所使用的实际工具中删除,因此过程本身存在一定的问题。

    为安全性配置应用程序

    确保分布式应用程序的安全是一个既耗时又复杂的过程,原因在于要涉及许多影响应用程序设计的技术和设置。目前,在设计应用程序时,没有一种用来表示应用程序的安全配置或数据中心安全需求的集成方法。因此,确保正确实现安全性非常困难。

    改进分布式系统的设计和部署

    分布式系统设计器提供一种集成的设计经验,其目标是实现分布式系统的可视化设计和验证。设计器使用系统定义模型(System Definition Model,SDM)作为描述应用程序服务和运行时环境的连接状况、配置情况和相互关系的基础元模型。SDM 基于多层模型,该模型包括应用程序、应用程序宿主环境、网络拓扑、操作系统和物理设备。该模型不仅允许分布式系统设计器描述每层的设计,而且还允许它表达各层的约束和策略,以便跨越分布式系统的所有层。

    分布式系统设计器支持两个域(开发和操作)的集成模型。这样,设计人员可以使用下面的方法来解决客户的问题: 

    提供公共语言(基于 SDM)来描述分布式系统的设计和配置。 
    允许开发人员表达应用程序对运行时环境的要求。 
    允许操作人员表达作为目标部署环境策略的应用程序运行时、安全和连接要求。 
    使用允许开发人员和操作人员在共同的基础上进行交流的抽象。 
    与现有的 Visual Studio 项目系统和 .NET 技术集成。 
    提供可视设计元素与代码之间的完全同步。 
    包含一种扩展性框架,允许对新型应用程序和宿主系统进行建模。

    下面一节详细描述了分布式系统设计器工具集中的各个设计器和编辑器的功能。

    分布式系统设计器概述 

    分布式系统设计器包括以下设计器: 

    应用程序连接设计器 
    逻辑数据中心设计器 
    系统设计器 
    部署设计器 

0
相关文章