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

news/2024/10/7 15:55:34/

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.ppmy.cn/news/1535762.html

相关文章

【c语言——指针详解(3)】

文章目录 一、字符指针变量二、数组指针变量1、 数组指针变量是什么?2、 数组指针变量怎么初始化 三、⼆维数组传参的本质四、函数指针变量1、函数指针变量的创建2、函数指针变量的使⽤3、两段有趣的代码1)typedef 关键字2)typedef和define的…

面试题3-JDBC操作数据库的步骤

使用 JDBC(Java Database Connectivity)操作数据库的基本步骤可以总结为以下几个关键步骤。JDBC 是 Java 语言中与数据库交互的 API,允许开发人员通过标准的接口操作数据库。 1.加载数据库驱动程序 在使用 JDBC 操作数据库之前,首…

【Unity踩坑】Unity导出的UWP项目编译失败

在Unity中导出了UWP平台的项目后(Xaml或D3D),使用Visual Studio编译时发生错误: Error: Unity.IL2CPP.Building.BuilderFailedException: Lump_libil2cpp_vm.cpp 查找后发现是Visual Studio 与Unity兼容的问题 原贴:…

如何在微信小程序中实现分包加载和预下载

如何在微信小程序中实现分包加载和预下载 概述 微信小程序提供了分包加载和预下载功能,这有助于优化应用的加载时间,提升用户体验。本文将详细介绍如何在微信小程序中配置分包加载和预下载。 步骤一:配置分包加载 修改app.json文件&#x…

Qt Linguist手册

概述 Qt 为将 Qt C 和 Qt Quick 应用程序翻译成当地语言提供了出色的支持。发布经理、翻译和开发人员可以使用 Qt 工具来完成他们的任务。 发布经理对应用程序的发布负总责。通常,他们负责协调开发人员和翻译人员的工作。他们可以使用 lupdate 工具同步源代码和翻…

Vue-快速入门

什么是Vue Vue.js是一个用于构建用户界面的渐进式JavaScript框架。与其他重型框架不同,Vue的设计理念强调自底向上的增量开发,核心库专注于视图层,易于逐步引入到现有项目中。Vue允许开发者使用声明式的模板语法,有效地管理…

知识图谱入门——5:Neo4j Desktop安装和使用手册(小白向:Cypher 查询语言:逐步教程!Neo4j 优缺点分析)

Neo4j简介 Neo4j 是一个基于图结构的 NoSQL 数据库,专门用于存储、查询和管理图形数据。它的核心思想是使用节点、关系和属性来描述数据。图数据库非常适合那些需要处理复杂关系的数据集,如社交网络、推荐系统、知识图谱等领域。 与传统的关系型数据库…

Python中字符串的基本操作

文章目录 1、字符串序号2、字符串切片3、字符串切割4、字符串替换5、字符串删除6、字符串判断7、字符串拼接8、其他操作 字符串是 python 中常用的数据类型,python中可以使用单引号或双引号来创建字符串,python 中没有字符类型,字符在 python…