「企业应用架构」应用程序架构的当前趋势

本文有些不是最最新的,但是方法和思路也有借鉴意义,稍后会介绍Gantner的最新应用架构趋势。

应用架构概述

随着各种力量(云、移动、社交和大数据)的相互联系不断涌现,不利用这些力量的组织在未来将面临严重的业务劣势。

架构师应该考虑适应这些新趋势

  • 使用面向服务架构(service-oriented architecture,SOA),包含微服务(MSA),构建应用程序,并集成内部商用现货(COTS)和遗留应用程序,以及业务合作伙伴应用程序和云服务。

  • 利用SOA在具有不同预算、计划、需求和所有者优先级的应用程序和服务之间提供松耦合连接的能力。

  • 使用SOA的关注点分离和封装,将移动、社交和云数据源与可变的结构化和非结构化数据模型集成。

  • 利用松散耦合最为关键的事件驱动架构(EDA)。

  • 确保开发工作更加敏捷和渐进。

  • 考虑通过开源产品、开放标准和开放数据利用开放计算。

  • 遵循大型网站的最佳实践和先例;寻找使用内存计算以及基于最终一致性模型的事务处理的机会

下面是显示应用程序架构议程的图表

d71b2dbf3a7df7052e6abf1d4337aaae.jpeg

图1

摆脱三层架构

应用程序体系结构的分层方法的问题在于它只在一个维度中定义应用程序(图2)。所有不同的数据源都在底层。所有用户界面(UI)逻辑都在顶层。而且,应用程序的其余部分介于两者之间。自上而下。自下而上。直线。一维的

4d6a13b1873cda817c030c5e47a9734b.jpeg

图2

今天的客户端应用程序必须支持在一系列不同的“客户端”设备上运行的各种UI,包括PC、上网本、平板电脑、智能手机、信息亭、汽车仪表盘、GPS设备和媒体播放器。名单很长,而且还在继续增长。这些应用程序经常被调用来支持来自其他系统的访问,如社交计算站点、业务合作伙伴应用程序、媒体公司站点和业务部门IT提供的mashup(图3)。在这种情况下,单个客户端程序将清楚地调用应用程序的业务逻辑的概念是很奇怪的。

52534138bd87656553a09386ce4ba206.jpeg

图3

我们现在在应用程序的访问端和数据管理端都有多个维度。许多新应用程序中的业务逻辑由一个或多个组合服务组成,这些组合服务依赖于多个子服务来执行业务逻辑。在某些情况下,这些多个服务在内部运行,但有时应用程序必须访问合作伙伴或供应商提供的服务,或者这些服务可以托管在云中。

5e58716b0c26233675c37afefb7a12e8.jpeg

图4

鉴于这些关于现实世界应用程序复杂性的观察,我们可以通过注意充分描述的应用程序架构来总结,应该假设许多客户端程序和设备访问许多业务逻辑服务,而这些服务反过来又访问其他业务逻辑服务,以及多个数据访问/数据管理服务。

187d44f4e9c2e7b578a100b7685a9e28.jpeg

图5

放弃过时的应用程序架构假设

应用程序设计人员一直在基于长期以来的假设来设计他们的应用程序。其中一些假设与移动、社交、云计算和新信息管理的交叉带来的新范式相冲突。有必要抛弃这些假设,以便能够容纳各种力量(云、社交、移动和信息)的联系。

  • 放弃应用程序可能依赖于环境同质性的假设。设计系统,假设它们运行在高度动态基础设施上的混合云环境中。

  • 放弃应用程序将存在于单个位置的假设。构建这样的应用程序:流程和数据可以分布在多个位置,而辖区分割是设计的一部分。

  • 放弃使用数据库强制流程完整性的假设。相反,创建具有完整性意识的应用程序并管理业务成果。

  • 放弃关于应用程序使用结构化数据的假设。相反,应用程序必须容纳不同的媒体类型和用于类似目的的多个数据类型。

  • 放弃“记录器”模式假设。相反,应该围绕人际和社会沟通来设计应用程序。

接受应用程序范例和模型

术语“应用程序架构”是指应用程序的结构和组织,包括其组件以及它们之间的交互/相互依赖模型。应用程序架构师应用架构范例,并使用常见的模式和模型来设计应用程序并定义其架构。

最直接受体系结构影响的应用程序特性包括

  • 1] 可维护性

  • 2] 稳健性

  • 3] 多才多艺

  • 4] 可用性

  • 5] 寿命

为了更好地理解如何使用应用程序体系结构来交付具有这些特性的应用程序,考虑体系结构的三个组件是很有帮助的:

  • 范式

  • 模型

  • 结构和组织

范例:

架构范例(有时称为架构样式)是一个总体概念框架,它影响您设计应用程序的方式。一个范例有助于确保应用程序展示最能满足应用程序所有者目标的特性。

模型

模型是对现实世界某些方面的抽象描述和符号规范。模型通过将复杂性抽象为系统最可见方面的高级表示,帮助人们理解复杂的系统。然后,设计人员、开发人员和系统涉众在逐步深入到系统的细粒度方面时创建更详细的模型,以便更好地理解系统组件的功能性和非功能性功能及其相互依赖性。

解决方案架构师为系统的四个相关方面建模:

  • 业务能力模型指定了组织需要能够做的事情

  • 业务流程模型指定组织如何完成任务

  • 信息模型指定组织使用、处理或创建的信息

  • 服务模型指定执行工作的软件组件

结构和组织

应用程序的架构反映在其实现的结构和组织中。这些架构特性影响应用程序的性能、可伸缩性、健壮性、灵活性、可维护性和总体拥有成本。

