SOA构架介绍

news2025/1/20 22:38:52

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.coloradmin.cn/o/1667511.html

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

相关文章

【云原生】 Kubernetes核心概念

目录 引言 一、部署方式回溯 (一)传统部署时代 (二)虚拟化部署时代 (三)容器部署时代 二、Kubernetes基本介绍 (一)为什么使用k8s (二)主要功能 &am…

数据库出现死锁的解决方法参考

死锁引起的原因一般是多个用户并发访问数据库导致的问题,或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表…

FANUC机器人基本保养概述

对于工业机器人来说,定期保养机器人可以延长机器人的使用寿命。对于FANUC机器人来说,FANUC机器人的常规保养周期可以分为日常、三个月、六个月、一年、两年、三年。以下是FANUC机器人的基本保养周期概览: 在实际生产应用中,可以参…

【ROS2】节点

文章目录 ROS2 节点示例:创建并运行成功一个节点1. 创建功能包2. 编写源文件、CMakeLists.txt、package.xml3. 编译功能包4. 设置环境变量5. 运行节点6. 查看节点 参考链接 ROS2 节点 机器人的每一项功能,都被称为是一个节点。 每个节点都是一个独立的…

vm16安装最新版本的ubuntu虚拟机,并安装g++的步骤记录

背景 低版本的ubuntu安装G一直不成功,干脆安装最新版的 官网下载 bing搜索ubuntu 下载完成 vm16新建虚拟机 一直下一步,安装完成 终端输入命令 sudo apt-get update ᅟᅠ       sudo apt install gcc ᅟᅠ      sudo apt install g

proteus数模转换器DAC0832的应用

proteus proteus,即EDA工具软件。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到…

全学科知网普刊征稿中!即日提交,月内即可见刊!

在当前的学术环境下,论文发表的压力日益增大。当您需要评职称、申请学位、结项课题或完成其他有期限的学术要求时,快速发表普刊能够确保您及时满足这些需求,提升您的职业竞争力,为您的职业发展需求打下坚实基础。 我处普刊现积极…

攻防世界-web-fileclude(二)

题目 解题 题目源码 WRONG WAY! <?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET["file1"]) && isset($_GET["file2"])) {$file1 $_GET["file1"];$file2 $_GET["file2"];if(!empty($…

嵌入式C语言高级教程:实现基于STM32的智能灌溉系统

⬇帮大家整理了单片机的资料 包括stm32的项目合集【源码开发文档】 点击下方蓝字即可领取&#xff0c;感谢支持&#xff01;⬇ 点击领取更多嵌入式详细资料 问题讨论&#xff0c;stm32的资料领取可以私信&#xff01; 智能灌溉系统能够根据土壤湿度和天气预报自动调整灌溉计划&…

记一些CISP-PTE题目解析

0x01 命令执行 直接payload: 127.0.0.1 & whoami&#xff0c;发现可以成功执行whoami命令 然后ls …/ &#xff0c;发现有个key.php文件 尝试用cat命令查看 发现不行被拦截了。&#xff08;其实题目过滤了常用的查看文件的命令 &#xff09; 这里有两种思路&#xff0c;第…

汽车商城系统

文章目录 汽车商城系统一、系统演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 汽车商城系统 一、系统演示 汽车商城 二、项目介绍 该汽车商城系统主要分为前台和后台两大功能模块&#xff0c;共包含两种…

7 Days yo Die 七日杀服务器开服联机教程

1、购买后登录服务器&#xff08;百度搜索莱卡云&#xff09;game.lcayun.com 进入控制面板后会出现正在安装的界面&#xff0c;安装时长约5分钟左右 安装成功后你就可以看到我们的控制台界面 复制服务器ip地址打开游戏➡加入游戏 有两种方法加入游戏 第一种方法&#xff1a;…

JWT生成RSA密钥文档

JWT生成RSA密钥文档 创建jwt文件夹 创建jwt文件夹 进入文件夹 进入jwt文件夹&#xff0c;输入cmd&#xff0c;如图 3、生成公钥私钥 keytool -genkeypair -alias pdm -keyalg RSA -keypass Gacrnd#123 -keystore pdm.jks -storepass Gacrnd#123 -alias&#xff1a;密钥的别名…

Nginx 基于域名的虚拟主机的配置实验

目录 虚拟主机解释 实验介绍 修改配置文件 一&#xff1a;创建2个虚拟主机的网页根目录 二&#xff1a;修改2个虚拟主机的首页的内容 三&#xff1a;真实机器添加域名解析记录 四&#xff1a;测试 虚拟主机解释 Nginx的虚拟主机是指一台服务器上同时托管多个网站的能力。…

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源

2024年5月发布的SparkyLinux 8使用的是Debian 13 trixie 的更新源&#xff0c;然后我改了清华对应的更新源&#xff0c;更新成功。纯粹是测试&#xff0c;具体应以官网信息为主。

DRF 纯净版创建使用

【一】介绍 &#xff08;1&#xff09;使用原因 在Django中&#xff0c;contrib 包包含了许多内置的app和中间件&#xff0c;如auth、sessions、admin等&#xff0c;这些app在创建新的Django项目时默认是包含在内的。然而&#xff0c;在开发RESTful API时&#xff0c;可能不需…

线下线上陪玩APP小程序H5搭建设计-源码交付,支持二开!

一、电竞陪玩系统APP的概念 电竞陪玩系统APP是一种专门为电子竞技玩家提供服务的平台。通过这个平台&#xff0c;玩家可以找到专业的电竞陪玩者&#xff0c;他们可以帮助玩家提升游戏技能&#xff0c;提供游戏策略建议&#xff0c;甚至陪伴玩家一起进行游戏。这种服务不仅可以提…

阿里云部署ChatGLM-6B及ptuning微调教程

一、模型部署 1.进入阿里云人工智能平台PAI。 2.申请免费试用。 3.打开交互式建模 PAI-DSW。 4.新建实例。 5.填写配置。 6.实例准备完成后点击打开。 7.打开实例后点击Teminal。 8.在Teminal中依次输入以下命令并执行。 apt-get update apt-get install git-lfs git lfs ins…

某票星球网图标点选验证码YOLOV8识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 图标点选验证码大家都不陌生了,我们来看下数据集 引言与个人想法 先说结论,本文采用的方法能够达到99的准确率,效果图如下 做图标点选其实方法有很多,有的…

活字格中如何打开指定文件夹

如何使用活字格打开指定文件夹 活字格是一款功能强大的电子表格软件&#xff0c;除了基本的表格计算功能之外&#xff0c;还提供了丰富的扩展功能&#xff0c;可以用来实现各种自动化操作。例如&#xff0c;我们可以使用活字格来打开指定的文件夹。 以下是具体的操作步骤&…