概述
- 质量属性
- 架构风格
- 典型架构
- 架构评估
必背概念
- 软件架构风格:描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义
- 架构风险:指架构设计中潜在的、存在问题的架构决策所带来的隐患
- 风险点
- 非风险点:
- 敏感点:一个或多个(和/或构件之间的关系)构件的特性
- 权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
架构风格
架构风格
案例架构风格
架构
J2EE
四层结构
- 客户层组件:J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的静态HTML页面和Applets是客户层组件
- Web层组件:J2EE web层组件可以是JSP页面或Servlet
- 业务层组件:业务层代码的逻辑用来满足特定领域的业务逻辑处理
- 信息系统层:企业信息系统层处理企业信息系统软件包括企业基础建设系统
基础概念
- JSP:用于显示、收集数据的部分。作为MVC中的视图V
- Servlet:作为业务逻辑层,用于处理复杂的业务逻辑,如验证数据、实例化JavaBean、调用DAO、连接数据库等。作为MVC中的控制器C。在其中会调用Service方法处理服务
- JavaBean:用于数据的封装,方便将查询结果在Servlet与JSP页面之间进行传递
- DAO:用于连接数据库及进行数据库的操作(增删改查)。DAO与JavaBean合在一起为MVC中的模型M
EJB 构件中的 Bean
- 消息驱动 Bean(Message-Driven Bean, MDB):异步处理消息队列(如 JMS、Kafka)中的消息,实现解耦和事件驱动架构
- 会话 Bean(Session Bean):封装业务逻辑,代表客户端执行操作
- 实体 Bean(Entity Bean):数据持久化
面向服务的架构 SOA
SOA 是一种设计理念,其中包含多个服务,服务之间通过相互依赖最终提供一系列完整的功能。各个服务通常以独立的形式部署运行,服务之间通过网络进行调用
企业服务总线 ESB
简单来说就是一根管道,用来连接各个服务节点。ESB的存在是为了集成基于不同协议的不同服务,ESB做了消息的转化、解释以及路由的工作,以此来让不同的服务互联互通
特点
- SOA的一种实现方式,ESB在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合
- 描述服务的元数据和服务注册管理
- 在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式,如同步模式、异步模式等
- 发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等
主要功能
- 服务位置透明性
- 传输协议转换
- 消息格式转换
- 消息路由
- 消息增强
- 安全性
- 监控与管理