我正在阅读企业架构框架 TOGAF 并有一个查询。
我了解在阶段 C 中创建了应用程序架构。在此阶段,创建应用程序目录,并在下一阶段 D(技术架构)中确定网络、硬件和其他物理架构。
我的问题是,我们在哪个阶段为新应用程序定义技术堆栈(如果这是一个自定义应用程序)以及在什么深度。比如,它是移动应用程序、网络应用程序还是混合应用程序。将使用哪个平台来构建它,等等。如果是现成的产品/服务,我们什么时候完成。
提前致谢
我正在阅读企业架构框架 TOGAF 并有一个查询。
我了解在阶段 C 中创建了应用程序架构。在此阶段,创建应用程序目录,并在下一阶段 D(技术架构)中确定网络、硬件和其他物理架构。
我的问题是,我们在哪个阶段为新应用程序定义技术堆栈(如果这是一个自定义应用程序)以及在什么深度。比如,它是移动应用程序、网络应用程序还是混合应用程序。将使用哪个平台来构建它,等等。如果是现成的产品/服务,我们什么时候完成。
提前致谢
基本上,这取决于您的需求。重要的是要记住,TOGAF 只是一个需要为您当前的企业量身定制的框架。您可能不需要ADM
成功使用框架的所有阶段。
...我们在哪个阶段为新应用程序定义技术堆栈...
话虽如此,通常是Preliminary Phase
/Phase A
或Phase D
:如果您的架构工作的主要目标是迁移到(或创建)特定技术(java、.net 等),我建议在开发Preliminary Phase
/Phase A
更新Architecture Principles
. 如果这不是您的主要目标,但它支持您的Architecture Vision
,那么通常是Phase D
- 其中一个输出已更新Architecture Definition Document
,特别是Target Technology Architecture
1.0 版(详细):技术平台及其分解,显示实现特定技术所需的技术组合”堆”。
......在什么深度......
此定义的深度还取决于您的需求:它可以根据您的需要进行详细说明。
...如果它将是移动、Web 或混合应用程序。
这个决定与第一个类似:如果您的主要目标(例如,在 中说明Request for Architecture Work
)将您的应用程序更新为对移动设备友好,那么应该尽早解决。但这种需求也可能出现在Phase B
- 您的利益相关者可能会说让这个应用程序适合移动设备使用至关重要。
TOGAF 是一个架构框架。
主要用于企业架构项目、交付和团队。良好的企业架构 (EA) 与设计无关。EA 比技术更接近业务。但它对成功至关重要,因为它定义了 WHY 问题的答案。为什么我们需要网络?什么样的网络?为什么我们需要分布式IT系统?或相反,诸如此类。
EA本质上是通用的。
它不提供任何类型的设计,尤其是没有实现。EA 定义了设计要求,包括尺寸、容量、能耗、性能等。
类比:城市规划。
EA 就像城市规划师。他们没有规定任何关于建筑设计的规定。他们定义了建筑物的类型和位置,每多少空间将容纳多少人,未来城镇及其部分的类型和交通要求等等。
TOGAF 可以在 EA 宏观水平以下使用(尤其是 ADM),但这在很大程度上是 TOGAF 的未知领域。
TOGAF 主要用于开发企业架构。戴上我们的 EA“帽子”,当我们说“网络”(在 EA 领域)时,这与技术或解决方案架构领域中的“网络”不同。EA 以抽象术语定义网络的存在及其能力。但不止于此。最重要的 EA 可交付成果:回答问题:为什么。例如,为什么我们需要网络?
这一切似乎都很抽象,因为它是。抽象思维的能力对于好的 EA 来说是最重要的。这就是让 EA 变得困难的原因。
也许您可能会选择一种流行的软件设计和开发敏捷开发方法来指导您选择技术堆栈?
基于 TOGAF 标准 9.2,虽然没有明确说明,但我认为您的第一个问题的答案
我们在哪个阶段为新应用程序定义技术堆栈(如果这是一个自定义应用程序)以及深度。比如,它是移动、网络还是混合应用程序。将使用哪个平台来构建它等
是基于阶段 D 中的输出之一的阶段 D 技术架构:
目标技术架构,1.0 版(详细),包括:…… 技术平台及其分解,展示了实现特定技术“堆栈”所需的技术组合
至于第二个问题:
如果是现成的产品/服务,我们什么时候完成。
在 TOGAF 中,商业现货 (COTS) 产品和第三方服务提供商通常被视为可重复使用的解决方案构建块,您将在阶段 E 中将其最终确定为阶段目标之一:
阶段 E 的目标是: ....定义整体解决方案构建块,以基于架构构建块 (ABB) 最终确定目标架构