写点什么

SOA 的未解之谜

  • 2010-06-04
  • 本文字数:1466 字

    阅读完需:约 5 分钟

虽然围绕着 SOA 有数以千计的出版物、提供商和分析师的吹嘘,以及 SOA 曾被宣布死亡然后又在 SOA 宣言中重生的事实,但是该话题周围仍然存在许多疑团。McKendrick 在他最新的一篇博文对此进行了讨论。

SOA 与云计算之间的区别?David Linthicum 就二者之间的关系做了很好的定义

SOA 关注的是定义 IT 解决方案和架构的过程,而云计算是另一架构选择。所以 SOA 可以被云计算替换。事实上,大多数云计算解决方案都是通过 SOA 定义的。它们不是互相排斥,而是互相补充。

McKendrick 对此做了进一步补充:

一旦你有了彻底的了解,云计算其实是跨越企业防火墙获取或供应可重用的服务。类似地,Enterprise 2.0 就是通过访问服务更好地协作,利用终端用户的信息进行混搭。它们是面向服务的架构,并且依赖 SOA 的原理工作。

在人们还没有真正完全地实施 SOA 之前何来 SOA 的失败?我们参照最简单的 SOA 定义

……面向服务的架构(SOA)是一组用在系统开发和整合阶段的灵活的设计原则。

这意味着 SOA 是对系统进行架构的方法——即,它关心的是“怎么做”而非“是什么”。McKendrick 认为:

SOA 是一个演化的方法,而且还没有人真正完全地实施过 SOA……大多数企业仍处在计划和考虑他们的第一个 SOA 项目的阶段。事实上,这段时间我不断听到的 SOA 的主要挑战是它过于成功,在开展 SOA 的企业中,不是新建了太多的服务,就是服务被无端(或者按需要)地开启了。

人们如何度量 SOA 项目的成功或失败?这里的问题是,对通用的企业架构,特别是 SOA 的成功与否的评判标准未被很好地被定义。 Todd Biske 认为:

……企业评判成功与失败之间的主要差异可归结为期望和目标。如果期望和目标是清晰的,那么对成功与失败的评判也是清晰的……这应是你的试金石。如果你采纳 SOA,你能回答这个问题吗“如何判断是否成功呢?”如果你不能回答此问题,你猜会怎么着,你可能会臆测自己是失败了。

Ugo Corda 对此做了补充:

……合理地检验 SOA 在其特定的优势领域里是否成功需要很长时间(譬如若干年),而且那些成功的故事应与成功的验证相隔很远。

McKendrick 认为:

这对开始实施 SOA 提出了一个刻薄的挑战——成功是长期积累的,它表现在跨业务单元的服务被共享,使得服务开发时间明显缩减,或者,业务可以方便地进行服务的重配置从而让产品和服务更快地进入市场,这些都要归功于 IT 基础设施的灵活性……在市场上衡量长期成功的唯一正确的方法不是利润的增加就是股价的增长,而除 SOA 之外,还有许多其他因素作出了贡献。

有多少功能完备的,真正的 SOA 实现,确切的数字是多少?同样,问题是如何度量该数字?通过服务的数量和粒度?通过服务的消费者?借用 McKendrick 的话:

一组 Web 服务在何时能转变成 SOA 呢?有没有这样的阈值,它定义了当 Web 服务得到更好的关注和维护、治理、注册、管理及其它好的事物时就更像是 SOA 了?

Herbjörn Wilhelmsen 做了进一步解释并提出,功能完备的 SOA 需要:

  • 清晰的战略领导力
  • 区分业务价值的优先顺序
  • 企业文化
  • 合理的动机
  • 服务发现
  • 互操作性
  • 重用的机会
  • 促进服务的发展
  • 服务级别协议(SLA)
  • 测试面向服务的架构
  • 监控服务

如果 SOA“与技术无关”,那为何我们这些技术人员要驱动它呢?McKendrick 认为:

虽然在每次技术大会、每个分析师的标注中、每篇文章中,你都会不断听到该说法,但是,SOA 并非绝对地、确定地、无疑地“与技术无关”。它由技术提供商推行,而且通常划归到 IT 部门的支持范围之内。

