BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Dilip Krishnan 关注 0 他的粉丝 ,译者 胡键 关注 0 他的粉丝 发布于 2009年4月23日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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

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

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

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

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

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

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

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

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

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

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT