10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

分享基于 REST 的企业集成经验

  • 2013-12-02
  • 本文字数:788 字

    阅读完需:约 3 分钟

“如何替换大型遗留系统,是 IT 业界的一大难题”,ThoughtWorks 的首席咨询师 Brandon Byars ,在分享其在大型遗留替换项目中使用 RESTful 集成的经验时这样说道。

Brandon 认为对大多数这类项目来说, REST 都要比 HTTP 吸引人。它易于使用和理解,不需要大型框架。在架构方面,他坚信 REST 已经被证明是可伸缩的,并且适用于领域建模。他发现很多时候,针对 REST 的讨论都是关于一些小的细节,而不是对项目成功更加重要的部署和测试方案。

Brandon 的第一个建议是,在开发中使用逻辑环境来满足不同团队和角色的需要:

逻辑环境是一组适当隔离的相互关联的应用程序、服务和基础组件,可以满足业务和开发的需要。

接着,他描述了几种不同的技术,这些都是值得使用和为其维护环境的。而环境的版本控制是他坚决反对的,他认为这样会使系统严重地复杂化。

Brandon 的经验是,错误地定义数据边界,是架构师所犯的最昂贵的错误。一个常见的反模式是,将某个实体的所有信息都保存到单个数据存储中,并在需要的时候导出。他认为如果对主数据管理(MDM)认识肤浅就会支持这种方案。相反,他的解决方案是将各个团队的定义包装在一个边界上下文中。边界上下文是领域驱动开发中的概念,在边界上下文中,一个术语不管用于何处,都表示相同的含义。

每个业务单元对于相同的实体都有不同的模型,可以在它们的边界上下文中进行显式的翻译。

在应对分布式系统时,Brandon 建议将针对高级特性的用户故事分组成史诗,并用这些史诗来度量进展。这可以避免对进展产生错觉的情况。大多数故事完成意味着团队正处于交付过程中,但少量故事未完成则会妨碍特性的演示。

程序级别的度量使得史诗成为跟踪团队速率的首要标准,因为团队用户故事的速率会造成对进度的错觉。

Brandon 最后强调,尽管他支持使用 RESTful 服务的方案,相信它能简化开发,但 REST 还远不是银弹。

原文英文地址: Experiences from Enterprise Integration with REST

2013-12-02 04:003319
用户头像

发布了 59 篇内容, 共 25.8 次阅读, 收获喜欢 3 次。

关注

评论

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

电商系统微服务拆分设计

Lane

setTimeout(〒︿〒) 请原谅我一直以来对你的忽视

编程三昧

JavaScript 大前端 定时器 基础知识

「SQL数据分析系列」8. 分组和聚合

Databri_AI

数据库 sql 大数据 存储 计算

韩信大招:一致性哈希

悟空聊架构

分布式 一致性hash 6月日更 hash算法

新一代数仓架构-Snowflake弹性数仓

一弦思华年

大数据 数据湖 云原生 OLAP 数仓

拆分电商系统为微服务

唐江

架构实战营

排序算法之冒泡排序

xcbeyond

排序算法 冒泡排序 6月日更

架构实战营 模块六:课后作业

Ahu

架构实战营

三星T5 格式化成APFS

SamGo

学习 硬件产品

模块6 学习总结

TH

模块6课后作业

方堃

堆与堆排序

wzh

Java 数据结构 算法 堆排序 数据结构与算法

Anaconda 如何安装 BeautifulSoup 环境

Qien Z.

6月日更

【21-11】PowerShell 特殊变量

耳东@Erdong

PowerShell 6月日更

架构实战营模块六作业

竹林七贤

计算机系统性能评价

若尘

性能 计算机组成原理 6月日更

双非渣本后端,三个月逆袭字节,入职那天“泪目”了

Java架构师迁哥

网络攻防学习笔记 Day49

穿过生命散发芬芳

网络攻防 6月日更

【Vue2.x 源码学习】第十九篇 - 根据 vnode 创建真实节点

Brave

源码 vue2 6月日更

前端 JavaScript 之『节流』的简单代码实现

编程三昧

JavaScript 大前端 js 防抖节流 代码实现

如何应对不好回应的沟通场景?

石云升

读书笔记 沟通 6月日更

冯 · 诺依曼结构原理及层次结构分析

若尘

计算机组成原理

Linux之pwd命令

入门小站

Linux

Redis入门一:简介

打工人!

数据库 nosql redis 6月日更

作为程序员,你会使用Notion吗?

Bob

程序员 Notion 笔记

现在后端开发都在用什么数据库存储数据?

Linux服务器开发

MySQL 数据库 后端 中间件 Linux服务器开发

🌏【架构师指南】分布式事务(XA)与一致性算法(Paxos、Raft、Zab、NWR)

码界西柚

ZAB raft协议 paxos协议 6月日更

窥见AI工业化开发黎明:华为云如何将AI进行到底

脑极体

大学生如何让更好的入门计算机?

Bob

入门 话题讨论 话题 大学生

手写一个简单的SpringBoot Starter

赵镇

Python——计数器(Counter)

在即

6月日更

分享基于REST的企业集成经验_SOA_Jan Stenberg_InfoQ精选文章