要确定应用程序的体系结构质量,请考虑其结构和组织的以下方面:

  • 其服务和组合的分解和粒度

  • 用于定义和描述解决方案的拓扑

  • 解决方案组件的相互依赖性

  • 接口说明和合同

  • 定义或利用的框架

  • 实施

本文 :https://architect.pub/current-trends-application-architecture
讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】
公众号

【jiagoushipro】
【架构师酒馆】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
42ac78678b223f661ea0772f350af1d8.jpeg
微信小号

【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

ebc21032dc03e0395b2bfb752927e903.jpeg

视频号【架构师酒馆】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

ef07a1ea38a44edf5bc2cfd27f6a170d.jpeg

知识星球【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。

e5203b06f3b0983296985ad9e0d99b4d.jpeg

喜马拉雅【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。【智能时刻,架构君和你聊黑科技】
知识星球认识更多朋友,职场和技术闲聊。知识星球【职场和技术】
微博【架构师酒馆】智能时刻
哔哩哔哩【架构师酒馆】

1e1d2fe1858ee429d0a521a877d5f4ca.jpeg

抖音【cea_cio】架构师酒馆

e575ef5222d6cbae0d51aa839b44b191.jpeg

小红书【cea_csa_cto】架构师酒馆

f0b8ff80c0a764f9982b2e90b32907bc.jpeg

网站CIO(首席信息官)https://cio.ceo
网站CIO,CTO和CDOhttps://cioctocdo.com
网站架构师实战分享https://architect.pub   
网站程序员云开发分享https://pgmr.cloud
官网行天智能科技咨询公司https://xingtian.ai
网站开发者闲谈https://blog.developer.chat
网站首席隐私官内参https://cpo.work
网站首席安全官内参https://cso.pub    
网站CIO内参https://cio.cool
网站CDO内参https://cdo.fyi
网站CXO内参https://cxo.pub
网站首席架构师社区https://jiagoushi.pro

谢谢大家关注,转发,点赞和点在看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装mysql8且初始化表名忽略大小写

mysql8下载地址 MySQL8.0安装步骤 1、把安装包上传到linux系统,解压、重命名并移动到/usr/local/目录: cd ~ tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/ mv mysql80/ /usr/local/2、在M…

Leetcode-1572. 矩阵对角线元素的和

题目: 给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:25 解释:对角线…

Panalog 日志审计系统 libres_syn_delete.php 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 libres_syn_delete.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 影响范围 version <= MARS r10p1Free 0…

寒假学习记录17:包管理器(包管理工具)

概念 包&#xff08;package&#xff09; 包含元数据的库&#xff0c;这些元数据包括&#xff1a;名称&#xff0c;描述&#xff0c;git主页&#xff0c;许可证协议&#xff0c;作者&#xff0c;依赖..... 库&#xff08;library&#xff0c;简称lib&#xff09; 以一个或多个模…

【论文精读】BEiT

摘要 提出一种掩码图像建模任务&#xff0c;以自监督方式预训练视觉transformer。对BEIT进行了预训练&#xff0c;并对下游任务进行微调实验&#xff0c;如图像分类和语义分割。发现自监督BEIT的自注意力机制可以学会区分语义区域和对象边界。 框架 给定输入图像 x x x&#…

[word] word保存了但是再打开就没有了怎么办 #职场发展#其他

word保存了但是再打开就没有了怎么办 word保存了但是再打开就没有了怎么办&#xff1f; 一些朋友反映常常找不到自己保存在电脑中的Word的文档&#xff0c;不知道是怎么回事。如果是突然消失的&#xff0c;其实情况还是有很多种&#xff0c;相信大家也有一定的了解。在这里&a…

jmeter-07jmeter与数据库关联

文章目录 一、JDBC驱动下载二、连接数据库三、写对应的SQL四、进行断言处理方法一:使用beanshell进行断言方法二:使用json进行断言四、为什么数据库查询的结果赋值给了**sql_name**,但是在断言的时候使用的是**sql_name_1**呢?一、JDBC驱动下载 JDBC驱动下载链接 1)5.x.x…

MySQL5.7升级到MySQL8.0的最佳实践分享

一、前言 事出必有因&#xff0c;在这个月的某个项目中&#xff0c;我们面临了一项重要任务&#xff0c;即每年一次的等保测评整改。这次测评的重点是Mysql的一些高危漏洞&#xff0c;客户要求我们无论如何必须解决这些漏洞。尽管我们感到无奈&#xff0c;但为了满足客户的要求…

【Linux 04】编辑器 vim 详细介绍

文章目录 &#x1f308; Ⅰ 基本概念&#x1f308; Ⅱ 基本操作1. 进入 / 退出 vim2. vim 模式切换 &#x1f308; 命令模式1. 光标的移动2. 复制与粘贴3. 剪切与删除4. 撤销与恢复 &#x1f308; Ⅲ 底行模式&#x1f308; Ⅳ 异常退出 &#x1f308; Ⅰ 基本概念 vim 是一种…

XMall 开源商城 SQL注入漏洞复现(CVE-2024-24112)

0x01 产品简介 XMall 开源电商商城 是开发者Exrick的一款基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理:Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等。 0x02 漏洞概述 XMall 开源商城 /item/list、/item/listSearch、/sys/…

第24讲投票管理实现

投票管理实现 后端&#xff1a; package com.java1234.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.java1234.entity.*; import com.java1234.service.…

LabVIEW高效电磁阀性能测试

LabVIEW高效电磁阀性能测试 在核电站的安全运营中&#xff0c;电磁阀作为关键组件&#xff0c;其性能的可靠性至关重要。设计一套基于LabVIEW的电磁阀测试平台&#xff0c;既能精准测试电磁阀的多项性能指标&#xff0c;又能提高检修效率与准确性&#xff0c;进而保障核电站的…