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:003301
用户头像

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

关注

评论

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

Java高手速成 | 新增类Record的工作实例

TiAmo

新特性 Java’

mouseover 和 mouseenter 的区别

ModStart

MASA Stack 1.0发布会正式官宣

MASA技术团队

MASA MASA Stack

PHP 中命令行调用 escapeshellarg 函数中文问题

ModStart

为什么开发者这么看重SQL?看完这些应用场景你就明白了

雨果

sql 数据库管理工具 SQL开发工具

JDK结构介绍

Steven

2023-01-10:智能机器人要坐专用电梯把货物送到指定地点, 整栋楼只有一部电梯,并且由于容量限制智能机器人只能放下一件货物, 给定K个货物,每个货物都有所在楼层(from)和目的楼层(to),

福大大架构师每日一题

算法 rust Solidity 福大大

SeekBar(拖动条)

芯动大师

android SeekBar 拖动条

钉钉 IM 基于 RocketMQ 5.0 的云原生应用实践

阿里巴巴中间件

阿里云 RocketMQ 云原生

ClassIn:如何打造更稳定的Zabbix监控系统

OceanBase 数据库

oceanbase 数据库·

先行试点,创新改造:中信期货关键业务系统自主可控的实践之路

OceanBase 数据库

架构实战营4.1 数据库存储架构随堂练习

西山薄凉

「架构实战营」

龙湖千丁基于 ACK@Edge 的云原生智慧停车系统架构实践

阿里巴巴中间件

阿里云 云原生

走进AI图像生成核心技术 - Diffusion

Baihai IDP

人工智能 AI AIGC Diffusion 扩散模型

KaiwuDB 1.0 - 时序数据库系列产品正式发布

KaiwuDB

数据库

高并发中的atomic

Steven

LogicFlow自定义业务节点

小鑫同学

前端 vite Vue 3

APISIX+Dubbo+Nacos 最佳实践

阿里巴巴中间件

阿里云 云原生 dubbo nacos APISIX

DevSecOps 与软件开发安全

飞算JavaAI开发助手

面试题:为什么不建议在MySQL中使用UTF-8?

风铃架构日知录

Java MySQL 程序员 后端 IT

DiT:Transformers 与扩散模型强强联手

Zilliz

AI 算法模型

神经网络基础部件-损失函数详解

嵌入式视觉

激活函数 Relu sigmoid tanh swish激活函数

H5直播技术起航

京东科技开发者

音视频 编码 H5 flv 企业号 1 月 PK 榜

阿里云计算巢 x GBase GCDW:自动化部署云原生数据仓库

云布道师

阿里云

Flink 批作业的运行时自适应执行管控

Apache Flink

大数据 flink 实时计算

如何用「标准差」度量研发波动

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

马斯克收购推特后,亲自与员工探讨了……

博文视点Broadview

TiDB 底层存储结构 LSM 树原理介绍

京东科技开发者

技术 算法 LSM树 TiDB 企业号 1 月 PK 榜

《PyTorch 深度学习实战》学习笔记 --NumPy(上)

IT蜗壳-Tango

Dubbo-kubernetes 基于 Informer 服务发现优化之路

阿里巴巴中间件

阿里云 Kubernetes 云原生 dubbo

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