软件架构设计师教程 第15章 15.1-2 SOA概念及历史 笔记

15.1 SOA的相关概念

15.1.1 SOA的定义

面向服务的体系结构 (Service-Oriented Architecture,SOA),

从应用角度定义,SOA是一种应用框架,关注日常的业务应用,将它们划分为单独的业务功能和流程。

从软件的基本原理定义,SOA是一个组件模型,将应用的不同服务,通过服务间的接口和契约联系起来。

15.1.2 业务流程与BPEL

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

BPEL(Business Process Execution Language For Web Services) 面向 Web 服务的业务流程执行语言,也可简写成BPEL4WS, 它是一种使用 Web服务定义和 执行业务流程的语言。

15.2 SOA的发展历史

15.2.1 SOA的发展历史

三个阶段。

1.萌芽阶段

XML是 SOA 的基石。 XML规定了服务之间以及服务内部数据交换的格式和结构。 XSD Schemas 保障了消息数据的完整性和有效性,而XSLT使得不同的数据表达能通过Schema映射 而互相通信。

XML转换语言 (eXtensible Stylesheet Language Transformation, XSLT)

2.标准化阶段

三个著名的 Web服务 标准和规范:简单对象访问协议 (Simple Object Access Protocal,SOAP)、Web服务描述语言 (Web Services Description Language,WSDL) 及通用服务发现和集成协议 (Universal Discovery Description and Integration,UDDI)。

3.成熟应用阶段

三个重量级规范上: SCA/SDO/WS-Policy。

SCA 和 SDO构成了SOA 编程模型的基础,

而WS-Policy建立了SOA组件之间安全交互的规范。

这三个规范的发布,标 志着 SOA进入了实施阶段。

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

15.2.3 SOA的微服务化发展

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

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

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

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

相关文章

VIRTUOSO集成电路设计工具快捷键

VIRTUOSO集成电路设计工具快捷键 原理图设计中的快捷键 i 插入元件q 显示元件编辑窗口e 进入下层ctrl e 回到上层w 画连线t 插入网络名c 拷贝m 移动 版图设计中的快捷键 Z - 放大(Zoom In):按下 Z 键,然后在布局窗口中点击并拖…

linux下sudo执行的程序会有一个额外的进程的问题

当我们执行一个可执行文件时,有可能需要一些更高的权限,为此我们会用sudo ./test的方法执行,这时候我们通过ps aux | grep ./test去查看进程,会发现多出来一个 sudo ./test 的进程,该进程被杀死后,发现目标…

二叉树的迭代遍历

二叉树的迭代遍历指的是使用循环(迭代)的方法,而不是递归,来遍历二叉树的节点。迭代遍历通常需要使用辅助数据结构(如栈或队列)来帮助控制遍历的顺序。以下是几种常见的二叉树迭代遍历方法: 前…

【新闻转载】Storm-0501:勒索软件攻击扩展到混合云环境

icrosoft发出警告,勒索软件团伙Storm-0501近期调整了攻击策略,目前正将目标瞄准混合云环境,旨在全面破坏受害者的资产。 该威胁行为者自2021年首次露面,起初作为Sabbath勒索软件行动的分支。随后,他们开始分发来自Hive…

Linux中find命令详解

记录linux中find命令的详细用法。 文章目录 find命令简介基本语法常用选项-name-iname-type-size-mtime,-atime,-ctime-perm-user-group-delete-exec-printand or find --help find命令简介 find 是一个搜索目录树以查找一个文件或一组文件的程序。它遍历目录树并报告与用户规…

测试用例_边界值介绍(需求自动化生成用例方法论)

测试方法论之边界值测试:深入探索与实践 在软件开发过程中,测试是确保软件质量、稳定性和用户满意度的关键环节。在众多测试方法中,边界值测试(Boundary Value Testing, BVT)以其独特的视角和高效的覆盖率&#xff0c…

MySQL | excel数据输出insert语句

需求 在日常生产运维过程中,有很多需要进行人工梳理的excel数据,到了研发这一侧需要转为sql语句进行数据修正,如何输出insert插入语句? 方案 在空白列插入,选择需要的列 "INSERT INTO tab_name1 (name, desc) …

