HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

分享基于 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:002952
用户头像

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

关注

评论

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

OLAP分析型应用场景中,数仓中vacuum为何对列存表无效

华为云开发者联盟

数据库 后端 存储 华为云

福昕软件重磅发布福昕高级PDF编辑器12.0

联营汇聚

【愚公系列】2022年06月 通用职责分配原则(八)-中介原则

愚公搬代码

6月月更

案例驱动 :从入门到掌握Shell编程详细指南

百思不得小赵

bash 运维 6月月更

告别手写,使用 Doc View 快速生成接口文档

程序员小航

IDEA 插件

2022年秋季广州美博会-2022广州9月份美博会

Geek_0b38bb

2022年广州美博会 秋季广州美博会 美博会 广州美博会

Webshell检测引擎:青藤开放200个雷火SaaS版免费账号!

青藤云安全

安全攻防 网络安全 攻防演练

C#入门系列(二十) -- 面向对象之封装

陈言必行

C# 6月月更

文旅新体验!3DCAT助力广州非遗“元宇宙”街区炫酷亮相

3DCAT实时渲染

非遗 元宇宙 实时云渲染

知识管理——知识经济时代的增资利器

小炮

Wallys/Routerboard/DR8072A-HK09/IPQ8072A/802.11ax

wallys-wifi6

802.11AX WIFI 6e

强推10款Python常用的开发工具

左手の明天

Python ide python开发工具

vivo 容器集群监控系统架构与实践

vivo互联网技术

云原生 监控 系统架构 Prometheus

读书笔记之:麦肯锡高效工作法

甜甜的白桃

读书笔记 读书 笔记 6月月更

基于集群的动态反馈负载均衡策略

No Silver Bullet

集群 6月月更 负载均衡策略

SREWorks v1.2 版本发布 | 运维市场能力发布

阿里云大数据AI技术

大数据 运维 云原生 开发运维

低代码实现探索(四十三)前台对象数据树

零道云-混合式低代码平台

【LeetCode】出现次数最多的子树元素和Java题解

Albert

LeetCode 6月月更

Java技术培训之设计模式七大原则

@零度

设计模式 JAVA开发

TiDB 性能分析&性能调优&优化实践大全

TiDB 社区干货传送门

面试突击58:truncate、delete和drop的6大区别

王磊

Java java常见面试题 常见面试题

DOM核心——Element类型

大熊G

JavaScript 前端 6月月更

本周二晚19:00战码先锋第6期直播丨共建测试子系统,赋能开发者提高代码质量

OpenHarmony开发者

OpenHarmony

APICloud 实现文档下载和预览功能

YonBuilder低代码开发平台

文件 APP开发 APICloud

通过一个具体的例子,讲解 SAP Cloud Platform Integration(CPI) 的使用方法

汪子熙

Cloud 系统集成 SAP 6月月更 cpi

el-table 分页全选功能讲解

CRMEB

开源生态|超实用开源License基础知识扫盲帖(下)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

我的远程办公经验 | 社区征文

五分钟学大数据

初夏征文

Java开发培训之设计模式UML类图

@零度

JAVA开发 UML

IAST 初探:博采众长、精准定位、DevOps友好

SEAL安全

DevOps 安全 IAST 应用安全测试 开源软件供应链

大数据培训Flink之Table API 与 SQL

@零度

flink 大数据开发

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