InfoQ

新闻

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

作者 Jean-Jacques Dubray译者 王锐 发布于 2008年7月23日 下午10时12分

社区
SOA
主题
治理
标签
模式

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?

9 条回复

回复

筒仓 发表人 yi wang 发表于 2008年7月24日 上午1时9分
Re: 筒仓 发表人 凉粉 小刀 发表于 2008年7月24日 上午1时50分
Re: 筒仓 发表人 gem fox 发表于 2008年7月24日 上午8时24分
Re: 筒仓 发表人 rui wang 发表于 2008年7月24日 上午10时3分
Re: 筒仓 发表人 anetman y 发表于 2008年7月24日 下午7时45分
Re: 筒仓 发表人 gem fox 发表于 2008年7月24日 上午8时13分
看了一半 发表人 hugh chu 发表于 2008年7月24日 上午2时30分
孤岛? 发表人 Huang Huang 发表于 2008年7月24日 上午2时48分
Re: 孤岛? 发表人 gem fox 发表于 2008年7月24日 上午8时15分
  1. 返回顶部

    筒仓

    2008年7月24日 上午1时9分 发表人 yi wang

    Sole->筒仓? 服了

  2. 返回顶部

    Re: 筒仓

    2008年7月24日 上午1时50分 发表人 凉粉 小刀

    我觉得不好翻译的词最好就保留原样,不然翻译出来更让人不好理解

  3. 返回顶部

    看了一半

    2008年7月24日 上午2时30分 发表人 hugh chu

    回头看了遍原文才明白.

  4. 返回顶部

    孤岛?

    2008年7月24日 上午2时48分 发表人 Huang Huang

    貌似这个意思。。

  5. 返回顶部

    Re: 筒仓

    2008年7月24日 上午8时13分 发表人 gem fox

    老兄是指silo吧。

    silo翻译成筒仓或竖井,都区别不是太大吧,呵呵。而且这个词也不是出来一天两天了,我第一次看到它是在booch的《object solution》中。只不过是比喻嘛。

  6. 返回顶部

    Re: 孤岛?

    2008年7月24日 上午8时15分 发表人 gem fox

    我倒觉得使用竖井或筒仓,符合原来的比喻。

  7. 返回顶部

    Re: 筒仓

    2008年7月24日 上午8时24分 发表人 gem fox

    silo这个词翻译成“竖井”或“筒仓”确实是合适。在6月的新闻www.infoq.com/cn/news/2008/06/soa-coe中已经出现。引自该文...

  8. 返回顶部

    Re: 筒仓

    2008年7月24日 上午10时3分 发表人 rui wang

    嗯,这个词其实也犹豫了很久,翻出来不容易理解,不翻出来原词放到那里又不知道是什么意思。

  9. 返回顶部

    Re: 筒仓

    2008年7月24日 下午7时45分 发表人 anetman y

    翻译得不错啊:-)我没读原文,瞄了瞄就知道作者在讲什么故事,这和对其思路背景的熟悉程度有点关系吧。

    “筒仓”是本意,我认为并无不妥。将筒仓用于组织范式的比喻是经典用法,大概是90年代到2000年间的,是Re-engineering(常见提法BPR)思潮的典型用法。是谁最先用没考证过,但很早就有。

    翻译的词,觉得没有公认有把握译法又很关键,用括弧注明原文,工作就算到位了。

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!