《SOA原理与技术》学习笔记(六)——服务业务流程和企业服务总线ESB

《SOA原理与技术》学习笔记(一)——前言

《SOA原理与技术》学习笔记(二)——SOA技术概述

《SOA原理与技术》学习笔记(三)——Web服务基础

《SOA原理与技术》学习笔记(四)——Web服务实现和REST基础

《SOA原理与技术》学习笔记(五)——REST API设计和服务组合技术

《SOA原理与技术》学习笔记(六)——服务业务流程和企业服务总线ESB

八、服务业务流程

1. BPEL规范

一种基于XML的,用来描写业务流程的编程语言,被描写的业务流程的每个单一步骤则由Web服务来实现。

基于Web服务的,并且依赖于WSDL

不直接支持人机对话、仅与Web服务通信

BPEL包含的范围

  • 处理活动的顺序,特别是网络服务互操作。
  • 消息和处理实例之间的关系。
  • 在发生错误和例外情况下的恢复行为。
  • 处理角色之间的基于网络服务关系的双面性

BPEL是由一系列步骤组成,这些步骤称为活动
活动分两类:

  • 基本活动
    描述了流程内的一个具体步骤,如接受请求、调用伙伴服务、变量赋值等

    receive、reply、invoke、assign、wait、empty、exit

  • 结构化活动
    描述了如何组织和管理流程的控制流

    sequence、flow、while、pick、switch

2. 结合实验,掌握如何绘制BPEL流程及关键配置

  1. 新建一个BPEL文件

  2. 新建一个WSDL文件

  3. 新建一个BPEL Process File

    新建伙伴链接、设置变量、配置参数、画流程图、流程输入输出设置

  4. 新建一个BPEL描述文件

    配置端口

  5. 将文件添加到ODE中

  6. 根据配置的URL进行访问

3. BPEL引擎

核心组件:BPEL设计工具(BPEL Designer)、业务流模板(Process flow template)、BPEL引擎(BPEL Engine)

只有上面的流程文件没什么作用,这时就需要一个“东西”来处理这个文件了,它读取这个文件的内容,根据文件设定的流程走向来控制这个流程。这个关键性的“东西”就是引擎。
引擎就好像流程的指南针一样,指导着流程走向不同的地方。它是整个系统的核心

九、企业服务总线ESB

为什么需要ESB?

海量数据集成服务、减少连接

1. ESB的定义与功能

企业服务总线(Enterprise Service Bus, ESB)是构建面向服务体系架构的中枢神经系统,它主要提供服务或应用的接入,服务或应用间消息的路由,消息的转换,以及保障消息安全可靠地传递等功能,从而在实现服务或异构系统间可靠交互的同时,保持它们的松散耦合关系。

核心功能:

  • 服务接入

    适配器框架、服务注册、服务查询

  • 消息中介

    消息转换、消息路由、消息验证

  • 消息传递

    消息通道、消息结构、消息交换模式

  • 配置管理

    环境配置、 监控、统计 、异常处理

2. ESB关键技术

  • 适配器框架

  • 消息传递

  • 消息转换

    • 消息封装与解压缩

      Envelope Wrapper:在ESB的传输过程中,消息头和内容封装到Envelope中

      Content Enricher:为原始消息补充缺少的数据

    • 消息过滤

      过滤无关内容,提高消息传输效率

      使用一个key替换消息内容,提高消息传输效率

    • 消息统一化

      将语意相同但格式不同的消息转换为统一的格式

      将所有消息转换为与应用无关的统一格式

  • 消息路由

    消息路由是ESB平台上最基本最重要的功能,它是指通过一定的规则将消息从一个端点发送到另一端点。通常ESB平台上会统一管理很多服务,为了便于使用和管理通常会对外暴露一个唯一入口,通过请求携带的路由信息来进行分发。

    • 基于内容的路由:根据消息内容,将消息路由到不同的地址
    • 消息过滤:过滤无关的消息
    • 动态路由:根据目的地的信息动态路由消息
    • 接受者列表:根据接收者列表,路由消息
    • Splitter:根据规则,将1个消息分裂成若干个消息
    • Aggregator:聚合,将若干消息组合成一个消息
    • Resequencer:将原本乱序的消息,安装一定的规则顺序发送
    • Composed Message Processor:将组合消息拆分,并路由到相应的目的地,最后将处理后的结果重新组合
    • Scatter-Gather:将一个消息广播到多个目的地,最后将处理后的结果重新组合
    • Process Manager:由中心管理者根据消息处理的中间结果确定消息路由
  • 系统管理

发布了201 篇原创文章 · 获赞 139 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_39564555/article/details/105127639