软件架构设计

概述

  1. 质量属性
  2. 架构风格
  3. 典型架构
  4. 架构评估

必背概念

  1. 软件架构风格:描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义
  2. 架构风险:指架构设计中潜在的、存在问题的架构决策所带来的隐患
  3. 风险点
  4. 非风险点:
  5. 敏感点:一个或多个(和/或构件之间的关系)构件的特性
  6. 权衡点:影响多个质量属性的特性,是多个质量属性的敏感点

架构风格

架构风格
案例架构风格

架构

J2EE

四层结构

  1. 客户层组件:J2EE应用程序可以是基于Web方式的,也可以是基于传统方式的静态HTML页面和Applets是客户层组件
  2. Web层组件:J2EE web层组件可以是JSP页面或Servlet
  3. 业务层组件:业务层代码的逻辑用来满足特定领域的业务逻辑处理
  4. 信息系统层:企业信息系统层处理企业信息系统软件包括企业基础建设系统

基础概念

  1. JSP:用于显示、收集数据的部分。作为MVC中的视图V
  2. Servlet:作为业务逻辑层,用于处理复杂的业务逻辑,如验证数据、实例化JavaBean、调用DAO、连接数据库等。作为MVC中的控制器C。在其中会调用Service方法处理服务
  3. JavaBean:用于数据的封装,方便将查询结果在Servlet与JSP页面之间进行传递
  4. DAO:用于连接数据库及进行数据库的操作(增删改查)。DAO与JavaBean合在一起为MVC中的模型M

EJB 构件中的 Bean

  1. 消息驱动 Bean(Message-Driven Bean, MDB):异步处理消息队列(如 JMS、Kafka)中的消息,实现解耦和事件驱动架构
  2. 会话 Bean(Session Bean):封装业务逻辑,代表客户端执行操作
  3. 实体 Bean(Entity Bean):数据持久化

面向服务的架构 SOA

SOA 是一种设计理念,其中包含多个服务,服务之间通过相互依赖最终提供一系列完整的功能。各个服务通常以独立的形式部署运行,服务之间通过网络进行调用

企业服务总线 ESB

简单来说就是一根管道,用来连接各个服务节点。ESB的存在是为了集成基于不同协议的不同服务,ESB做了消息的转化、解释以及路由的工作,以此来让不同的服务互联互通

特点
  1. SOA的一种实现方式,ESB在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合
  2. 描述服务的元数据和服务注册管理
  3. 服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式,如同步模式、异步模式等
  4. 发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等
主要功能
  1. 服务位置透明性
  2. 传输协议转换
  3. 消息格式转换
  4. 消息路由
  5. 消息增强
  6. 安全性
  7. 监控与管理
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容