McKendrick 指出,SOA 是一个不断发展的架构方法,而且不管人们怎么说,许多关于它言论更多是出于情感,而非出于实际行动。


查看英文原文: Unsolved SOA Mysteries

2010-06-04 02:362056
用户头像

发布了 184 篇内容, 共 81.4 次阅读, 收获喜欢 8 次。

关注

评论

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

kafka的JavaAPI操作

编程江湖

大数据

使用 Python Poetry 进行依赖管理

华为云开发者联盟

Python Python Poetry 依赖项管理 Poetry

在线JSON转toml工具

入门小站

工具

读《思辨与立场》-08设计你的人生

wood

28天写作 批判性思维 思辨与立场

Go 的 golang.org/x/ 系列包和标准库包有什么区别?

AlwaysBeta

golang Go 语言

使用Amazon RDS for Oracle配合Oracle Active Data Guard建立托管的灾难恢复与只读副本

亚马逊云科技 (Amazon Web Services)

分析

大数据开发 Spark 模块之SparkSQL

@零度

大数据 spark Sparksql

通过Amazon SageMaker与Amazon Step Functions实现机器学习的CI/CD 方案

亚马逊云科技 (Amazon Web Services)

分析

如何做好技术 Team Leader?

阿里技术

技术管理 技术人 内容合集

使用 Amazon Athena 做漏斗分析——实现更高效的数据湖检索

亚马逊云科技 (Amazon Web Services)

分析

风云叱咤,尚硅谷云原生实战教程(下篇)发布

编程江湖

Java 开发

体育锻炼的好处

Tiger

28天写作

互联网行业办理过等保业务,选择哪款堡垒机好?

行云管家

互联网 网络安全 堡垒机 云堡垒机

Amazon Redshift ML现已正式推出——使用SQL创建机器学习模型并通过您的数据进行预测

亚马逊云科技 (Amazon Web Services)

分析

Amazon Timestream 在车联网场景的典型应用和性能测试

亚马逊云科技 (Amazon Web Services)

分析

​虚幻引擎5更新:头部工作室如何使用Perforce Stream实现虚幻升级

龙智—DevSecOps解决方案

虚幻引擎 虚幻引擎5 UE5

Vue.js关于响应式部分的优化

编程江湖

前端开发

技术分享| 如何快速实现音视频在线通话

anyRTC开发者

音视频 语音通话 视频通话 呼叫邀请 离线推送

直播预告丨和我们一起过圣诞吧!Hackathon 创意攻略等你查收

PingCAP

如何摆脱机房教师控制?

喀拉峻

网络安全 安全 信息安全 计算机

推出Amazon Kinesis Data Analytics Studio —— 与流数据快速交互

亚马逊云科技 (Amazon Web Services)

分析

通用数据保护条例的监管下,你的数据湖“断舍离”了吗?

亚马逊云科技 (Amazon Web Services)

分析

借助Amazon EMR与外部KDC进行身份认证,有效集成业务场景

亚马逊云科技 (Amazon Web Services)

分析

面对持续不断生成的流数据—— Amazon Kinesis Data Analytics 实现及时分析与处理

亚马逊云科技 (Amazon Web Services)

分析

在Amazon SageMaker上快速、灵活构建TensorFlow模型的在线推理服务

亚马逊云科技 (Amazon Web Services)

分析

2022 年最有前景的 5 个 Web IDE

开源之巅

开发者工具 WebIDE

2022 用好这 8 个工具,提升前端工程师软技能

开源之巅

Web 前端开发

外贸订单回暖,集装箱持续爆舱,低代码或将成外贸行业新财富密码

优秀

低代码 外贸管理

轻松搭建数据仓库,与FreeWheel一起“玩转”Amazon EMR

亚马逊云科技 (Amazon Web Services)

分析

“你最崇拜的人是谁”,从面试问题看标杆学习法

编程江湖

面试题

模块7作业

panxiaochun

架构实战营

SOA的未解之谜_SOA_Boris Lublinsky_InfoQ精选文章