目录
在信息系统中,应用架构或应用架构是构成企业架构(EA)支柱的几个架构域之一
应用架构描述了业务中使用的应用程序的行为,重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据,而不是它们的内部结构。在应用程序组合管理中,应用程序被映射到业务功能和流程以及成本、功能质量和技术质量,以评估所提供的价值。
应用架构是根据业务和功能需求指定的。这涉及到根据功能覆盖率定义应用程序包、数据库和中间件系统之间的交互。这有助于识别功能覆盖范围中的任何集成问题或差距。然后,可以为处于软件生命周期末尾或具有固有技术风险的系统制定迁移计划。
应用架构试图确保组织创建复合架构所使用的应用程序套件是可伸缩的、可靠的、可用的和可管理的。
应用架构定义了多个应用程序如何准备一起工作。它不同于软件架构,后者处理如何构建系统的技术设计
人们不仅需要理解和管理复合架构正在实现的功能的动态性,而且还需要帮助制定部署策略,并留意可能危及组织增长和/或运营的技术风险
策略
应用架构策略包括确保应用程序和集成与组织的增长策略一致。如果一个组织是一个通过收购有快速增长计划的制造组织,那么应用程序应该足够灵活,能够包含继承的遗留系统以及其他大型竞争系统。
模式
-
主要文章:架构模式 (https://en.wikipedia.org/wiki/Architectural_pattern)
-
进一步信息:软件设计模式(https://en.wikipedia.org/wiki/Software_design_patterns)
根据应用程序遵循的应用架构模式,可以将应用程序分类为各种类型。
一个“模式”被定义为:“一个在一个实际环境中有用并且可能在其他环境中有用的想法”。
要创建模式,需要构建块。构建块是软件的组件,主要是可重用的,可以用来创建某些功能。模式是一种将构建块放到上下文中并描述如何使用构建块来解决一个或多个架构问题的方法。
应用程序是各种功能的选编,通常都遵循相同的模式。此模式定义应用程序的模式。
应用程序通常遵循以下行业标准应用架构模式之一:
-
客户机代理服务器:充当许多低速链接访问服务器的集中器。
-
客户支持:支持跨多个组织的复杂客户联系。
-
Reactor:将事件与其处理分离。
-
复制服务器:复制服务器以减轻中央服务器的负担。
-
分层架构(Layered architecture):服务的分解,使得大多数交互只发生在相邻层之间。
-
管道和过滤器架构:在一系列增量步骤或过程中转换信息。
-
子系统接口:管理功能(子系统)的内聚组之间的依赖关系。
-
自助服务:用户在24/7的基础上访问事务(即用户对业务)。
-
协作:用户相互协作以共享数据和信息(即用户对用户)
-
信息聚合:来自多个来源的数据在多个渠道上聚合和呈现(也就是用户到数据)
-
以事件为中心:数据事件(最初可能起源于设备、应用程序、用户、数据存储或时钟)和事件检测逻辑,它们可以有条件地丢弃事件、启动与事件相关的进程、向用户或设备管理器发出警报或更新数据存储。
-
以企业流程为中心:业务流程管理多个企业内部应用程序、服务、子流程和用户之间的交互。
-
批量处理:业务流程管理一个或多个批量数据源和目标之间的交互。
-
扩展企业:业务流程管理多个企业间应用程序、服务、子流程和用户之间的交互。
-
扼杀器模式:通过逐渐用新的应用程序和服务替换特定的功能部件,以增量方式迁移遗留系统。当旧系统的功能被替换时,新系统最终会替换旧系统的所有功能,扼杀旧系统,并允许您将其退役
正确的应用程序模式取决于组织的行业和组件应用程序的使用。如果一个组织既能有机地成长,又能通过收购而成长,那么它可能有多种模式。
应用架构师
应用架构师是计算机编程团队中的一名领导或技术经理,专门负责构建应用程序和使用的技术。
知识领域
应用程序建模
将建模作为开发新的或增强的应用程序的框架,使用建模来发现问题、降低风险、提高可预测性、降低成本和上市时间,测试各种产品场景,结合客户的需求/需求,在必要时向开发过程添加测试设计决策,评估产品设计问题。
竞争情报、商业建模、战略分析
了解全球市场、消费者、行业和竞争,以及全球商业模式、战略、财务、运营和结构之间的相互关系。了解竞争环境,包括市场、行业、竞争和监管环境的当前趋势,以及了解商业模式的组成部分(即战略、财务、运营)如何相互关联,以使组织在市场上具有竞争力。了解组织的业务流程、系统、工具、法规和结构,以及它们如何相互关联以提供为客户、消费者和关键利益相关者创造价值的产品和服务。了解为客户、消费者和关键利益相关者创造的价值如何与组织的愿景、业务、文化、价值主张、品牌承诺和战略要求相一致。了解组织过去和现在的成就和缺点,以评估与竞争环境相关的优势、劣势、机会和风险。
技术
了解IT战略、开发生命周期和应用程序/基础架构维护;了解IT服务和支持流程,以提升竞争优势、创造效率和增加业务价值。
技术标准
充分了解构成有效支持现有和未来业务需求所必需的基础设施的关键技术,确保所有硬件和软件在集成到业务环境之前符合基线要求和标准,了解并能够制定技术标准和程序,以促进新技术的使用,为使用和应用新技术制定有用的指导方针。
任务
应用架构师是组织中应用程序特定的一切的大师。应用架构师从以下角度理解所有应用程序,从而为应用程序维护团队提供战略指导:
-
互操作能力
-
性能和可扩展性
-
可靠性和可用性
-
应用程序生命周期阶段
-
技术风险
-
实例数
上述分析将指出需要进行一系列更改的应用程序—从零碎应用程序的部署策略更改到在其技术或功能生命周期结束时完全替换应用程序。
功能足迹
了解主要业务流程的系统流程。它清晰地显示了功能图和地图上各种应用程序的应用程序足迹。
许多组织没有文档规程,因此缺少详细的业务流程流和系统流程流。一个人可能不得不开始一项倡议,把这些放在首位。
创建解决方案架构指导原则
每个组织都有一组核心应用程序,这些应用程序可以作为单个实例或每个部门的不同实例跨多个部门使用。为所有核心应用程序创建一个解决方案架构模板,以便所有项目都有设计实现的共同起点。
架构世界的标准在TOGAF中定义,开放组架构框架将EA的四个组件描述为BDAT(业务架构、数据架构、应用架构和技术架构,
根据组织的复杂程度,还需要考虑其他标准:
-
EA的Zachman框架
-
联邦企业架构(FEA)
-
高德纳[4]
其他方面
-
ISO/IEC 42010 Systems and software engineering — Architecture description is an international standard for architecture descriptions of systems and software.
-
IEEE 1471 a superseded IEEE Standard for describing the architecture of a "software-intensive system", also known as software architecture.
-
IBM Systems Application Architecture
-
Enterprise architecture planning