QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

联邦服务总线基础设施模型

  • 2009-04-22
  • 本文字数:1051 字

    阅读完需:约 3 分钟

Jack Van Hoof 撰写了一篇关于如何建模联邦服务总线基础设施的说明指南,这种基础设施给企业中与之交互的各部分提供了预期的自治水平。在他看来,ESB 一词并未对它服务的范围着墨太多,因此他进一步在它们联邦的基础之上对 ESB 进行了分类。

这个模式在一个由多个逻辑总线组成的联邦服务总线基础设施中划出了 4 个关注级别:

  • 应用级:应用级服务总线支持细粒度的应用级流程和活动监视。每个应用绑定到它自己的逻辑总线上。在实践中,这种边界一般是通过应用服务器上的应用名字空间来实现的,Java 使用的是 JMS,.net 则是 WCF。
  • 领域级:领域是一个功能内聚的实体,如人力资源管理、财务、物流、销售、收购。这一级别的服务支持在这个特别领域内跨应用的流程和活动监视。领域同样会暴露由领域应用访问的领域通用服务。如果存在多个服务总线,每个领域一个。
  • 公司(企业)级:公司级服务总线支持跨领域的流程和活动监视。在公司级,一个公司总线为一个企业服务,领域同样可以访问这个企业。
  • 外部级:外部级服务总线支持与公司外部世界、业务合作方、消费者和供应商的交互。

由于这种总线分类法很自然地在企业内总线类型中形成了一个层次结构,因此他警告说,如果没有对它进行有效地建模,它最终很可能会变成一种被他称为是“意大利面条”的结构。为了避免这种情况的发生,他对拓扑和服务总线范围的建模使用了“父 - 子”隐喻。

在这个模式中,提倡使用层次化的交互结构来维护所期望的自治边界和结构可控性。这种层次化的结构最终导致了一种层次化的“父 - 子”通信方法。一个子只有一个父(各位,这只是个比方),一个父可能有多个子。例如,一个应用是一个领域的子(n:1);一个领域是多个应用的父(1:n)。

在解释完这之后,他推荐按照以下规则来避免出现“意大利面条式”的结果:

  • 子级流程可以向它的父级总线发送消息
  • 父级流程可以向它的子级总线发送消息
  • 向下的跨级消息传递总是由父级总线依次传递给子级总线
  • 向上的跨级消息传递总是由子级总线依次传递给父级总线
  • 父级总线可以向它的子级总线暴露服务

他还提到了实践中的一些注意事项,它可不像只是遵循这些规则一样那么简单。

  • 行政方面的考虑 > 领域模型成形的基础主要是自治团体,后者源于文化、历史和权力。领域往往有权自行决定像应用、工具和平台这类的资源。
  • 互操作性方面的考虑 > 关于联邦服务总线基础设施,使用不同产品 [……以及] 支持 [它们间的] 互操作性是当前 IT 业的焦点。

Jack 给出了一种服务总线基础设施的建模方法。关于详细内容请阅读原文

查看英文原文: A Model For A Federated Service Bus Infrastructure

2009-04-22 06:031555
用户头像

发布了 255 篇内容, 共 58.5 次阅读, 收获喜欢 10 次。

关注

评论

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

如何设计一款“高可用高性能”的发号器?

捉虫大师

Java 高可用 发号器 高性能 raft

中小型城市商业银行数字化转型实践(二)集成关系ESB APIGateway ServiceMesh

泡菜小仙

架构设计 集成架构 ESB

看得懂的区块链及智能合约概念

石君

区块链 智能合约

《零基础学 Java》 FAQ 之 9-Java里的各种数据类型占用多少内存空间

臧萌

Java

奇怪知识点系列:Office 365 CDN 揭秘

手艺人杨柳

Office 365 Microsoft 365 SharePoint Online

Kubernetes时代的云容器平台:各家云产品模式逐渐丰富

韩超

腾讯云 阿里云 Kubernetes IaaS PaaS

关于键盘的一些事

BabyKing

vim 缓存 键盘 快捷键 karabiner

在Gitlab-ce的Docker中使用自定义端口

天飞

Docker gitlab

从Deepl说起,聊一聊未来的“安全职业”

孤岛旭日

程序员 AI 职业

中小型城市商业银行数字化转型实践(一)整体技术架构转型(双态IT)

泡菜小仙

数字化转型 架构设计 技术架构

谁能让你安稳

Neco.W

工作 稳定性 努力工作

520 我用算法帮女朋友的闺蜜选男友

cherubines

Python 算法 数据分析 蒙特卡洛 最优解

回“疫”录(21):你这样做的样子真丑

小天同学

疫情 心理 回忆录 现实纪录 纪实

我的读书笔记-樊登读书法

lmymirror

学习 读书笔记 方法论 读书方式

MyBatis支持的jdbcType 枚举类型

Kevin Liao

生活就是这么讽刺,有时候你嘲笑他,有时候你想成为他......

代码诗人

中年危机 文艺 短片小说

Android | Tangram动态页面之路(四)vlayout原理

哈利迪

android

「Postman教程 」接口测试-2

Megatron7

测试 Postman

Oracle 数据恢复一例

wong

oracle windows dbf

你的c++团队还在禁用异常处理吗?

泰伦卢

c c++ C#

程序员的晚餐 | 5 月 19 日 蒜香鸡腿,味道令人惊讶

清远

美食

MacOS 下使用VSCode进行GoLang Test报错

北纬32°

macos vscode Unit Test debug Go 语言

linux文件系统-inode学习整理

戈坞昂

Linux inode

部门最漂亮的妹子离职了

Geek_6rptuk

团队管理 生涯规划 企业文化 职场

「Postman教程 」功能介绍-1

Megatron7

测试 Postman

SQL 生成斐波那契数列

zero

sql 斐波那契 MySQ

2020年5月19日 Java并发编程专题

瑞克与莫迪

Java

中小型城市商业银行数字化转型实践(三)数据中台建设思路和路径

泡菜小仙

数据中台 数字化转型 数据架构

看完这篇 HTTPS,和面试官扯皮就没问题了

苹果看辽宁体育

https

比特币是新生事物吗?

Haiyung

比特币

实现一个比LongAdder更高性能的计数器有多难?

捉虫大师

Java jdk LongAdder

联邦服务总线基础设施模型_SOA_Dilip Krishnan_InfoQ精选文章