SOA构架介绍

1.SOA定义

SOA面向服务的架构是一种计算机环境设计、开发、部署和管理离散模型的方法,SOA中所有的功能都被定义成立独立的服务,所有的服务通过总线(ESB)或者流程管理连接。这种松耦合的结构使得服务器在交互的过程中无需考虑双方内部细节,以最小的代价整合已经存在的各种异结构。主要有3种抽象级别:操作、服务和业务流程

操作:通常会导致读、写、修改一个或多个持久性数据

服务:代表了操作的逻辑分组

业务流程:为了实行特定业务目标而执行的一组长期运行的动作或活动

2.SOA的特征

松耦合:松耦合旨在使用者和提供者在服务实现和用户如何使用服务方面隔离,基于服务接口的信息,信息接口能兼容更多中传输方式,基于消息可以采用同步和异步的传输。

粗粒度:选择正确的有效的粗粒度服务,有助于组合出新的业务流程和应用程序。

服务粒度:指的是服务所公开功能的范围,一般分为粗粒度和细粒度

粗粒度:能够提供高层业务逻辑的可用性服务

细粒度:能够提供少量的业务流程可用性的服务

标准化接口:SOA通过服务接口的标准化描述,使得该服务可以在任何异构平台和任何用户接口中使用。包括:传输协议、消息格式等。

3.服务构件和传统构件得区别:

(1).服务构件往往是粗粒度的,传统构件往往是细粒度居多

(2).服务构(SCA)件主要是使用标准化的接口描述语言接口,传统构件主要是具体的API形式

(3).服务构件的实现与具体的语言无关,传统构件需要绑定某种特殊的语言

4.SOA设计原则

  1. 明确定义接口
  2. 粗粒度
  3. 松耦合
  4. 自包含和模块化:服务封装了在业务层稳定,重复出现的活动和构件,实现服务的功能实体完全独立
  5. 互操行,兼容性,策略声明mian

5.面向服务的分析与设计SOAD

SOAD分为三层:

①基础设计层:采用了OOAD的思想,主要目标是能够进性快速而有效的设计、开发以及执行灵活且可扩展的底层服务构件

②体系结构层:采用EA的理论框架,以表示业务服务的逻辑构件为中心,并且集中于定义服务之间的接口和服务级协定

③业务层:采用了BPM规范

6.SOA关键技术

1.发现服务层:帮助客户端应用程序解析远程服务位置,UDDI规范描述了服务的概念提供标准接口,企业可以发布自己的服务提供其他企业查询和调用,也可以查询特定服务描述信息“一次注册到处服务”

2.描述服务层:为客户端应用程序提供正确地与远程服务交互的描述信息,WSDL为服务提供者提供以xml格式描述服务请求的标准格式,将网络服务描述为能够进行消息交换的通信端点集合。

3.编码格式层:为客户端和服务器之间提供一个标准的,独立与平台交换编码风格XML实现

4.传输协议层:提供网络通信协议(http,smip)

5.消息格式层:保证客户端应用程序和服务器端在格式设置上保持一致,通过SOAP实现,SOAP定义了服务请求者和提供者之间的消息传输规范

7.SOA实现方法

1.Web Service

服务提供者:

服务请求者:

服务注册中心:

2.服务注册表

3.企业服务总线ESB

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

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

相关文章

RocketMQ(一)

作用 1. 限流削峰 2. 异步解耦 组成 Producer:消息的发送者,生产者;举例:发件人 Consumer:消息接收者,消费者;举例:收件人 Broker:暂存和传输消息的通道&#xff1…

矩阵稀疏扫描 - 矩阵

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、Java代码五、测试用例提示 前言 本人最近再练习算法,所以会发布一些解题思路,希望大家多指教 一、题目描述 如果矩阵中的许多系数都为零,那么该矩阵就是稀…

Rust编程语言的特点及其适合做什么

Rust编程语言的特点 Rust是一门系统级编程语言,它有如下特点。 1. 类C的语言语法 Rust的具体语法和C/C类似,都是由花括号限定代码块,还有一样的控制流关键字,例如if、else、while和for。然而,也并非所有的C或者C关键…

Scratch四级:第07讲 编程数学02

第07讲 编程数学02 教练:老马的程序人生 微信:ProgrammingAssistant 博客:https://lsgogroup.blog.csdn.net/ 讲课目录 常考的数学问题项目制作:“求最大公约数”项目制作:“求最小公倍数”项目制作:“早餐…

RAG讲解

现有的LLM已经具备了理解、生成、逻辑和记忆能力,RAG(Retrieval Augmented Generation)则是为其套上外挂,使LLM能够访问训练数据来源之外的权威知识库,并生成领域特定的内容,而无须重新训练模型。 RAG的优势 经济高效&#xff1a…

Meilisearch使用过程趟过的坑

Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量。 所以,对于中小型项目来说…

opencompass实践

参考教程 https://github.com/InternLM/Tutorial/blob/camp2/opencompass/readme.md 下载opencompass,配置必要的环境之后,解压下载的数据集 cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/ unzip OpenCompassData-co…

如何远程操作服务器中的Python编译器并将运行结果返回到Pycharm

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…

RPA正常跑,cmd输入cookies跑不出来,如何解决??

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

SQL-递归查询

运行环境: Mysql8以上,递归查询功能在8以上版本被正式引入 一、SQL递归查询的概念 递归指的是通过调用函数或过程或自身来解决问题的方法,常用于一些具有规律性循环的操作。SQL递归查询是基于一组初始数据,通过递归查询&#xf…

机器人系统ros2-开发实践06-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系

发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如,最容易推断激光扫描仪中心框架中的激光扫描测量结果。 1. 创建包 首先,我们将创建一个用于本教程和后续教程的包。调用的包learning_tf2_py将依赖于geometry_msgs、pyth…

【机器学习】集成学习在信用评分领域实例

集成学习在信用评分领域的应用与实践 一、引言二、集成学习的概念与原理三、集成学习在信用评分中的应用实例四、总结与展望 一、引言 在当今金融数字化快速发展的时代,信用评分成为银行、金融机构等评估个人或企业信用风险的重要工具。然而,单一的信用评…

WebRTC 中的 ICE 实现

WebRTC 中的 ICE 实现 WebRTC 中的 ICE 实现Candidate 种类与优先级ICE 策略P2P 连接完全锥型 NATIP 限制锥型 NAT端口限制锥型 NAT对称型 NATNAT 类型检测如何进行 NAT 穿越 网络中继TURN 协议中转数据WebRTC 使用 TURN 协议STUN/TURN 服务器的安装与部署 WebRTC 中的 ICE 实现…

如何打破数据管理僵局,释放数据资产价值?[AMT企源案例]

引言 数据是企业信息运作的核心和基础,是影响企业决策的关键要素,而主数据是数据中的最基础和公共的部分。面临长期以来的数据治理缺失导致的杂论局面,如何有条不紊推进主数据管理,让数据资产“活”起来?S集团的做法非…

torch_geometric安装(CPU版本)

①打开官方安装网址:https://pytorch-geometric.readthedocs.io/en/2.3.0/install/installation.html ②对根据Pytorch选择相应版本。此前一直用CUDA不成功,这次使用CPU版本(因为不用对应cuda,pytorchcudageometric三者对应起来很…

[数据结构]动画详解单链表

💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到动画详解数据结构系列 用通俗易懂的动画的动画使数据结构可视化 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低…

微服务思想以及实现

文章目录 前言一、什么时候需要拆分微服务1. 创业型项目2. 大型项目 二、怎么拆1. 拆分目标2. 拆分方式 三、微服务之间远程调用1. 实现方式2. 手动发送Http请求(RestTemplate)3. 服务注册中心3.1 原理3.2 Nacos注册中心3.3 服务注册3.4 服务发现(Discov…

Open CASCADE 教程 – AIS:自定义呈现

文章目录 开始 (Getting Started)呈现构建器 (Presentation builders)基元数组 (Primitive arrays)基元外观 (Primitive aspects)二次构建器 (Quadric builders)计算选择 (Computing selection)突出显示选择所有者 (Highlighting selection owner)突出显示的方法 (Highlighting…

day10-Set集合

1.Set 那接下来我们来看Collection单列集合体系的第二部分 Set集合。 1.1 Set集合概述和特点 Set集合特点 1.可以去除重复 2.存取顺序不一致 3.没有带索引的方法,所以不能使用普通fori循环遍历,也不能通过索引来获取,删除Set集合里面的元…

【大数据】HDFS、HBase操作教程(含指令和JAVA API)

目录 1.前言 2.HDFS 2.1.指令操作 2.2.JAVA API 3.HBase 3.1.指令操作 3.2.JAVA API 1.前言 本文是作者大数据专栏系列的其中一篇,前文中已经详细聊过分布式文件系统HDFS和分布式数据库HBase了,本文将会是它们的实操讲解。 HDFS相关前文&#x…