【架构专栏】第15章 面向服务架构设计 1/3

架构设计 相关文档,希望互相学习,********************************************************共同进步

风123456789~-CSDN博客


系统架构设计 相关文章

【架构专栏】架构考试介绍

【架构专栏】架构知识点


知识总览

共19章内容,主要包括:

1)1绪论、2计算机系统、3信息系统、4信息安全技术、5软件工程

2)6数据库设计、7系统架构设计基础知识

3)8系统质量属性与架构评估、9软件可靠性、

10软件架构演化与维护、11未来信息综合技术

4)12信息系统架构设计、13层次式架构设计、14云原生架构设计、

15面向服务架构设计、16嵌入式系统架构设计、17通信系统架构设计、

18安全架构设计、19大数据架构设计

每天进步一点点,加油!小伙伴们!💪


本文学习 第15章 面向服务架构设计,以下为个人笔记,希望有所帮助,共同学习。

( 涉及单选2-5分、案例题,侧重方法的掌握和应用,多数来源实际应用,灵活运用 )

包括:

SOA 的相关概念(定义、业务流程与 BPEL)

SOA 的发展历史

SOA 的参考架构(开发服务、连接服务、业务逻辑服务、控制服务

业务创新和优化服务、IT服务管理)、

SOA 的主要协议和规范(UDDI 协议、WSDL 规范、SOAP 协议、 REST 规范)、

SOA 的设计标准要求、

SOA 的作用、

SOA 的设计原则、

SOA 的设计模式(服务注册表模式、企业服务总线模式、微服务模式、案例研究)、

构件SOA 架构时应注意的问题。

第15章 面向服务架构设计​​

在面向服务的体系结构(Service-Oriented Architecture,SOA)中,服务的概念有了延伸,泛指系统对外提供的功能集。例如,在一个大型企业内部,可能存在进销存、人事档案和财务等多个 系统,在实施 SOA 后,每个系统用于提供相应的服务,财务系统作为资金运作的重要环节,也向 整个企业信息化系统提供财务处理的服务,那么财务系统的开放接口可以看成是一个服务。

15.1 SOA的相关概念

15.1.1 SOA的定义

(1)从软件的基本原理定义,可以认为 SOA 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
(2)从应用的角度定义,可以认为SOA是一种应用框架,它着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。S0A使用户可以构建、部署和整合这些服务,且无需依赖应用程序及其运行平台,从而提高业务流程的灵活性。

15.1.2 业务流程与 BPEL

业务流程与业务流程执行语言(Business Process Execution Language,BPEL):

(1)业务流程是指为了实现某种业务目的行为所进行的流程或一系列动作。

(2)BPEL:面向Web服务的业务流程执行语言,是一种使用Web服务定义和执行业务流程的语言。

使用 BPEL,用户可以通过组合、编排和协调 Web 服务自上而下地实现面向服务的体系结构。BPEL目前用于整合现有的Web Services,将现有的 Web Services 按照要求的业务流程整理成为一个新的 Web Services,在这个基础上,形成一个从外界看来和单个 Service 一样的 Service。

15.2 SOA的发展历史

15.2.1 SOA的发展历史

1)萌芽阶段:这种广泛使用的 XML,允许组织定义文档的元数据,实现企业内部和企业之间的电子数据交换,规定了服务之间以及服务内部数据交换的格式和结构。

2)标准化阶段:国际标准和规范---简单对象访问协议(Simple Object Access Protocol, SOAP)、Web 服务描述语言(Web Services Description Language,WSDL)及通用服务发现和集成 协议(Universal Description, Discovery and Integration,UDDI)。

3)成熟应用阶段:3 个重量级规范---SCA、SDO、WS-Policy。SCA 和 SDO 构成了 SOA 编程模型的基础,而 WS-Policy 建立了 SOA 组件之间安全交互的规范。

15.2.2 国内SOA的发展现状与国外对比

15.2.3 SOA的微服务化发展

SOA架构向更细粒度、更通用化程度发展,就成了所谓的微服务了。

SOA与微服务的区别:

1)微服务相比于 SOA 更加精细,微服务更多地以独立的进程的方式存在,互相之间并无影响。

2)微服务提供的接口方式更加通用化,例如 HTTP RESTful 方式,各种终端都可以调用, 无关语言、平台限制。

3)微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合。

SOA 架构与微服务架构的对比如图:


◆SOA架构是一个面向服务的架构,可将其视为组件模型,其将系统整体拆分为多个独立的功能模块,模块之间通过调用接口进行交互,有效整合了应用系统的各项业务功能,系统各个模块之间是松耦合的。SOA架构以企业服务总线链接各个子系统,是集中式的技术架构,应用服务间相互依赖导致部署复杂,应用间交互使用远程通信,降低了响应速度。

◆微服务架构是SOA架构的进一步优化,去除了ESB企业服务总线,是一个真正意义上去中心化的分布式架构。其降低了微服务之间的耦合程度,不同的微服务采用不同的数据库技术,服务独立,数据源唯一,应用极易扩展和维护,同时降低了系统复杂性。

15.3 SOA的参考架构

典型的以服务为中心的企业集成架构如下图所示,采用"关注点分离"广的方法规划企业集成中的各种架构元素,同时从服务视角规划每种架构元素提供的服务,以及服务如何被组合在一起完成某种类型的集成。可划分为六大类:

(1)业务逻辑服务:包括用于实现业务逻辑的服务和执行业务逻辑的能力。

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

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

(4)业务创新和优化服务:用于监控业务系统运行时服务的业务性能,采取措施适应变化的市场。

(5)开发服务:贯彻整个软件开发生命周期的开发平台。

(6)IT服务管理:支持业务系统运行的各种基础设施管理能力或服务。

IBM 的 Websphere 业务集成参考架构是典型的以服务为中心的企业集成架构,它可划分为 6 大类:

1.连接服务------企业服务总线 ESB

连接服务(Connectivity Service):通过提供企业服务总线,实现分布在各种架构元素中服务间的连接性。
ESB 基本特征和能力包括:

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

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

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

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

2.业务逻辑服务 Business Logic Service

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

1)整合已有应用------应用和信息访问服务:实现对已有应用和信息的集成。主要有两类访问服务:可接入服务、事件发现服务。

2)整合新开发的应用------业务应用服务:实现新应用集成,主要有三类业务应用服务:组件服务(可重用)、核心服务(运行时)、接口服务。

3)整合客户和业务伙伴 (B2C/B2B)------伙伴服务:提供与企业外部的B2B的集成能力,包括:社区服务、文档服务、协议服务。

3.控制服务 Control Service

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

1)数据整合------信息服务:提供集成数据的能力。

目前主要包括如下集中信息服务:联邦服务(不同类型数据聚合)、复制服务(远程数据本地访问)、转换服务(格式转换)、搜索服务。

2)流程整合------流程服务:完成业务流程集成,包括:编排服务(预定义流程顺序)、事务服务(保证ACID)、人工服务(人工活动集成到流程中)

3)用户访问整合------交互服务:实现用户访问集成,包括;交付服务(运行时交互框架)、体验服务、资源服务(运行时交互组件的管理)

4.开发服务

开发环境和工具中为不同开发者的角色提供的功能被称为开发服务。

开发服务(Development Service):贯彻整个软件开发生命周期的开发平台,从需求分析到建模、设计、开发、测试和维护等全面的工具支持。根据开发者角色和职责的不同,有如下4类服务:建模服务、设计服务、实现服务、测试服务。

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

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

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

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

5.业务创新和优化服务

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

业务创新和优化服务:以业务性能管理(BPM)技术为核心提供业务事件发布、收集和关键业务指标监控能力。

包括以下服务:

(1)公共事件框架服务 (Common Event Infrastructure Service): 通过一个公共事件框架提供IT和业务事件的激发、存储和分类等。

(2)采集服务 (Collection Service): 基于策略的过滤和相关性分析检测感兴趣的服务。

(3)监控服务 (Monitoring Service): 通过事件与监控上下文间的映射,计算和管理业务流程的关键性能指标 (Key Performance Indicators,KPI)。

6. IT 服务管理。

IT 服务管理(IT Service Management):支持业务系统运行的各种基础设施管理能力或服务。为业务流程和服务提供安全、高效和健康的运行环境,如安全服务、目录服务、系统管理和资源虚拟化。

(1)安全和目录服务 (Security and Directory Service): 企业范围的用户、认证和授权管理,如单点登录 (SSO)。

(2)系统管理和虚拟化服务 (System Management and Virtualization Service): 用于管理服务器、存储、网络和其他IT 资源。

习题

下列选项( )不是关于 SOA 的服务架构。

A.业务逻辑服务 B.中间件服务

C.连接服务 D.控制服务

