「应用架构」应用架构行为准则

简介: 「应用架构」应用架构行为准则

应用架构行为准则

应用程序架构是企业解决方案架构(ESA)的一个子集(图1)。应用程序架构既是一个过程(架构和设计)又是一个东西(可交付成果——架构的内容)。应用程序架构帮助组织规划其在应用程序解决方案和其他系统中的投资。正在评估、设计和交付的应用程序解决方案必须能够与已建立的解决方案共存。其中包括新开发的应用程序、遗留应用程序扩展、应用程序现代化、购买的应用程序包及其升级。




图1

应用程序架构存在于多个详细级别:


  • 在概念层次上,企业架构(EA)策略和计划确保应用程序组合与其他形式的解决方案架构(业务、技术和信息)协同有效地发展。
  • 在逻辑层次上,应用程序架构超出了企业解决方案架构(ESA)工作的概念层次,它包括设计和重用软件服务和接口,从而提高了开发人员的生产力和应用程序的灵活性、质量和一致性。

应用程序架构的原则适用于所有类型的应用程序方法和解决方案。面向服务的架构(SOA)支持共享软件服务的需求正在推动组织实现应用程序架构师的角色和相关角色,包括SOA卓越中心(CoEs)或能力中心(CCs),以便跨SOA实现计划进行协调。

企业级范围和角色

在概念层次上,企业架构(EA)策略和计划确保应用程序组合与其他形式的解决方案架构(业务、技术和信息)协同有效地发展。

  • 在这个概念级别上,最能实现这些策略和计划以及应用程序架构规程的角色是企业解决方案架构师。
  • 项目级的解决方案和应用程序架构师也可能被要求担任这个角色(或者至少就AA规划问题咨询)。但是,将解决方案架构策略和规划职责与项目设计和实现职责分离是一种最佳实践,否则,两者都无法正确执行。

企业解决方案架构有两个主要级别(图2)-

  • 一个EA级别,包括代表不同架构和观点的各种类型的企业架构师-业务、技术、信息和解决方案(包括AA的概念级别)
  • 一种解决方案/项目级别,在解决方案设计和交付的详细逻辑和实现级别中包含多个架构师和分析师角色。

在EA概念级的细节中,企业解决方案架构师(在其他团队成员和项目级主题专家的帮助下)正在确定可重复的标准和指南,以及可重用的资产和投资,包括与应用程序架构相关的资产和投资,它可以传递给负责项目和个人解决方案的人。



图2

企业解决方案架构师的角色

企业解决方案架构师的角色可以是广泛而富有挑战性的。在大多数组织中,我们看到这个EA角色的两个主要职责领域:

1] 采用ESA的标准化和再利用

企业解决方案架构师将可重复的标准和指南交付给适当的企业解决方案组合,然后将这些以及现在定义/部署的共享服务和资产用于单个项目解决方案工作。



图3

2] 利用企业解决方案架构(ESA)协调当前和未来的状态

  • 根据ESA的现状,决定需要记录哪些内容(并在发生变化时进行更新)。解决方案架构师应确保正确描述每个解决方案。
  • 与其他架构师合作,创建并记录欧空局未来状态的愿景,包括解决与在正确的时间为每个架构的正确更改提供资金相关的业务问题。然后,解决方案架构师应确保每个解决方案都针对其未来状态进行了适当的规划(包括一个解决方案对EA标准和指南的利用,以及解决方案模式中描述的解决方案组合中的那些标准和指南)。
  • 确保合适的人员、流程和技术到位,以实现有效的协作

项目级范围和角色

未能区分解决方案架构师工作和应用程序架构师工作的企业错过了确保单个项目成功和多个项目重用的机会。

  • 应用程序架构师有责任以最大化重用为目标进行设计,并尽可能消除项目、应用程序系统和业务单元之间的冗余和不一致。
  • 虽然解决方案架构师将通过创建可重用的软件和信息服务来促进重用,但相对于为项目团队正在构建、集成和/或部署的特定解决方案定义一个合理、有效和完整的设计,它的优先级较低。
  • 企业解决方案架构(ESA)团队(包括SAs和a as)负责细节和内容的概念级别,包括将哪些标准、指南、可重用资产和投资传递给项目作为起点

解决方案架构师

SAs专注于给定项目的所有架构方面(尽管它们可能一次处理多个项目)。正如企业SA确保ESA团队成员在概念/规划详细级别上的架构协作一样,SAs也确保了项目级别上的架构协作。此外,他们必须完成一个完整的设计,定义解决方案的所有方面,包括但不限于应用程序架构方面。

应用程序架构师

AAs的重点是应用接口和软件服务的设计。与设计应用程序接口和软件服务相关联的强调程度取决于项目方法,以及有多少预先存在的接口和服务可以重用和构建。因此,AAs侧重于应用程序软件(box)之间接口(line)的设计,以及box的设计,以使它们尽可能像应用程序服务那样可重用。AAs有责任设计接口和服务,以提高应用程序的灵活性,最大限度地重用,并尽可能消除项目、应用程序系统和业务部门之间的冗余和不一致。

以下是SA职责与AA职责的比较。



图4

大多数组织最初都将AA的重点放在应用程序接口的设计上,而且有充分的理由——应用程序集成是实现应用程序包以及支持将新的SOA Web浏览器与遗留应用程序和数据集成的一个主要问题。虽然良好的应用程序接口设计解决了稳定性、安全性和性能问题,但也希望尽可能提高业务敏捷性和开发人员的生产力。

  • 具有SOA服务接口设计技能的AA侧重于应用程序接口(行)。
  • AA与SOA软件服务提供商的设计技能侧重于应用程序服务(box)。
  • 具有实现编码技能的开发人员根据AA生成的设计对服务的消费者和提供者实现以及新的应用程序服务(行和框解决方案)进行编码。

以下是AA和应用程序开发团队的职责区别-



图5

相关文章
|
24天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
1天前
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
29天前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
45 3
|
1月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
28 4
|
29天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
59 1
|
1月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
49 3
|
1月前
|
边缘计算 监控 自动驾驶
揭秘云计算中的边缘计算:架构、优势及应用场景
揭秘云计算中的边缘计算:架构、优势及应用场景
|
1月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
41 0
|
1月前
|
监控 物联网 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
34 0
|
1月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
34 0

热门文章

最新文章