速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

你在 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:121040
用户头像

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

关注

评论

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

Java基础 | 如何用Javadoc Tool写规范正确的java注释

Java-fenn

Java

测试开发基础 | 计算机网络篇(二):物理层与数据链路层

霍格沃兹测试开发学社

测试开发基础|一文搞定计算机网络(一)

霍格沃兹测试开发学社

测试必会 | 通过容器化 Python Web 应用掌握 Docker 容器核心技能

霍格沃兹测试开发学社

公私域营销新技术:小程序一键转App

Speedoooo

小程序 APP开发 APP软件开发 小程序容器

活动回顾 | 基于英特尔技术的端到端音视频优化

网易智企

音视频

怎样才能做好企业内部wiki(维基)?

Baklib

企业 wiki

BAT 名企大厂做接口自动化如何高效使用 Requests ?

霍格沃兹测试开发学社

测试工程师如何突破职场瓶颈?

霍格沃兹测试开发学社

面试重点:建立Java并发知识体系(含工具全图鉴)

Java-fenn

Java

公排自动滑落模式智能合约dapp系统开发逻辑详情

开发微hkkf5566

Java注解系统学习与实战

Java-fenn

Java

Baklib|搭建在线帮助中心网页的策略分享

Baklib

页面 帮助中心 在线帮助中心

java时间日期类

Java-fenn

Java

微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(二) 之脚本的录制及调试...

Java-fenn

Java

详解Java中的异常和处理时间

Java-fenn

Java

最流行的接口测试体系,从入门到项目实战

霍格沃兹测试开发学社

飞书项目负责人洪涛:从抖音研发到飞书项目背后的管理经验

B Impact

飞书 飞书项目

【数据库】ClickHouse在亿级广域物联标签云平台ZETag Server的探索与实践

ZETA开发者

数据库 物联网 Clickhouse Server 云平台

Java毕设项目——超市POS收银管理系统(java+SSM+Maven+Mysql+Jsp)

Java-fenn

Java

接口自动化你不懂?听HttpRunner的作者怎么说

霍格沃兹测试开发学社

外包程序员的开源 Java 低代码开发平台光 2.3.0 Beta4 版发布,显著提升生成物质量

Java-fenn

Java

解决java多继承问题

Java-fenn

Java

详解:Java 的静态工厂方法

Java-fenn

Java

数据持久化技术(Python)的使用

霍格沃兹测试开发学社

Java 中HashMap 详解

Java-fenn

Java

Java 函数式编程

Java-fenn

Java

智能遍历测试在回归测试与健壮性测试的应用

霍格沃兹测试开发学社

构建测试平台与对应的组织架构需要哪些能力? 21/100

霍格沃兹测试开发学社

测试开发基础 mvn test | 利用 Maven Surefire Plugin 做测试用例基础执行管理

霍格沃兹测试开发学社

为什么越来越多的企业开始建立自己的知识库?

Baklib

企业 知识库

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