写点什么

你在 SOA 实现中应用筒仓分析了吗?

  • 2008-07-23
  • 本文字数:1519 字

    阅读完需:约 5 分钟

MomentumSI 的 CEO Jeff Schneider试图定义出 IT 筒仓和面向服务体系结构(SOA)之间的关系。

我认为一个筒仓(silo)是一个系统,或者说是信息仓库,它解决了企业的一部分问题,同时却将相同或者相似的问题留给其它的领域自己解决。筒仓造成了系统、业务逻辑和数据的重复。

Jeff 当然不是第一个探讨这种关系的人。 Dave Frankel,SAP 实验室的标准体系架构领导者,将 SOA定义为

SOA 的核心思想是 IT 资产重组为松耦合组件。那些组成 SOA 核心部分的工具构建的组合应用以唯一的方式编排多个组件,由此拓展并最终打破那些妨碍集成、呆板的 IT 筒仓。这些筒仓需要多级集成和清理,导致越来越多的维护和操作费用。一般来说,筒仓很有害。

最近,Joe McKendrick 发布了一个报告,这个报告详细说明了农业信用加拿大(Farm Credit Canada,FCC)——一家加拿大农业金融服务提供商——采用 SOA 方法将自己从一个筒仓组织(其中,为每个特定业务功能部署了一个应用)重新组织为一个“以服务为中心”模型的过程,其中的应用程序按照面向服务体系结构(SOA)原则来构建。他在报告中指出,这个转换经历了一个六阶段。

1)CEO 驱动:“CEO 发起一场文化革新运动,将其作为创建一个‘以客户为中心’组织的思想基础。” 2)过程革新:“组织关注需要完成那些事情才能把组织过程和系统集成起来,进而能够提供一流客户体验。”

3)转变 IT 自身:“CIO 评估 IT 组织的当前状况,所有当前 IT 项目在此期间都要暂停。”为了支持由 SOA 原则支持的“以架构为中心”方式,所有的筒仓方式都被抛弃。

4)“通过实现一个精心挑选的 SOA 业务流程”,完成概念验证

5)治理:“组织负责重新对其它过程进行详细设计,并承担那些与管理“过程驱动”IT 组织相关的治理问题。”

6)迄今为止转变 IT 功能及其关联技术的收益。CIO 识别各种收益,从业务和 IT 之间沟通的改善,到可重用的 IT 资产的开发。

Jeff 注意到,一般情况下:

几乎所有的巨型组织都有很多筒仓,成因多种多样: - IT 的资金产生于每个业务领域,每个领域购买 / 构建它们自己的系统

  • 企业合并或者并购导致了重副(筒仓)系统
  • 整个企业的短视或者规划导致了无意识的筒仓

……[然而] 这些公司 [的确] 没有执行“筒仓分析”。

他的文章提供了执行这个分析的实际步骤:

  • 我们的筒仓是什么?
  • 这些筒仓有一个合理的存在的理由吗?
  • 我们希望哪个筒仓结束掉?
  • 我们可以实际消除掉哪个筒仓?(政治,投资等等)
  • SOA 会导致“筒仓服务”吗?

这个列表中最关键的一个问题是最后一个:SOA 会导致“筒仓服务”吗?Jenny Ang 和她的同事已经认定这会是一个潜在的 SOA 反模式

Eric Roch 也在今年早些时候问过这个问题

你如何确保 SOA 不会围绕业务单元创建一组新的筒仓?

Eric 建议

  • 建立一个战略服务蓝图(未来的业务服务目录)
  • 组建一个多功能的 SOA 指导委员会,由 SOA 发起人、每个应用系统的首席架构师以及一个企业架构师组成

Joe McKendrick 认为从两个关联层面应对这个问题

  • 首先,从技术角度,是联邦。超过 1/4 的公司已经转移到一个联邦的体系架构来支持多个 ESB 或者中介实例。试图通过单个 ESB 管理一个成长中的 SOA 是不可持续的。
  • 然后,从业务角度,是治理。有效的治理将会理清混乱不堪的服务。

Jeff 总结说:

筒仓分析应该成为每一个业务分析者、架构师、开发者和治理专家的根深蒂固的观念。对我们下一代的教育失败会导致更多的筒仓——仅仅使用 Ruby 而不是 Java 来开发它们……

Jeff 列举出了很多每个 SOA 治理组织在某个时候都应该询问的重要问题。你在 SOA 实现中考虑到筒仓问题了吗?你通过你实现的新服务成功避免新的筒仓了吗?你的 BPM 和 MDM 战略如何与筒仓相交的?

查看英文原文 Did you Perform a Silo Analysis as part of your SOA Implementation?

2008-07-23 22:121282
用户头像

发布了 29 篇内容, 共 45738 次阅读, 收获喜欢 2 次。

关注

评论

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

程序员不得不知的软技能

架构精进之路

软技能

架构师0期Week11作业1

Nan Jiang

架构师0期Week11作业2

Nan Jiang

区块链钱包系统开发服务商,区块链钱包应用搭建

13530558032

源码解析 | 万字长文详解 Flink 中的 CopyOnWriteStateTable

Apache Flink

flink

USDT承兑商系统开发,USDT支付系统软件搭建

13530558032

安全&高可用架构

dony.zhang

高可用 安全 安全架构 高可用系统的架构 高可用系统的运维

SpreadJS 纯前端表格控件应用案例:在线问卷系统

葡萄城技术团队

力扣1514——概率最大的路径

健健

算法 最短路径

Grabana:使用 Golang 或 Yaml 生成 Grafana Dashboard

郭旭东

Grafana Go 语言

高可用注意点

dony.zhang

高可用 高可用系统的架构 高可用系统的运维

30万奖金等你拿!Apache Flink 极客挑战赛入门指南(附Demo)

Apache Flink

flink

导致系统不可用的原因有哪些?

leis

Week11

丿淡忘

Lambda架构已死,去ETL化的IOTA才是未来

易观大数据

XSKY S3 Console 为对象存储系统赋能

XSKY星辰天合

调度选得好,下班回家早

易观大数据

安全及高可用策略

Lane

极客大学架构师训练营

熔断、限流的一些理解

elfkingw

知乎李大海与阿里云贾扬清联合直播,AI大咖眼中的行业前景

InfoQ_967a83c6d0d7

深圳数字货币交易所开发商,币币撮合交易软件开发

13530558032

朱嘉明:新冠肺炎疫情如何改变社会成本观念和结构

CECBC

社会结构 社会观念

架构训练营第十一周感悟

张锐

作为程序员,推荐5种编程语言!

代码制造者

Python 编程语言 低代码 C语言 零代码

合约跟单APP开发模式,合约跟单系统源码搭建

13530558032

java 是什么?作用是什么?

InfoQ_34a83d636158

LeetCode题解:20. 有效的括号,while循环replace,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构训练营第十一周作业

张锐

解码微盟半年财报:同比增长59.9%,SaaS商业版图不断扩大

ToB行业头条

SaaS 微盟

IDEA插件之Mybatis Log plugin破解!!!

不才陈某

Java idea插件

针对目前在线教育存在问题的解决方案

anyRTC开发者

WebRTC 在线教育 直播 安卓

你在SOA实现中应用筒仓分析了吗?_SOA_Jean-Jacques Dubray_InfoQ精选文章