慢病中医药膳养生食疗管理微信小程序、基于微信小程序的慢病中医药膳养生食疗管理系统设计与实现、中医药膳养生食疗管理微信小程序的开发与应用(源码+文档+定制)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

Ubuntu环境下字体安装

本文介绍Ubuntu环境下字体安装。 软件(如Qt应用软件)开发过程中经常会涉及到字体的选择,有时候Ubuntu环境下并没有我们想要的字体,本文介绍常用字体及在Ubuntu环境下如何安装。 1.常用开源字体 有些字体商用并不是免费的&#…

支持语音方式问答,支持使用重排模型进行多路召回,MaxKB知识库问答系统v1.6版本发布

2024年9月29日,MaxKB开源知识库问答系统正式发布v1.6版本。 在v1.6社区版中,应用方面,MaxKB新增支持语音方式问答,支持使用重排模型进行多路召回,支持自定义全局变量,支持OpenAI Compatible API调用格式&a…

Mac通过ssh连接工具远程登录服务器( Royal TSX安装及使用)

一、Royal TSX软件下载地址 Royal Apps 二、Royal TSX 汉化 汉化包地址:GitCode - 全球开发者的开源社区,开源代码托管平台 三、基础配置 Royal TSX 是一款基于插件的应用,刚安装时还不具备使用条件,需要进行一些基础配置 1 安装基础插件…

什么是IIC通信协议?

IIC(Inter-Integrated Circuit)通信协议,又称为I2C(Inter-Integrated Circuit 2)协议,是一种广泛使用的串行通信协议。它由飞利浦半导体公司(现NXP Semiconductors)开发,…

k8s StorageClass 存储类

文章目录 一、概述1、StorageClass 对象定义2、StorageClass YAML 示例 二、StorageClass 字段1、provisioner(存储制备器)1.1、内置制备器1.2、第三方制备器 2、reclaimPolicy(回收策略)3、allowVolumeExpansion(允许…

SpringBoot项目创建

1. Spring 介绍 Spring的官网: https://spring.io Spring的官方提供很多开源的项目,我们可以点击上面的projects,看到spring家族旗下的项目, 按照流行程度排序为: Spring发展到今天已经形成了一种开发生态圈&#x…

10款物联网开源嵌入式操作系统对比分析

摘要 本文对目前市场上广受欢迎的10款物联网开源嵌入式操作系统进行了深度对比分析,包括Huawei LiteOS、RT-Thread、AliOS Things等。通过探讨这些操作系统的实时性、可扩展性、特点、运行要求、开发社区活跃度和应用领域等方面,帮助开发者更好地理解它…

单片机在控制和自动化任务中的应用场景广泛

单片机在控制和自动化任务中的应用场景广泛,以下是一些具体示例: 1. 家电控制 洗衣机:单片机用于控制洗衣周期、温度和水位。微波炉:控制加热时间、功率和用户界面。 2. 工业自动化 生产线监控:单片机用于控制传送…

AUTOSAR从入门到精通-WatchDog(一)

目录 前言 几个高频面试题目 休眠模式下如何处理WDT? 算法原理 什么是Watchdog? WdgM的基本功能 WdgM的分层架构 WatchDog功能 1)硬件支持看门狗 2)软件支持的看门狗 Watchdog Manager监控类别 Watchdog Driver模块 WatchDog检测目标 Watchdog Manager模块 W…

腾讯云新开端口

检查防火墙设置 890 2024-09-30 20:47:18 netstat -tuln | grep 1213891 2024-09-30 20:47:49 ping 110.40.130.231892 2024-09-30 20:48:38 sudo firewall-cmd --zonepublic --add-port1213/tcp --permanent893 2024-09-30 20:48:51 sudo firewall-cmd --reload894 2024-…

进程通信方式——管道

什么是管道 管道是进程间通信的一种方式,它的本质其实是内核中的一块内存(或者说是内核缓冲区),这块区域的数据存储在一个环形队列,不过由于管道使用的是内核里面 的内存,所以我们无法对管道里面的数据进行直接操作,只能在管道的两端读/写数…

K8S:开源容器编排平台,助力高效稳定的容器化应用管理

云计算de小白 Kubernetes(简称K8s)是一个开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。 K8S诞生于Google,基于其多年在生产环境运行容器的经验,目前已成为现代微服务架构和云原生应用的核心技术。 图…