【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

数据治理啥都干

奔向架构师

数据治理 数据资产 6月月更

LabVIEW Arduino TCP/IP远程智能家居系统(项目篇—5)

不脱发的程序猿

物联网 传感器 LabVIEW Arduino 远程智能家居系统

微博评论高性能高可用架构

intelamd

IIS 部署静态网站和 FTP 服务

乌龟哥哥

6月月更

基于STM32设计的蓝牙健康管理设备

DS小龙哥

6月月更

获取Windows操作系统的语言版本

dvlinker

操作系统语言 UI Language MSDN

疫情期间居家办公的总结体会 |社区征文

三掌柜

初夏征文

简析攻防演练中蓝队的自查内容

穿过生命散发芬芳

6月月更 攻防演练

对象的访问机制及其他

Jason199

js 原型链 6月月更

TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘

大卡尔

Kubernetes 云原生 6月月更

Elasticsearch 在地理信息空间索引的探索和演进

vivo互联网技术

elasticsearch 数据分析 数据检索

HotSpot JVM 「02」Java Object Layout

Samson

学习笔记 hotspot 6月月更

前端食堂技术周刊第 42 期:Vue 2.7 Beta、TS 4.8 Beta、React 开源奖、ECMAScript 2022

童欧巴

JavaScript typescript Vue 前端 React

Maven的安装使用

zarmnosaj

6月月更

【题解】剑指 Offer 15. 二进制中1的个数(C语言)

未见花闻

6月月更

架构实战营模块五作业

融冰

通过Rust语言计算加速技术突破图片识别性能瓶颈​​

宇宙之一粟

rust 6月月更

预约直播 | 主流视觉算法介绍及在PAI上的应用

阿里云大数据AI技术

机器学习 视觉算法

聊聊我的远程工作体验 | 社区征文

Nick

远程办公 初夏征文 高效办公 WLB 在线会议

linux之git高级命令

入门小站

Linux

maven编译遇到"编码GBK的不可映射字符"警告的处理

程序员欣宸

Java maven 6月月更

模块五作业

Elvis FAN

亿级月活全民K歌Feed业务在腾讯云MongoDB中的应用及优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 分布式数据库mongodb NoSQL 数据库

flutter系列之:flutter中的flow

程序那些事

flutter 程序那些事 6月月更

我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!

小傅哥

小傅哥 异常 bug 连接池 面试问题

TDengine 邀请函:做用技术改变世界的超级英雄,成为 TD Hero

TDengine

数据库 tdengine

2022年,中轻度游戏出海路在何方?

Geek_2d6073

在线文本数字识别列表求和工具

入门小站

工具

leetcode 1143. Longest Commom Subsequence 最长公共子序列(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

K8S学习笔记--一起来看容器的本质

IT蜗壳-Tango

IT蜗壳教学 6月月更

Flutter TextField详解

yechaoa

flutter 6月月更 TextField

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