- 数据流风格:适合于分阶段做数据处理,交互性差,包括:批处理序列、管理过滤器。
- 调用/返回风格:一般系统都要用到,包括:主程序/子程序,面向对象,层次结构(分层越多,性能越差)。
- 独立构件风格:构件是独立的过程,连接件是消息传递。包括:进程通信,事件驱动系统(隐式调用)。应用场景,通过事件触发操作。
- 虚拟机风格:包括解释器与基于规则的系统,有自定义场景时使用该风格。
- 仓库风格(以数据为中心的风格):以共享数据源为中心,其它构件围绕中心进行处理。包括:数据库系统、黑板系统(语言处理,信号处理),超文本系统。
- 闭环控制架构(过程控制):定速巡航,空调温控。
- MVC:视图(JSP),控制器(Servlet),模型(EJB)。
- SOA:粗粒度,松耦合,标准化。Webservice 与 ESB 是 SOA 的实现技术。
- ESB:位置透明性、消息路由、服务注册命名、消息转换、多传输协议、日志与监控。
- REST 的 5 大原则:所有事物抽象为资源、资源唯一标识、通过接口操作资源、操作不改变资源标识、操作无状态。
- 微服务特点:小, 且专注于做一件事情;轻量级的通信机制;松耦合、独立部署。
- 微服务优势:技术异构性、弹性、扩展、简化部署、与结构相匹配、可组合性、对可替代性的优化。
- 微服务与 SOA 对比:

- ADL 的三个基本元素:构件,连接件,架构配置。
- DSSA 基本活动:领域分析(建立领域模型),领域设计(获得 DSSA),领域实现(开发和组织可复用信息)。
- DSSA 角色:领域专家(有经验的用户、分析、设计、实现人员,“给建议”),领域分析人员(有经验的分析师,完成领域模型),领域设计人员(有经验的设计师,完成 DSSA),领域实现人员(有经验的程序员完成代码编写)。
- DSSA 三层次模型:领域架构师对应领域开发环境,应用工程师对应领域特定的应用开发环境,操作员对应应用执行环境。
- ABSD 方法是架构驱动,即强调由业务、质量和功能需求的组合驱动架构设计。
- ABSD 方法有三个基础:功能的分解,通过选择架构风格来实现质量和业务需求,软件模板的使用。
- ABSD 开发过程:
- 架构需求(需求获取、生成类图、对类进行分组、打包成构件、需求评审)
- 架构设计(提出架构模型、映射构件、分析构件相互作用,产生架构,设计评审)
- 架构文档化:从使用者角度编写,分发给所有相关开发人员,保证开发者手中版本最新。
- 架构复审:标识潜在的风险,及早发现架构设计中的缺陷和错误。(5)架构实现(复审后的文档化架构,分析与设计,构件实现,构件组装,系统测试)
(6)架构演化(需求变化归类,架构演化计划,构件变动,更新构件相互作用,构件组装与测试,技术评审,演化后的架构)
21、架构评审四大质量属性:
- 性能:代表参数(响应时间、吞吐量),设计策略(优先级队列、资源调度)。
- 可用性:尽可能少的出错与尽快的恢复。代表参数(故障间隔时间,故障修复时间),设计策略(冗余、心跳线)。
- 安全性:破坏机密性、完整性、不可否认性及可控性等特性。设计策略(追踪审计)
- 可修改性:新增功能多少人月能完成,设计策略(信息隐藏,低耦合)
- 风险点:非专业术语,系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。即可能引起风险的因素
非风险点:一般以某种做法,“是可以实现的”、“是可以接受的”方式进行描述。
敏感点:指为了实现某种特定的质量属性,一个或多个构件所具有的特性。
权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。
- 基本场景的评估方法:ATAM,SAAM,CBAM。
- 架构评估方法,不是代码评估方法,不做测试,不是精确的衡量方法。
- ATAM 四大阶段:场景和需求收集、结构视图场景实现、属性模型构造和分析、折中。
- SAAM 五个步骤:即场景开发、体系结构描述、单个场景评估、场景交互和总体评估。
- 产品线技术应用场景:有多年行业开发经验,做过多个同类产品。
- 建立产品线的四种方式:基于现有产品演化式(风险最低),基于现有产品革命式,全新产品线演化式,全新产品线革命式(风险最高)。
- 产品线实施成功的决定因素:对该领域具备长期和深厚的经验;一个用于构建产品的好的核心资源库;好的产品线架构;好的管理(软件资源、人员组织、过程)支持。
- 构件、对象、模块的对比:

- 构件系统架构:构件系统体系结构由一组平台决策、一组构件框架和构件框架之间的互操作设计组成。
- 构件的复用:(1)检索与提取构件;(2)理解与评价构件;(3)修改构件;(4)组装构件。
- 在构件组装阶段失配问题:由构件引起的失配;由连接子引起的失配;由于系统成分对全局体系结构的假设存在冲突引起的失配等。
- 中间件:中间件是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。
- 中间件功能:客户机与服务器之间的连接和通信,客户机与应用层之间的高效率通信;应用层不同服务之间的互操作,应用层与数据库之间的连接和控制;多层架构的应用开发和运行的平台,应用开发框架,模块化的应用开发;屏蔽硬件、操作系统、网络和数据库的差异;应用的负载均衡和高可用性、安全机制与管理功能,交易管理机制,保证交易的一致性、一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。
- 采用中间件技术的优点:面向需求;业务的分隔和包容性;设计与实现隔离;隔离复杂的系统资源;符合标准的交互模型;软件复用;提供对应用构件的管理。
- 主要的中间件:远程过程调用;对象请求代理;远程方法调用;面向消息的中间件;事务处理监控器。
- 中间件技术-Corba(公共对象请求代理体系结构)(代理模式):
伺服对象(Servant):CORBA 对象的真正实现,负责完成客户端请求。

本文介绍了多种系统架构风格,如数据流、调用/返回等,还阐述了架构设计方法,像ABSD方法。同时提及架构评审质量属性、评估方法,以及产品线技术、构件复用等内容。此外,对中间件、缓存、REST等技术,还有主从数据库、嵌入式操作系统等也进行了说明。
最低0.47元/天 解锁文章
4443

被折叠的 条评论
为什么被折叠?



