413
       运行环境是 ReiKing SOA的运行支撑,给服务、流程等组件提供运行技术保障。运行环境主要由企业服务总线(ESB)和核心组件组成。
1.企业服务总线(ESB)
       企业服务总线(ESB)是 ReiKing SOA的核心部件之一,提供服务接口,方便分布式异构环境中的数据可靠传递、服务交互等。具有如下功能:
    提供服务标准和接口,方便各种服务实现。
    支持分布环境下的服务调用。
    支持同步调用方式和异步调用方式。
    保证数据的可靠性传输,具有对网络监控、堵塞数据处理、断点续传等功能。
       分布式服务方式的调用,可以通过服务代理和消息队列的绑定来实现。
422
       分布ESB环境下的服务可以相互调用对方服务,如上图,ESB1的服务A可以通过服务代理或消息队列绑定方式使用ESB2上的服务B。 当采用服务代理方式时,需要在ESB1方指定ESB2所在的应用程序标识、服务类型、服务标识等信息,ESB1所在系统会根据应用程序标识找到ESB2,通过服务代理调用ESB2上的服务B;当采用消息队列绑定方式时,需要在ESB2方配置消息队列绑定服务B、ESB1把对ESB2的服务B的请求内容放到消息队列上即可,ESB2收到该消息队列的内容后自动调用服务B处理。
2.运行环境核心组件
       运行环境核心组件实现了SOA的平台核心功能,主要包括服务管理、流程管理、调度管理、变量管理、规则管理、安全管理、权限管理、队列管理等。
服务管理
       服务管理组件是对正在运行的服务进行管理的组件。主要提供以下功能:
     提供服务的目录管理,包括服务的查找、增加、修改、删除等操作。
     提供服务的运行生命周期管理。包括服务池初始化、服务初始化、服务入池、服务注销等。
     提供服务的使用激活,包括激活要使用的服务、相应远程的服务请求等。
     提供服务的意外处理等。
流程管理
       流程管理组件是对正在运行的流程进行管理的组件。主要提供以下功能:
     提供流程的目录管理,包括流程的查找、增加、修改、删除等操作。
     提供流程的运行生命周期管理。包括流程池初始化、流程初始化、流程入池、流程注销等。
     提供流程的使用激活,包括激活要使用的流程、相应远程的流程请求等。
     根据流程的配置规则作流程的运行,包括流程的顺序执行、并行执行、条件执行、节点合并、递归调用等。
     提供流程的意外处理等。
调度管理
       调度管理组件根据给定的调度规则实现对给定的服务或流程的调度。支持如下调度方式。
定时调度
    文件触发调度
    消息队列绑定调度
    基于主题的通讯调度
    服务代理调度
    基于流程的调度
    基于菜单等的事件触发调度
    API调度等
变量管理
       变量是动态表达式和工作流中很重要的单元,运行环境中的变量管理组件根据变量的描述形成运行实例提供给动态表达式形成表达式内容,或将实例内容提供给工作流中的运行节点使用。变量管理组件支持基础的变量、组合的变量、含有处理方法的转换变量等。
规则管理
       运行环境中的规则管理组件可以实现使用规则中库规则信息的管理,包括规则信息的创建、规则信息的增加、规则信息的修改、规则信息的使用调用等。规则管理还可以用于实现和资源工厂中的规则库的信息同步。
安全管理
       运行环境中的安全管理用于给运行环境提供安全保障,主要包括身份的鉴定、数据的加密安全传输等。
权限管理
       运行环境中的权限管理主要用于根据用户的权限不同,确定其相应的使用资源和组件的范围。包括用户组权限的管理、用户的权限管理、服务和流程的权限管理、连接等资源的权限管理等。
队列管理
       运行环境中的权限管理主要用于实现消息队列的管理。
    实现对队列本身的管理,包括队列的创建、队列的删除、队列的修改等
    队列的运行处理器的绑定,包括处理池大小的设定、处理器的类型、处理器的选择等。
    监控队列的运行状态,队列的订阅使用者列表、队列中等待处理的消息情况、队列中消息的堵塞情况等
    队列的订阅者的管理,包括增加、修改、删除订阅者
    队列的堵塞消息的管理,包括堵塞消息查看、堵塞消息的处理等。