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 八大架构原则
- Service encapsulation:服务封装
- Service loose coupling:服务松散耦合
- Service contract:服务契约
- Service abstraction:服务抽象
- Service reusability:服务复用
- Service composability:服务可组合
- Service autonomy:服务自治
- Service discoverability:服务可发现
4.2 为什么要SOA
- 帮助企业快速、经济地响应市场变化
- 促进宏观层面的复用(服务级而非类级)
- 简化和现有IT资产(遗留系统)的连接
- 分离用户与服务实现,支持跨平台分布式部署
五、SOA参考模型
5.1 参考模型vs参考架构
- Reference Model:理解环境实体的抽象框架
- Reference Architecture:指示如何实现预设需求的架构设计模式
5.2 OASIS SOA-RM核心概念
- Needs(需求)和Capabilities(能力)的匹配机制
六、案例:员工差旅报销系统
6.1 业务流程
- 员工填写报销申请
- 部门负责人审批
- 财务服务部检查
- 员工费用部核定金额
- 行政支持组处理超标
- SAP记账
- 资金系统支付
- 邮件/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 生命周期模型
- Model:业务建模
- Assemble:服务组装
- Deploy:部署
- Manage:管理
八、Business State Machine (BSM)
8.1 适用场景
- 具有生命周期的业务项目
- 由事件驱动的 state
- 基于循环的逻辑
- 需要开发、调试和监控
8.2 BSM特点
- 支持业务项的状态转换
- 基于事件的驱动
- 适合复杂业务流程建模
关键概念总结
- SOA:面向服务的架构,模块化业务功能
- 服务八原则:封装、松散耦合、契约、抽象、复用、可组合、自治、可发现
- SOA参考模型:OASIS标准,需求与能力匹配
- ESB:企业服务总线,服务集成核心
- BSM:业务状态机,复杂业务流程建模
课程大纲回顾
- 什么是SOA?解决什么问题?
- SOA五个切入点:人、流程、信息、重用、连接
- 通用SOA架构和参考模型
- OASIS SOA参考模型
- ESB概念及其与SOA关系
- SOA生命周期
- CBM(组件业务建模)和热图
- 服务发现、流程发现、构件发现
- 服务实现和集成步骤
- SOA工程测试和部署
- SOA工程文档
- Web服务注册库和业务监控
与其他知识关联
- SOAP与WSDL核心技术讲义 - Web Services核心技术
- 《Patterns-SOA-and-Web-Services》—IBM红皮书经典SOA著作 - SOA模式
- Core-Python-Programming-Wesley-J-Chun - 编程基础