软件架构设计师教程 第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.xdnf.cn/news/1552078.html

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

相关文章

lambda表达式底层实现:反编译LambdaMetafactory + 转储dump + 运行过程 + 反汇编 + 动态指令invokedynamic

一、结论先行 lambda 底层实现机制 1.lambda 表达式的本质:函数式接口的匿名子类的匿名对象 2.lambda表达式是语法糖 语法糖:编码时是lambda简洁的表达式,在字节码期,语法糖会被转换为实际复杂的实现方式,含义不变&am…

基于springboot的数据库原理教学案例案例库管理系统

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 (1)与指导老师确定系统主要功能; (2&am…

PMP--三模--解题--71-80

文章目录 7.成本管理--S曲线--S曲线对累计值进行监督和报告--S曲线可以同时报告成本与进度情况。适用于预测和敏捷项目。14.敏捷--信息发射源--是一种可见的实物展示其向组织内其他成员提供信息在不干扰团队的情况下即时实现知识共享。71、 [单选] 项目经理正在为刚刚进入第三次…

windows配置C++编译环境和VScode C++配置(保姆级教程)

1.安装MinGW-w64 MinGW-w64是一个开源的编译器套件,适用于Windows平台,支持32位和64位应用程序的开发。它包含了GCC编译器、GDB调试器以及其他必要的工具,是C++开发者在Windows环境下进行开发的重要工具。 我找到了一个下载比较快的链接:https://gitcode.com/open-source-…

FastAPI 第九课 -- 表单数据

目录 一. 前言 二. 声明表单数据模型 三. 在路由中接收表单数据 四. 表单数据的验证和文档生成 五. 处理文件上传 一. 前言 在 FastAPI 中,接收表单数据是一种常见的操作,通常用于处理用户通过 HTML 表单提交的数据。 FastAPI 提供了 Form 类型&a…

C++发邮件:如何轻松实现邮件自动化发送?

C发邮件的详细步骤与教程指南?如何在C中发邮件? 无论是定期发送报告、通知客户还是管理内部沟通,自动化邮件系统都能显著提升工作效率。AokSend将详细介绍如何使用C发邮件,实现邮件自动化发送,帮助您轻松管理邮件通信…

车视界系统小程序的设计

管理员账户功能包括:系统首页,个人中心,汽车品牌管理,汽车颜色管理,用户管理,汽车信息管理,汽车订单管理系统管理 微信端账号功能包括:系统首页,汽车信息,我…

4.1、FineReport单元格扩展和父子格

单元格扩展 1、配置数据集 2、纵向扩展 方法一: 方法二: 结果 多个字段纵向 2、横向扩展 方法一: 方法二: 结果 父子格 没什么特殊要求,就保持默认 1、右边的值默认以左边为左父格 2、下边的值默认以上边…

【Windows】如何取消显示Windows聚焦在桌面上生成的“了解此图片”图标

如下图所示,在更换Windows聚焦显示的时候,会在桌面多出一个“了解此图片”的图标,看着很烦,但又因为Windows聚焦自带的壁纸比其他主题的壁纸好看很多。 下面是消除办法: 打开注册表(按WindowsR&#xff0…

【COSMO-SkyMed系列的4颗卫星主要用途】

COSMO-SkyMed系列的4颗卫星主要用于提供一个多用途的对地观测平台,服务于民间、公共机构、军事和商业领域。以下是这4颗卫星的主要用途: 民防与环境风险管理: 卫星的高分辨率雷达图像可用于监测自然灾害,如地震、洪水、滑坡等&am…

51单片机学习第六课---B站UP主江协科技

DS18B20 1、基本知识讲解 2、DS18B20读取温度值 main.c #include<regx52.h> #include"delay.h" #include"LCD1602.h" #include"key.h" #include"DS18B20.h"float T; void main () {LCD_Init();LCD_ShowString(1,1,"temp…

汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”

汽车革命的上半场是电动化&#xff0c;下半场是智能化&#xff0c;这是全球汽车产业普遍认同的观点。当前&#xff0c;我国汽车产业已经在电动化上半场取得了显著成效&#xff0c;在下半场智能化的全球战场能否胜出&#xff0c;关键看车企的创新意愿和研发实力。 在2024年9月1…

【Orange Pi 5嵌入式应用编程】-用户空间GPIO控制

用户空间GPIO控制 文章目录 用户空间GPIO控制1、嵌入式Linux的GPIO子系统介绍1.1 sysfs文件访问GPIO1.2 通过字符设备访问GPIO1.3 库与工具2、RK3588的GPIO介绍3、用户空间操作GPIO编程3.1 硬件准备3.2 通过libgpio操作GPIO3.2.1 GPIO输出3.2.3 GPIO输入3.2.3 边沿事件检测(中断…

《Windows PE》3.2.3 NT头-扩展头

■扩展头&#xff08;可选标头仅限映像文件&#xff09; OptionalHeader字段描述了可执行文件的更多细节和布局信息&#xff0c;如图像基址、入口点、数据目录、节表等。它的具体结构取决于文件的机器架构&#xff0c;可以是IMAGE_OPTIONAL_HEADER32&#xff08;32位&#xff…

【论文笔记】Flamingo: a Visual Language Model for Few-Shot Learning

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Flamingo: a Visual Langu…

html空单元格的占位

先上代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title></head><body> <H1>我的WEB页面</H1><table border"2px" bgcolor"#7fffd4&…

【Ubuntu】安装常用软件包-mysql

我的几个服务是部署在docker的同一个网络里&#xff0c;这样相互访问就可以通过docker容器的名字访问&#xff0c;比如容器A访问容器B&#xff0c;就可以http://B:8080/xxx 这样访问&#xff0c;不用关心ip是多少。 所以mysql前面文章给安装到主机里&#xff0c;感觉有点坑自己…

JavaScript 网页设计案例 简单的电商案例 页面切换 数据搜索 动态网页

JavaScript 网页设计案例 简单的电商案例 页面切换 数据搜索 动态网页 1. 案例描述 以下是一个简单的产品展示网页&#xff0c;用户可以通过点击不同的产品类别按钮来查看相应的产品&#xff0c;且在鼠标悬停时显示产品详情。页面还将包含一个搜索框&#xff0c;用户可以输入…

深蕾半导体Astra™ SL1620详细介绍,嵌入式物联网处理器

一&#xff0c;SL1620是什么 Astra™ SL系列是深蕾半导体推出的高度集成的嵌入式物联网处理器SoC&#xff08;System on Chip&#xff09;系列产品&#xff0c;专为多模式消费者、企业和工业物联网工作负载而设计。SL1620是Astra™ SL系列中的一款成本和功耗优化的安全嵌入式So…

解决 Failed to connect to 127.0.0.1 port XXXX: Connection refused问题

查看自己的代理&#xff0c;如果有设置&#xff0c;取消即可。注意https还是http&#xff0c;或者都取消算了 git config --global http.proxy git config --global --unset http.proxygit config --global https.proxy git config --global --unset https.proxy注意如果有人在…