解析:SOA 的参考架构中包括业务逻辑服务、控制服务、连接服务、业务创新和优化服务、开发服务、IT 服务管理。

答案:B

ok, 今天就到这里吧 🤗


相关系列文章,欢迎点赞、收藏,提供意见!​​****

计算机系统基础知识 1分:概述、计算机硬件、计算机软件

操作系统 3分:进程管理、存储管理、文件管理、设备管理

数据库技术 3分:数据库设计、关系代数、范式、事务并发、数据库安全、新技术

嵌入式技术 3分:嵌入式硬件、嵌入式操作系统、嵌入式软件开发

计算机网络 3分(超纲较多):OSI七层模型、TCP/IP协议族、网络生命周期、IP地址

其他计算机系统基础知识 1分:计算机语言、多媒体、系统工程

系统性能 1分:性能指标、性能设计

信息系统基础知识 3分:信息系统生命周期、开发方法、五大典型系统

信息安全技术基础 5分:安全属性、信息安全技术、网络安全技术、安全协议

软件工程 12分:概述、需求工程、系统设计、运维、测试、基于构件;

面向对象技术 3分:面向对象基础、分析设计、UML关系、图

项目管理 1分:进度管理、配置管理、质量管理、风险管理

系统架构设计 20分:架构概念、生命周期、ABSD、DSSA、架构风格、

架构复用、质量属性、架构评估

软件可靠性 2分:可靠性建模、软件可靠性设计

软件架构的演化和维护1分:架构演化分类、评估、面向对象架构演化

未来信息综合技术 3分:信息物理系统、人工智能、边缘计算、机器人、数字李生、云计算

数学与经济管理 2分:最小生成树、最短路径、网络与最大流量、线性规划、决策论

知识产权和标准化 2分:知识产权属性、保护期限、产权人确定、侵权判定

专业英语 5分:完形填空,大学英语3级难度,自学

|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| 【架构专栏】架构考试介绍 | 【架构专栏】架构知识点 |
| 【架构专栏】第1章 绪论 | 【架构专栏】第11章 未来信息综合技术 |
| 【架构专栏】第2章 计算机基础知识 | 【架构专栏】第12章 信息系统架构设计理论与实践 |
| 【架构专栏】第3章 信息系统基础知识 | 【架构专栏】第13章 层次式架构设计理论与实践 |
| 【架构专栏】第4章 信息安全技术基础知识 | 【架构专栏】第14章 云原生架构设计理论与实践 |
| 【架构专栏】第5章 软件工程基础知识 | 【架构专栏】第15章 面向服务架构设计理论与实践 |
| 【架构专栏】第6章 数据库设计基础知识 | 【架构专栏】第16章 嵌入式系统架构设计理论与实践 |
| 【架构专栏】第7章 系统架构设计基础知识 | 【架构专栏】第17章 通信系统架构设计理论与实践 |
| 【架构专栏】第8章 系统质量属性与架构评估 | 【架构专栏】第18章 安全架构设计理论与实践 |
| 【架构专栏】第9章 软件可靠性基础知识 | 【架构专栏】第19章 大数据架构设计理论与实践 |
| 【架构专栏】第10章 软件架构的演化和维护 | |
[架构专栏 知识点]




希望有所帮助,互相学习、共同进步,欢迎点赞、收藏!

相关推荐
智慧物业老杨3 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
数安旭说12 小时前
从“堆叠工具”到“一体化治理”:端点安全的技术演进与实践观察
网络安全·系统架构·数据安全·企业安全·端点安全·防泄密·一体化管理
Liaiyang6616 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
珠海西格电力16 小时前
零碳园区管理系统“智慧大脑”功能对园区运营成本的影响有哪些?
大数据·人工智能·安全·系统架构·能源
风123456789~18 小时前
【架构设计】第14章 云原生架构设计 2/2
系统架构
跨境数据猎手21 小时前
从零搭建多平台二手ERP中台:闲鱼、淘宝、京东、拼多多、Mercari统一调度架构
大数据·系统架构·团队开发
政企项目老覃1 天前
金融转账“幽灵失败“排查实录:从本地消息表到 Seata TCC 的选型与权衡
数据库·程序人生·性能优化·数据分析·系统架构
风123456789~1 天前
【架构设计】第13章 层次式架构设计 2/2
系统架构
码流子1 天前
智慧高速产品集落地全解析:一套方案打通车道接入、收费、管控与安全监测
大数据·人工智能·物联网·架构·系统架构