写点什么

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

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

关注

评论

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

突击 22 天面进腾讯,给到 32K*14 薪!全靠这份阿里面试参考指南了

Java 程序员 架构 面试 计算机

阿里开源:历年亿级活动高并发系统设计场景总结

Java架构师迁哥

CCF C³-04@百度丨“AI+开源”的昨天今天和明天

百度大脑

百度 AI

GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版

Java 程序员 架构 面试

爱了! Alibaba技术官甩出的“阿里内部Java成长笔记”,技术人成长的标杆!

Java架构之路

Java 程序员 架构 面试 编程语言

Alibaba面试官:“这该死的程序员,技术竟如此深厚!”

Java架构之路

Java 程序员 架构 面试 编程语言

哈工大与华为终端有限公司签署首个HarmonyOS高校协同育人合作协议

科技汇

终于看到阿里大牛能把springboot讲的如此出神入化

Java 程序员 架构 计算机

视频门禁的优点及应用场景

anyRTC开发者

音视频 WebRTC RTC sdk

大厂面试内幕:阿里内部整理出的5000页Java面试复盘指南,起飞

Java架构追梦

Java 架构 面试

吐血总结 | Java并发编程 72 变

Java架构师迁哥

国家工业信息安全发展研究中心与华为联合发布《数据安全白皮书》

DT极客

助力秋招第三弹:Java集合框架体系详细梳理

北游学Java

Java 面试 框架 秋招

Logo设计软件 Tech Support

凌天一击

网络攻防学习笔记 Day27

穿过生命散发芬芳

5月日更 网络攻防

Flume自定义拦截器

大数据技术指南

大数据 5月日更

ThingJS粒子特效一键实现雨雪效果

ThingJS数字孪生引擎

可视化 场景应用 3D可视化 数字孪生

NUCLEO-L432KC实现UART1、UART2双串口数据通信(STM32L432KC)

不脱发的程序猿

嵌入式 stm32 单片机 NUCLEO-L432KC 串口通信

【多线程与高并发】从一则招聘信息进入多线程的世界

牧小农

Java 多线程与高并发

Flink的批数据SQL

五分钟学大数据

flink 5月日更

扫盲篇-什么是分布式任务调度

敏捷调度TASKCTL

大数据 分布式 分布式锁 分布式任务调度 zookeeper分布式锁

阿里P7简历上都有哪些可以拿得出手的项目?

Java架构师迁哥

【大咖直播】Elastic 可观测性实战工作坊

腾讯云大数据

elastic

一周信创舆情观察(5.17~5.23)

统小信uos

可视化突破海绵城市发展困境,智慧城市从“一张图”开始

一只数据鲸鱼

数据可视化 智慧城市 智慧水务 三维可视化 海绵城市

☕️【Java 技术之旅】带你看透Lambda表达式的底层

码界西柚

Java Lambda 底层原理 5月日更 行为参数化

请警惕 ES 的三大坑

悟空聊架构

elasticsearch 架构 分布式 微服务 ES

一个月吃透这份阿里高级专家的《Java500道面试手册》成功拿下了腾讯offer!

Java架构之路

Java 程序员 架构 面试 编程语言

电子产品PCB电路板散热的方法

不脱发的程序猿

嵌入式 PCB 电路板散热 电子电路 电路板

DWF低代码开发技术及其在数字化运营和运维平台建设中的应用

云智慧AIOps社区

低代码 智能运维

学到了,用138个案例讲明白了Spring全家桶+Docker+MQ

Java架构师迁哥

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