系统架构设计师教程 第15章 15.3 SOA的参考架构 笔记

news2025/11/4 8:38:06

15.3 SOA的参考架构

企业集成的架构可划 分为6大类。

(1)业务逻辑服务 (Business Logic Service): 包括用于实现业务逻辑的服务和执行业务 逻辑的能力,其中包括业务应用服务 (Business Application Service)、 业务伙伴服务 (Partner Service) 以及应用和信息资产 (Application and Information asset)。

(2)控制服务 (Control Service): 包括实现人 (People)、 流 程 (Process) 和信息 (Information) 集成的服务,以及执行这些集成逻辑的能力。

(3)连接服务 (Connectivity Service): 通过提供企业服务总线提供分布在各种架构元素中 服务间的连接性。

(4)业务创新和优化服务 (Business Innovation and Optimization Service): 用于监控业务系 统运行时服务的业务性能,并通过及时了解到的业务性能和变化,采取措施适应变化的市场。

(5)开发服务 (Development Service): 贯彻整个软件开发生命周期的开发平台,从需求分 析,到建模、设计、开发、测试和维护等全面的工具支持。

(6)IT服务管理 (IT Service Management): 支持业务系统运行的各种基础设施管理能力或 服务,如安全服务、目录服务、系统管理和资源虚拟化

1.连接服务——企业服务总线

企业服务总线 (Enterprise Service Bus,ESB) 基于标准的通用连接服务,使服务请求者和服务提供者之间通过松散耦合、动态的方式进行交互,

基本特征和能力包括:

描述服务的元数据和服务注册管理;

在服务请求者和提供者 之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步 模式、异步模式等;

发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务 请求者和服务提供者。

高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载 平衡等。

2.业务逻辑服务

1)整合已有应用——应用和信息访问服

通过应用和信息访问服务 (Application and Information Access Service) 来实现对已有应用和信息的集成。使用各种适配器技术将已有系统中的业务逻辑和 业务数据包装成企业服务总线支持的协议和数据格式。

有两类访问服务。

(1)可接入服务 (On-Ramp Service): 通过各种消息通信模式(单向、请求/应答和轮询) 将业务逻辑和业务数据包装成企业服务总线可以访问的功能。

(2)事件发现服务 (Event Detect Service): 提供事件通知服务将已有应用和数据中的变化 通过事件框架发布到企业服务总线上。

2)整合新开发的应用——业务应用服务

以服 务为中心的企业集成通过业务应用服务 (Business Application Service) 实现新应用集成。在参考架构中,有三类业务应用服务。

(1)组件服务 (Component Service): 为可重用的组件提供应用的运行时容器管理服务,如 对象持久化、组件安全管理和事务管理等。

(2)核心服务 (Core Service): 提供运行时的服务,包括内存管理、对象实例化和对象池、性能管理和负载均衡、可用性管理等。

(3)接口服务 (Interface Service): 提供和其他企业系统集成的接口,如其他企业应用,数 据库、消息系统和管理框架。

3)整合客户和业务伙伴 (B2C/B2B)——伙伴服务

以服务为中心的企业集成通过伙伴服务提供与企业外部的B2B 的集成能力。在参考架构中,提供如下服务。

(1)社区服务 (Community Service): 用于管理和企业贸易的业务伙伴,支持以交易中心 (Trade Hub) 为主的集中式管理和以伙伴为中心的自我管理。

(2)文档服务 (Document Service): 用于支持和业务伙伴交换的文档格式,以及交互的流 程和状态管理,支持主流的 RosettaNet、EDI 和 AS1/AS2等。

(3)协议服务 (ProtocolService): 为文档的交互提供传输层的支持,包括认证和路由等。

3.控制服务

1)数据整合——信息服务

以服务为中心的企业集成通过信息服务提供集成数据的能力,目前主要包括如下集中信息 服务。

(1)联邦服务 (Federation Service): 提供将各种类型的数据聚合的能力

(2)复制服务 (Replication Service): 提供远程数据的本地访问能力

(3)转换服务 (Transformation Service): 用于数据源格式到目标格式的转换,

(4)搜索服务 (Search Service): 提供对企业数据的查询和检索服务,既支持数据库等结构 化数据,也支持像PDF等非结构化数据。

2)流程整合——流程服务

以服务为中心的企业集成通过流程服务来完成业务流程集成 。

在参考架构中,流 程服务包括如下内容。

(1)编排服务 (Choreography Service): 通过预定义的流程逻辑控制流程中业务活动的执行,并帮助业务流程从错误中恢复。

