目录
企业体系结构
应用程序和技术体系结构
概念、逻辑和物理视图
应用程序体系结构
应用程序模式
技术体系结构
技术模式
本文的目标读者是那些希望理解 Microsoft 在企业、应用程序和技术体系结构方面提供的方法的商业、软件和基础设施体系结构设计师。它包括体系结构的术语、模式、概念和定义,以及体系结构的一系列视图。
企业体系结构
ANSI/IEEE Std 1471-2000 中使用的体系结构定义是:“一个系统的基本组织,表现为系统的组件、组件之间的相互关系、组件与环境之间的相互关系以及设计和进化的原理。”
企业体系结构 (EA) 是帮助组织理解自己的结构及其原理的概念工具。它提供了企业的结构图,是业务和技术变化的规划工具。
一般来说,企业体系结构表现为一整套相互关联的模型,这些模型描述了企业的结构和功能。企业体系结构主要用于系统化的 IT 规划和架构,以及改进的决策过程。
EA 中的各个模型以逻辑方式来排列,可以使企业的详细信息处于不断增长中,包括:
目的和目标。
过程和组织。
系统和数据。
使用的技术。
Microsoft 体系结构剖析
企业体系结构中的信息可以从不同角度来审视,并且可以满足各种需要。体系结构的用户包括业务经理和分析员、系统体系结构设计师、工作流程和程序分析员、后勤专家、组织分析员等。这些人员要求有高级的概括信息、详细的数据和各种级别的中间数据。这些需要通过创建概念视图、逻辑分析和物理实现来满足。
在 Microsoft,我们发现了四个重要并且常用的基本审视角度。它们是业务、应用程序、信息和技术角度。
业务角度
“业务角度”描述了业务的运作方式。它包括广泛的商业策略,以及为了将组织从当前状态推进到构想的未来状态而做的计划。一般包括以下内容:
企业的高级目标。
整个企业或企业的重要部分实施的业务过程。
执行的业务功能。
主要的组织结构。
各元素之间的相互关系。
应用程序角度
“应用程序角度”定义了企业的资产应用,以应用程序为中心。一般包括下列内容:
有关支持业务过程的自动服务的描述。
有关组织中应用程序系统的相互作用和相互依赖(接口)的描述。
根据企业目标开发新应用程序和改造旧应用程序,以及发展技术平台的计划。
应用程序角度可表示跨组织的服务、信息和功能,连接具有不同技能和技术的用户以便达到共同的业务目标。
信息角度
“信息角度”描述了组织在业务处理和运作过程中需要知道的信息。包括下列内容:
标准数据模型。
数据管理策略。
组织中信息产生和使用的模式说明。
信息角度还描述了数据与工作流程关联的方式,包括整个组织中存在的结构化数据(如数据库)和非结构化数据(如文档、电子表格和演示文稿等)。
技术角度
“技术角度”对组织提供硬件和软件支持。它包括但不仅限于:
台式机和硬件。
操作系统。
网络连接组件。
打印机。
调制解调器。
技术角度对支持应用程序和信息角度所需的基础设施和系统组件提供了逻辑化的、独立于供应商的描述。它定义了一套完成业务所需的技术标准和服务。
尽管有许多角度,但是从这些角度看到的只是一个企业体系结构。企业体系结构的价值不在于任何一个单独的角度,而在于各角度之间的相互关系、相互作用和相互依赖。
尽管所有角度都是企业体系结构的关键元素,本文仍将集中讨论应用程序和技术角度。
应用程序和技术体系结构
软件系统的“功能”需求描述了软件提供的商业价值。对于天气预报服务来说,功能需求可以描述为“将组织良好的信息 A 作为输入,服务将返回对于信息 A 所表示的时间跨度和地理位置来说正确的信息 B”。
“应用程序体系结构”是自动服务的体系结构,用于支持和实现这样的业务需求,包括该业务与其他应用程序之间的接口。它描述了应用程序的结构,以及该结构如何实现组织的功能需求。虽然在理想情况下,一个组织应该只有一个应用程序体系结构,但实际上,一个组织往往会有许多不同的应用程序体系结构。
软件系统的“运作”需求定义了软件的可靠性、可管理性、性能、性和互操作性等。常见的例子是仅对授权用户开放的服务,这种服务要求在 99.999% 的时间内都能正确实现它的功能。
“技术体系结构”是支持组织以及实现运作(非功能)需求(尤其是组织的应用程序和信息体系结构)的硬件和软件基础设施的体系结构。它描述了所使用技术的结构和内部关系,以及这些技术如何支持组织的运作需求。
好的技术体系结构可以提供性、可用性和可靠性,还可以支持各种其他运作需求。但是如果应用程序的设计没有利用技术体系结构的优点的话,它的执行效果会很差,或者会难以部署和运作。同样,即使一个优秀的应用程序体系结构是通过使用最新的技术、利用可重用软件组件来构建的,能很好地满足业务过程的需求,它也可能不能很好地反映实际的技术配置,例如:没有经过正确配置来支持应用程序组件,网络硬件设置不能支持信息流等。这显示了应用程序体系结构和技术体系结构之间的相互关系:一个好的技术体系结构能够支持组织中关键的应用程序,而一个好的应用程序体系结构能够充分利用技术体系结构,在整个运作需求中提供一致的性能。
图 1:体系结构之间的关系
概念、逻辑和物理视图
所有体系结构角度都有多种体系结构视图,通常分为概念、逻辑和物理视图。“概念视图”是最抽象的视图,一般用系统用户(非 IT 专业用户)熟悉的术语来描述。概念视图用于定义应用程序的功能需求和商业用户视图,以便生成业务模型。“逻辑视图”显示了主要的功能组件和它们在系统中的关系,而不涉及功能的实现细节。体系结构设计师创建的“应用程序模型”就是业务模型的逻辑视图,因为它们决定了如何满足业务目标和需求。应用程序模型表示应用程序体系结构的逻辑视图。“物理视图”是最不抽象的,它们表示特定的实现组件和它们之间的关系。物理视图中的每个元素一般都由设计和开发过程来实现,如软件和硬件系统。“实现视图”通常归组织的开发或运作部门管理,因此不在本文的讨论范围内。
图 2:体系结构视图
每一个体系结构级别均可能有(事实上通常都会有)多个视图,例如,每个应用程序通常都会有一个逻辑应用程序体系结构。
这些视图由一组需求来驱动,反过来又会生成设计、开发、配置和运作过程及系统的输入。
图 3:体系结构视图和模式
本指南的其余部分将集中讨论应用程序和技术体系结构,以及利用 Web 服务技术构造基于服务的应用程序的概念和关键模式。虽然实现部分(包括设计、开发、配置、部署和管理)对于总体系统的生成十分重要,但是不在本文的讨论范围内。
应用程序体系结构
如前所述,应用程序体系结构提供了三种视图:概念、逻辑和物理视图。体系结构设计师可以使用这些视图在组织中生成支持和满足其业务需求的模型。理想情况下,每个视图只有一个模型,但实际上每个视图可能有多个模型,这是由于组织和技术在不断成长和改变。然而,是否能得到这些模型的合理的最小集合是组织是否灵活、高效的关键。
概念视图
概念视图用于定义应用程序的业务需求和商业用户视图,以便生成“业务模型”。概念性建模技术(如用例分析、活动图解、过程设计和业务实体建模等)有助于构建关键业务过程及其使用的数据的描述,可以强调业务目标和需求,并且不包含实现技术。
逻辑视图
体系结构设计师创建的“应用程序模型”就是业务模型的逻辑视图,因为它们决定了如何满足业务目标和需求。应用程序模型表示应用程序体系结构的逻辑视图。
体系结构设计师关心的是应用程序的总体结构。他们决定数据管理和处理步骤的对应关系,根据逻辑信息和顺序设计模型部件之间的交互,并确定模型保留的数据类型和状态。
物理视图
应用程序模型的每个元素均要求映射到真正的技术元素。通过这种方法,应用程序模型以“实现模型”的方式得以实现。当程序员将详细的业务逻辑编写成代码时,常规的开发过程承担了部分实现任务,但大部分实现活动应归为框架完成。框架完成是一种开发技术,大多数分布式应用程序和数据管理的基础设施都是由复杂的框架处理的,而这些框架由自定义的应用程序逻辑和公布的控件结构进行了扩展。框架完成使开发人员避免了繁琐的工作(例如错综复杂的异步消息处理),使普通开发人员能够对项目作出更大的贡献。
为组织规划和构建不同级别的模型是一项相当费时费力的工作。而且,能否正确定义这些模型对于组织来说也是至关重要的。体系结构模型的设计错误总是会导致严重的设计问题或运作问题(例如可伸缩性和可靠性问题),严重时甚至会导致项目无法完成以及影响业务。体系结构设计师正在寻找框架和指南以帮助他们创建和实现这些模型,并把由于使用错误模型而带来的风险降到最低。
体系结构设计师可以使用两种体系结构指南和帮助来加快建模速度和降低风险。
第一是一组体系结构概念,它们
【责编:admin】
--------------------next---------------------