SOA原理与实践课程讲义

来源信息

  • original_path: /田浩然上传的资料/SOA原理与实践/IntroductionToSOA_1.pdf
  • file_size: 1.26 MB
  • pages: 74
  • author: 郁莲(北京大学软件与微电子学院)
  • processed_date: 2026-09-29
  • method: PDF文本提取
  • status: done

核心内容概述

北京大学软件与微电子学院《SOA原理与实践》课程(课程号0B935)的第一讲讲义,涵盖SOA基本概念、架构原则、参考模型及IBM WebSphere工具链。


一、课程基本信息

  • 课程名称:SOA原理与实践
  • 授课教师:郁莲(副教授)
  • 授课时间:周六 16:30-19:30
  • 学分:3(48学时)
  • 先修要求:面向对象技术(UML)、Web Services技术、软件开发经验

二、SOA定义

2.1 OASIS SOA参考模型定义

SOA是一种组织和管理分布式能力的范式,这些能力可能受不同所有权域控制。它提供了一种统一的方式来提供、发现、交互和使用能力,以产生符合可测量前提条件和期望的预期效果。

2.2 SOA核心理念

  • 将业务功能模块化,提高灵活性和复用性
  • 通过松散耦合的服务组合实现系统集成
  • 服务是独立的功能单元,通过正式定义的接口访问
  • 服务遵循:形式契约、松散耦合、抽象、复用性、自治性、无状态性、可发现性、可组合性

三、服务核心概念

3.1 服务六大要素

  • Visibility:可见性
  • Interaction:交互性
  • Real World Effect:现实世界效应
  • Service Description:服务描述
  • Execution Context:执行上下文
  • Contract & Policy:契约与策略

3.2 动力vs静态属性

  • 动力属性:可见性、交互性、现实世界效应
  • 静态属性:服务描述、执行上下文、契约与策略

四、SOA架构原则

4.1 八大架构原则

  1. Service encapsulation:服务封装
  2. Service loose coupling:服务松散耦合
  3. Service contract:服务契约
  4. Service abstraction:服务抽象
  5. Service reusability:服务复用
  6. Service composability:服务可组合
  7. Service autonomy:服务自治
  8. Service discoverability:服务可发现

4.2 为什么要SOA

  • 帮助企业快速、经济地响应市场变化
  • 促进宏观层面的复用(服务级而非类级)
  • 简化和现有IT资产(遗留系统)的连接
  • 分离用户与服务实现,支持跨平台分布式部署

五、SOA参考模型

5.1 参考模型vs参考架构

  • Reference Model:理解环境实体的抽象框架
  • Reference Architecture:指示如何实现预设需求的架构设计模式

5.2 OASIS SOA-RM核心概念

  • Needs(需求)和Capabilities(能力)的匹配机制

六、案例:员工差旅报销系统

6.1 业务流程

  1. 员工填写报销申请
  2. 部门负责人审批
  3. 财务服务部检查
  4. 员工费用部核定金额
  5. 行政支持组处理超标
  6. SAP记账
  7. 资金系统支付
  8. 邮件/SMS通知

6.2 逻辑架构分层

  • Presentation Layer:统一用户登录、认证、授权
  • Business Process Layer:报销业务流程编排
  • Service Layer:原子服务和复合服务
  • ESB Layer:企业服务总线
  • Governance Integration:治理集成
  • Quality of Service:安全、管理、监控
  • Information Architecture:数据、元数据、商业智能
  • Operational Systems:用户注册、SAP、邮件、短信等

七、IBM WebSphere SOA工具链

7.1 核心组件

  • WebSphere Process Server:业务流程执行
  • WebSphere Message Broker:消息转换和路由
  • WebSphere Business Monitor:业务监控
  • WebSphere Enterprise Service Bus (ESB):服务集成
  • WebSphere Application Server:应用运行环境
  • WebSphere Business Modeler:业务建模
  • Rational Software Architect:解决方案架构设计

7.2 生命周期模型

  1. Model:业务建模
  2. Assemble:服务组装
  3. Deploy:部署
  4. Manage:管理

八、Business State Machine (BSM)

8.1 适用场景

  • 具有生命周期的业务项目
  • 由事件驱动的 state
  • 基于循环的逻辑
  • 需要开发、调试和监控

8.2 BSM特点

  • 支持业务项的状态转换
  • 基于事件的驱动
  • 适合复杂业务流程建模

关键概念总结

  1. SOA:面向服务的架构,模块化业务功能
  2. 服务八原则:封装、松散耦合、契约、抽象、复用、可组合、自治、可发现
  3. SOA参考模型:OASIS标准,需求与能力匹配
  4. ESB:企业服务总线,服务集成核心
  5. BSM:业务状态机,复杂业务流程建模

课程大纲回顾

  1. 什么是SOA?解决什么问题?
  2. SOA五个切入点:人、流程、信息、重用、连接
  3. 通用SOA架构和参考模型
  4. OASIS SOA参考模型
  5. ESB概念及其与SOA关系
  6. SOA生命周期
  7. CBM(组件业务建模)和热图
  8. 服务发现、流程发现、构件发现
  9. 服务实现和集成步骤
  10. SOA工程测试和部署
  11. SOA工程文档
  12. Web服务注册库和业务监控

与其他知识关联