(2)事务服务 (Transaction Service): 用于保证流程执行中的事务特性 (ACID)。 对于短流 程,通常采用两阶段提交技术;对于长流程,一般采用补偿的方法。

(3)人工服务 (StaffService): 用于将人工的活动集成到流程中。

3)用户访问整合——交互服务

以服务为中心的企业集成,通过交互服务来实现用户访问集成。参考架构中的交互服务包 括如下类型。

(1)交付服务 (Delivery Service): 提供运行时的交互框架,它通过各种技术支持同样的交互逻辑可以在多种方式(图形界面、语音和普及计算消息)和设备(桌面、 PDA和无线终端等) 上运行。

(2)体验服务 (Experience Service): 通过用户为中心的服务增强用户体验,其中的技术包 括个性化、协作和单点登录等。

(3)资源服务 (Resource Service): 提供运行时交互组件的管理,如安全配置、界面皮 肤等。

4.开发服务

根据开发过程中开发 者角色和职责的不同,有如下4类服务。

(1)建模服务 (ModelService): 用于构建可视化的业务流程模型。

(2)设计服务 (Design Service): 根据业务模型,进一步分解为服务组件,设计服务用于设 计和开发这些服务组件。

(3)实现服务 (Implementation Service): 用于将设计和开发的服务组件部署到生产环境中。

(4)测试服务 (Test Service): 支持服务组件的单元测试和系统的集成测试。

5.业务创新和优化

业务创新和优化服务以业务性能管理 (Business Process Management,BPM) 技术为核心提 供业务事件发布、收集和关键业务指标监控能力。
具体而言,业务创新和优化服务由以下服务 组成。
(1)公共事件框架服务 (Common Event Infrastructure Service): 通过一个公共事件框架提 供IT和业务事件的激发、存储和分类等。
(2)采集服务 (Collection Service): 通过基于策略的过滤和相关性分析检测感兴趣的服务。
(3)监控服务 (Monitoring Service): 通过事件与监控上下文间的映射,计算和管理业务流 程的关键性能指标 (Key Performance Indicators,KPI)。

6.IT 服务管

IT 服务管理包括如下两部分。
(1)安全和目录服务 (Security and Directory Service): 企业范围的用户、认证和授权管理, 如单点登录 (SSO)。
(2)系统管理和虚拟化服务 (System Management and Virtualization Service): 用于管理服务 器、存储、网络和其他IT 资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2193606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Blender Python】6.修改物体模式

概述 Blender对象共有6种编辑模式,物体模式、编辑模式、雕刻模式、顶点绘制、权重绘制和纹理绘制。 在Blender Python中通过bpy.ops.object的mode_set()方法可以修改物体的编辑模式。只需要传入相应的mode参数就行了。 让物体进入编辑模式 >>> bpy.ops.…

leetcode 力扣算法题 快慢指针 双指针 19.删除链表的倒数第n个结点

删除链表的倒数第N个结点 题目要求题目示例解题思路从题目中的已知出发思考寻找目标结点条件转换核心思路 需要注意的点改进建议 完整代码提交结果 题目要求 给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 题目示例 示例 1&#xff1…

libcurl网络协议库使用Demo

目录 1 libcurl简介 2 libcurl编译 3 使用步骤 4 函数说明 4.1 全局初始化函数 curl_global_init 4.2 全局释放函数 curl_global_cleanup 4.3 libcurl库版本 curl_version 4.4 开启会话 curl_easy_init 4.5 结束会话 curl_easy_cleanup 4.6 设置传输选项 curl_easy_se…

最新版快递小程序源码 独立版快递系统 附教程

懂得都懂,现在电商平台退换货量大,快递需求量大,对接物流一个单子4块到6块之间 其中间是例如润 其余的 就不说了吧 互站上买的源码 分享一下 还有个方法赚钱就是 拼多多退货自己邮寄 5块钱 运费自己填写12元 白捡7元美滋滋 源码下载&…

Vivado - JTAG to AXI Master (GPIO、HLS_IP、UART、IIC)

1. 简介 本文分享 JTAG to AXI Master IP Core 的使用教程。 此 IP 用于 AXI 接口向设计输入数据,或者读取数据。通过 Tcl 控制台编写命令来驱动此 IP,通过 JTAG 即可进行操作,而这个 IP 则在 AXI 端口上驱动 AXI 事务。由于这个核心没有自…

面试题之- null和undefined的区别

