写点什么

SOA 重在技术还是业务?

  • 2007-09-07
  • 本文字数:1001 字

    阅读完需:约 3 分钟

Nick Gall 发帖说脱离技术去讨论SOA 是有问题的。他是看了Andrew McAfee 的一篇批评“无关技术论”(It’s not about the technology,INATT)的贴子之后有感而发。

Andrew 认为有两种类型的 INATT。一种是表达得不够充分,另一种则是完全错误而且误导人的。Andrew 说第一种说的其实是“不仅仅跟技术有关”,第二种则是“讨论问题的时候可以忽略技术细节”。

Nick 把 Andew 的定义用到 SOA 身上,他说:

跟 Andrew 一样,每当我听到这种说法都要颤一颤——尤其是在 SOA 的讨论中,更尤其是在 Yahoo 新闻组 Service-Orientated-Architecture 上面的 SOA 讨论中。在这些讨论里头,实现 SOA 的各种技术上的选择是被当作不相干的事情而不加考虑的,讨论的人只是在夸夸其谈中自得其乐。

Burton 的 Anne Thomas Manes 承认她也说 INATT,不过她相信自己用的是这句话的另一层意思,目的是强调在设计中技术是次要的:

更具体地说,技术是实现上的决策。当项目启动的时候,项目团队应该首先确定和分析项目需求,然后才选择适当的技术来满足项目需求。

Anne 说,技术只是工具,你要为工作选择正确的工具——但首要的事情应该是确定要做的是什么工作。

但毕竟 SOA 是一种架构风格,跟任何架构性工作一样,你必须首先想清楚你的架构性目标。不过在作出技术上的选择之后,还是应该回头去重新检查你在架构上的决策。(见下图)。因为技术、平台之类总有它们自身的一套架构、功能和局限。

Architecture Inputs

(引用自“ An Architectural look at SOA ”)

在最近一篇名为《以 ESB 为导向的架构:错误的 SOA 采纳路径》中,IBM 的 Bobby Woolf(著名的《Enterprise Integration Patterns》的作者)提醒我们:

“客户常常希望单纯构建 ESB,因为这样可以避开难搞的业务需求,专心解决技术上的挑战。单纯构建 ESB 是 IT 人员的梦想,这样他们可以先建立 ESB,然后指望以后会有 SOA 跟上来利用它。这种以 ESB 为导向的架构丢掉了 SOA 的优势。它没有产生业务价值。实际上,花费了成本却没有收获直接的利益。而且它不能让 IT 与业务保持齐头并进。比 ESB 为导向的架构更好的是以 SOA 为导向的架构。不要单纯构建 ESB;把它作为 SOA 的一部分来构建,最好是能适合 IBM 所推荐的 SOA Foundation 架构。”

总而言之,技术是重要的,因而我们在设计 SOA 或者任何项目的时候,都不可能忽视技术。然而技术应该放在第二位,业务才是第一位的——是这样吗?你怎么想?

查看英文原文: Is SOA about the technology?

2007-09-07 12:23814
用户头像

发布了 225 篇内容, 共 64.2 次阅读, 收获喜欢 50 次。

关注

评论

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

Prometheus 内置函数(二)

耳东@Erdong

Prometheus PromQL 10月月更

京东架构师珍藏版:redis深度笔记(全彩版)全篇精华,细节满满

Java 程序员 架构 面试 rediis

又真香了!到底是怎样的JAVA面试文档,拿到这么多offer

Java 编程 程序员 面试

不是吧?阿里“百万级”性能优化小册居然能让系统运行得这么快

Java 编程 程序员 性能优化

在 Vue3中使用Fabric.js实现渐变(Gradient)效果,包括径向渐变radial

德育处主任

JavaScript 大前端 vite Vue3 FabricJS

在线文本去重统计工具

入门小站

工具

k8s replicaset controller源码分析(3)-expectations机制分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

架构实战营 - 模块六作业

en

#架构实战营

分布式事务开山之作——《深入理解分布式事务:原理与实战》草图曝光!!

冰河

数据库 分布式 分布式事务 微服务 数据一致性

Go 中如何使用 Interfaces

baiyutang

golang 10月月更

带你认识世界上第一个以商业为中心的元宇宙 Highstreet

devpoint

区块链 元宇宙 10月月更

拆分电商系统微服务

毛先生

架构训练营第一模块作业

最后的风之子

「架构实战营」

设计原则学习笔记

风翱

设计原则 10月月更

linux防止文件和目录被意外删除或修改

入门小站

Linux

k8s replicaset controller源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸

Java 编程 程序员 面试 大厂面试

ARouter 拦截器之多 module 独立运行

逆锋起笔

android 组件化 arouter

Spring版本命名规则

Tom弹架构

Java spring 架构

架构实战营 - 模块六作业

Alex.Wu

前端应用部署k8s的平滑发布问题

小江

k8s 大前端 发布流程

面试官:如何回答消息队列的丢失、重复与积压问题

Java 程序员 架构 面试

官方线索|Bilibili1024程序员节

搬砖人

1024我在现场

架构实战营模块一作业

spark99

架构实战营

从华为推出仓颉编程语言引发的对编程语言的思考

轻口味

编程语言 10月月更

Generic Type Variance in Dart

Think

flutter dart 泛型

架构实战营模块6课后作业 拆分电商系统为微服务

apple

weblogic 报 java.lang.OutOfMemoryError:PermGen space

看山

Java 10月月更

架构实战训练营|课后作业|模块 6

Frode

「架构实战营」

Spring 5系统架构

Tom弹架构

Java spring 架构

Vue进阶(幺肆捌):Vuex 辅助函数详解

No Silver Bullet

Vue 辅助函数 10月月更

SOA重在技术还是业务?_SOA_Arnon Rotem-Gal-Oz_InfoQ精选文章