教年轻 AIoT 创业者如何从 0 到 1 实现AIoT 创业项目 了解详情
写点什么

Eric Newcomer 谈 RESTFul 事务与 Web Service 事务的区别

  • 2009-03-19
  • 本文字数:714 字

    阅读完需:约 2 分钟

OSGi 联盟企业专家组的主席,IONA Technologies 的前 CTO Eric Newcomer 在文章中回答了这个问题:“RESTFul 事务与Web Service 事务的区别是什么?”

Eric 将事务分为本地事务与全局事务,而二者处理本地事务的方式并无二致,所以文中不予讨论。

所以这个问题实际上与全局事务有关——涉及多个数据库(往往是在不同的机器上)——因为在这种情况下,处理方式便有了巨大差异。

他提醒说,因为 Web Service 是一门技术,而 REST 是一种架构方案,所以这种比较可能不会很精确。不过他还是列举出了二者的许多差异,从事务的实现方式,到底层架构的不同设想,尤其是在对共享数据或是共享状态的分布式访问方面。

Web Service 事务([……]WS-Transactions[……])的目的是跟既有的 TP [Transaction Processing] 基础架构兼容。而 REST 方式则是从 Web 中演变而来。

他归纳出了这两种事务之间关键差异的来源:

1. 在多个参与系统中如何协调事务

为了与现有的共享状态机制相兼容,Web Service 事务会把整个事务的上下文传播到全局事务的所有参与者中,所以每个参与者对共享状态的访问都可以跟其他参与者进行协调。而基于 REST 的事 务是假定在任一个给定的时刻,某个全局事务中只有一方可以访问共享状态,类似于令牌传递的机制……他们只需要知道,当轮到自己的时候——收到共享状态以后 ——必须做哪些事情就够了。

2. 系统如何处理事务失败与恢复

RESTful 系统需要截然不同的设计来处理失败和恢复,因为它无法做到自动化处理,所以在应用程序层上要做额外的设计与编码。这种权衡所带来的结果是,系统可以与 Web 的设想更完美的匹配。

请一定要看一下作者原文

查看英文原文 Eric Newcomer On Difference Between RESTful vs. Web Service Transactions

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2009-03-19 03:002087
用户头像

发布了 197 篇内容, 共 50.8 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

北美 2023 被裁员的感悟

HoneyMoose

来自大佬的洗礼!全网独家的SpringCloud Alibaba学习笔记,太全了

做梦都在改BUG

Java 架构 微服务 Spring Cloud

以技术实践赋能开源安全|2023开放原子全球开源峰会开源安全技术与实践分论坛即将启幕

开放原子开源基金会

开源 开源软件供应链 开源安全技术

Nautilus Chain:我们将支持EIP6969

石头财经

2023金三银四Java开发岗热门面试题总结

小小怪下士

Java 程序员 面试 金三银四

2023-06-02:给定一个二进制数组 nums 和一个整数 k, k位翻转 就是从 nums 中选择一个长度为 k 的 子数组, 同时把子数组中的每一个 0 都改成 1 ,把子数组中的每一个 1

福大大架构师每日一题

golang 算法 rust 福大大

Nautilus Chain:我们将支持EIP6969

BlockChain先知

C语言编程-共用体

向阳逐梦

6 月 优质更文活动

深度学习入门系列(一):一文看懂 MNIST

U2647

神经网络 机器学习 深度学习 keras

SpringBoot异步线程,父子线程数据传递的5种姿势

Java你猿哥

Java Spring Boot 线程 ssm 异步

Nautilus Chain:我们将支持EIP6969

西柚子

文心一言 VS 讯飞星火 VS chatgpt (29)-- 算法导论5.2 1题

福大大架构师每日一题

ChatGPT 文心一言

推进开源法律知识普及|2023开放原子全球开源峰会开源法律与合规分论坛即将启幕

开放原子开源基金会

开源 法律与合规

Nautilus Chain:我们将支持EIP6969

EOSdreamer111

JavaScript深度剖析之变量、函数提升:从表面到本质

控心つcrazy

【Python金融-001】如何快速计算股票的收益?1行代码,高效做T

程序员晚枫

Python 金融 股票

以后我准备告别String.format()了,因为它不够香!

Java你猿哥

Java 编程 string 格式化 format

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

架构师之道

Java 面试

真香!阿里最新产出分布式进阶实战手册,涵盖分布式架构所有操作

Java你猿哥

Java 架构 Spring Cloud Spring Boot ssm

Nautilus Chain:我们将支持EIP6969

大瞿科技

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

Java你猿哥

分布式 微服务 微服务架构 Spring Cloud ssm

原来user.dir竟然会影响classpath的值

Java你猿哥

Java tomcat classpath ssm

不愧是牛客网爆火的1658 页《Java 面试突击核心讲》,面面俱到太全了

采菊东篱下

Java 程序员 面试

全网首推!头条大佬手码的164页Elasticsearch核心学习手册,我服了

做梦都在改BUG

Java 搜索引擎 elasticsearch ES

Generative AI 新世界 | 大型语言模型(LLMs)概述

亚马逊云科技 (Amazon Web Services)

机器学习 tensorflow 开源 PyTorch Amazon SageMaker

Nautilus Chain:我们将支持EIP6969

股市老人

Spring Boot 开发离不开这些注解,快来学习啦!

Java你猿哥

spring Spring Boot ssm spring aop java框架

互联网广告代理加盟 全媒体广告投放项目解析

互联网广告大佬

简化Mybatis分页操作,让我们来聊聊 PageHelper 及实现原理

Java你猿哥

Java mybatis ssm PageHelper

专业笔记工具:Keep It 激活版

真大的脸盆

Mac Mac 软件 笔记工具

大神在民间!碰巧在Github发现一个Java面试高分Guide,已跳槽涨20K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

  • 扫码添加小助手
    领取最新资料包
Eric Newcomer谈RESTFul事务与Web Service事务的区别_SOA_Dilip Krishnan_InfoQ精选文章