前言 首先undefined和null都是基本数据类型,这两个基本数据类型分别都只有一个值,就是undefined和null。 undefined代表的含义是未定义,null代表的的含义是空对象,一般变量声明了但是还有没有定义的时候会返回undefined&#xf…

每日学习一个数据结构-默克尔树(Merkle Tree)

文章目录 概述特征构建过程使用场景示例总结 设计目的一、提高数据验证效率二、增强数据安全性三、适用于分布式系统 底层原理一、数据块划分与哈希计算二、二叉树的构建三、默克尔树的应用与优势 更新机制 概述 默克尔树(Merkle Tree),也称…

cnn突破六(四层bpnet网络公式)

四层bpnet网络反向传播公式推导: X【196】-》HI【128】/HO【128】-》H2I【60】/H2O【60】-》YI【10】/YO【10】, 期望是d【10】 X,HI之间用w1【196,128】 HO,H2I之间用w12【128,60】 H2O,YI之间用w2【…

Zabbix 企业级应用(Zabbix Enterprise Application)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

【AI学习】Mamba学习(三):离散化SSM的矩阵计算

SSM离散化表示 除了连续的输入之外,还会通常碰到离散的输入(如文本序列)。所以SSM需要离散化形式,就是下面公式2和3。 SSM离散化过程 但是好奇这个离散化过程是如何进行的? 《一文通透想颠覆Transformer的Mamba:从SSM、HiPPO、…

【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解

目录 1、NIO 2、NIO 和 IO 的区别 1. 阻塞 vs 非阻塞 2. 一个线程 vs 多个连接 3. 面向流 vs 面向缓冲 4. 多路复用 3、Channel & Buffer (1)Channel:双向通道 (2)Buffer:缓冲区 (3)ByteBuffer&#xff…

GO网络编程(五):海量用户通信系统3:整体框架与C/S通信总体流程【重要】

这个系统其实是尚硅谷的老韩讲的(尚硅谷网络编程项目),但是他讲得很碎片化,思路不够清晰,时间又长,所以要掌握还是挺难的。如果你听了他的视频,不去梳理系统业务流程,不去看代码就往…

云计算身份认证与访问控制(Cloud Computing Identity Authentication and Access Control)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

支持向量机(SVM)基础教程

一、引言 支持向量机(Support Vector Machine,简称SVM)是一种高效的监督学习算法,广泛应用 于分类和回归分析。SVM以其强大的泛化能力、简洁的数学形式和优秀的分类效果而备受机器学 习领域的青睐。 二、SVM基本原理 2.1 最大间…

watch命令:周期执行指定命令

一、命令简介 ​watch ​命令用于周期性地执行指定的命令,并显示其输出结果。 ‍ 二、命令参数 2.1 命令格式 watch [选项] 命令2.2 选项 ​-n, --interval​: 指定更新间隔时间(以秒为单位)。默认间隔时间为 2 秒。​-d, --difference…

数学与生活

多学科交叉 信号处理 小波 经济 政策 计算机 统计 信号处理与市场分析 经济与数据分析 政策与统计 过去的数学家没有一个是纯粹的数学家;生活中各方面工程的,物理的,天文,地理的,赌博,政治的&#xff1b…

删除AlibabaProtect

首先管理员运行cmd 然后执行下行 sc delete AlibabaProtect重启电脑,再删除该文件夹C:\Program Files (x86)\AlibabaProtect

prometheus学习笔记之PromQL

prometheus学习笔记之PromQL 一、PromQL语句简介 官方文档:https://prometheus.io/docs/prometheus/latest/querying/basics/ Prometheus提供⼀个函数式的表达式语⾔PromQL (Prometheus Query Language),可以使⽤户实时 地查找和聚合时间序列数据&…

vSAN04:vSAN远程数据存储挂载、双节点集群介绍/安装/组件读写/高级配置/故障处理方式

目录 vSAN远程数据存储挂载双节点vSAN集群介绍双节点vSAN集群安装双节点vSAN集群的组件读写方式双节点vSAN的高级配置双节点vSAN故障处理方式 vSAN远程数据存储挂载 在同一个vCenter下的VSAN集群可以互相挂载对方VSAN存储,以达到提高资源利用率的目的。 一个集群最…

Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)

文章目录 Docker的数据持久化是什么?1.数据卷(Data Volumes)使用Docker 创建数据卷创建数据卷创建一个容器,将数据卷挂载到容器中的 /data 目录。进入容器,查看数据卷内容停止并重新启动容器,数据卷中的数据…