《系统架构设计师教程(第2版)》第15章-面向服务架构设计理论与实践-06-SOA架构注意的问题和具体实施

1. 构建 SOA架构时应该注意的问题

1.1 原有系统架构中的集成需求

  • 需要考虑的具体集成类型:
    • 应用程序集成的需求
    • 终端用户界面集成的需求
    • 流程集成的需求
    • 已有系统信息集成的需求

1.2 服务粒度的控制

  • 暴露在系统外部的服务
    • 建议使用粗粒度的服务接口(非强制)
  • 企业架构内部
    • 细粒度的服务接口

如:

  • 粗粒度的服务暴露给外部用户,提交购买表单的操作
  • 系统内部细粒度的服务,实现其后的内部服务(建购买记录、设置客户地址和更新数据库等)
  • 外部服务使用粗粒度服务接口的原因:
    • 细粒度服务接口易于变化
    • 粗粒度服务接口保证请求者以一致的方式使用系统暴露出的服务

1.3 无状态服务的设计

  • SOA的服务不应依赖于其他服务
  • 必须依赖其他服务时,将其定义成业务流程

如:

  • EJB组件来实现粗粒度的服务
    • 利用无状态 Session Bean来实现具体的服务(Web Service中可将其暴露给用户)

2. SOA实施的过程

2.1 选择SOA解决方案

  • 尽量选择能进行全局规划的方案
  • 选择时充分考虑企业自身的需求
  • 技术方面
    • 应该从平台的选择
    • 实施方法与途径
      • 业务战略和流程
      • 基础架构
      • 构建模块
      • 项目和应用
      • 成本和效益
      • 规划和管理
    • 供应商:
      • 产品是否符合要求、成功案例、客户评价
      • 专业服务能力

2.2 业务流程分析

2.2.1 建立服务模型

1)自顶向下分解法
  • 分解方法
    • 从业务着手进行分析
    • 逐层分解至业务活动
    • 对业务活动和业务对象变化进行分析

  • 业务领域分解的两个输入
    • 业务组件模型
    • 端到端的业务流程

  • 业务组件模型
    • 作用:是业务咨询和转型的工具
      • 根据业务职责、职责间的关系等因素
      • 将业务细分为业务领域、业务执行层次和业务组件

  • 端到端的业务流程
    • 作用:将业务流程分解成子流程或业务活动

      逐级进行,直到每个业务活动都是具备业务含义的最小单元

2)业务目标分析法
  • 目标服务树
    • 从企业的业务目标出发
    • 目标分解为子目标
    • 子目标再分派给相关的服务来实现
  • 首先,必须分析企业关键性能指标
3)自底向上分析法
  • 概述
    • 利用已有资产来实现服务
    • 也称为“遗留资产分析”
  • 来源:原有系统的分析和设计文档
  • 结果:可重用的服务列表
  • 过程:
    • 建立已有系统的功能模块目录列表
    • 发现可重用模块(包括已重用模块、重复实现的功能模块)
    • 包装并发布这些模块

2.2.2 建立业务流程

1)建立业务对象
  • 概念:
    • 是对数据进行检索和处理的组件
    • 通常位于中间层或者业务逻辑层
  • 分类
    • 实体业务对象
      • 表达:一个人、地点、事物(如,客户、订单、物品)
      • 根据业务中的名词,从业务域中提取
    • 过程业务对象
      • 依赖于实体业务对象
      • 是业务的动词
    • 事件业务对象
      • 表达:应用程序中由于系统操作产生的事件
2)建立服务接口
  • 建议:无状态接口
  • 传入操作的请求消息,应该包含完成该操作的所有必要信息
3)建立业务流程
  • 业务流程
    • Business Process
    • 是指定的活动顺序
    • 包含确定的用于提供业务值的输入和输出
  • 流程建模注意点
    • 确保捕获的相关信息的一致性及完整性
    • 捕获信息包括:正常操作、异常操作

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值