写点什么

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:361960
用户头像

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

关注

评论

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

etl 增量对比解决方案 etl-engine 如何实现增量对比抽取

weigeonlyyou

大数据 hadoop 数据库迁移 云数据迁移 Kafka ETL

软件测试/测试开发丨跨平台API对接(Python)的使用

测试人

软件测试 jenkins 自动化测试 测试开发

Spring生态简介

Java你猿哥

Java spring Spring Boot 后端 ssm

Python十大实用技巧【附源码】

我爱娃哈哈😍

Python 开发技巧

xx产品介绍

andy

ChunJun 顺利晋级“2022 年中国开源创新大赛”决赛,并荣获“优秀开源项目/社区”奖项

袋鼠云数栈

开源

图数据库中的“分布式”和“数据切分”(切图)

NebulaGraph

数据库 分布式 图数据库

软件测试/测试开发丨数据持久化技术(Python)的使用

测试人

软件测试 自动化测试 测试开发

2021年第十一届数据技术嘉年华(DTC)资料分享

墨天轮

数据库 GaussDB TiDB 国产数据库 南大通用

阿里三面46题:java高级+数据库+网络+架构设计!含答案大赠送!

Java你猿哥

Java 阿里巴巴 后端 面经 春招

在线教育≠在线观看:风变科技应用无影打造自动化实训教学模式

云布道师

无影

如何分析网站监控中的数据报表,都有哪些关键信息?

云智慧AIOps社区

监控 监控宝 云智慧 监控安全 网站监控

唯一入选的制品库!嘉为蓝鲸CPack制品管理平台成功入选!

嘉为蓝鲸

IT

如何通过C#/VB.NET从PowerPoint文档中提取图片

在下毛毛雨

C# .net PowerPoint 提取图像

分布式数据库架构路线大揭秘

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

介绍3种ssh远程连接的方式

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 3 月 PK 榜

先巩固下 Java 线程这些基础操作,再开始多线程编程也不迟

Java你猿哥

Java 多线程 开发

人工智能深入油气领域 百度智能云与石化盈科共建合同智能化应用平台

百度开发者中心

人工智能

12家辽宁AI领先企业加入昇腾万里伙伴计划

科技热闻

信通院MLOps旗舰级评测,业内首批通过!

百度开发者中心

人工智能 深度学习‘’ 文心一言

LP流动性质押挖矿dapp系统开发分红模式定制

开发v-hkkf5566

加速国产化真替真用,京东云打造“多云多芯多活””数字基础设施

京东科技开发者

国产化 数字化建设 数字基础设施 国产化替代 京东云峰会

共36万字!为上岸Alibaba,我把Github上Java面试题都整理了一遍

Java你猿哥

Java Spring Boot ssm 面经 春招

与高校开发者面对面,昇腾AI开发者创享日首次走进沈阳高校

科技热闻

NFT游戏藏品开发DApp系统搭建

薇電13242772558

NFT

对象存储BOS: 通过安卓SDK使用HTTPDNS服务

百度开发者中心

对象存储

触达率提升 20%,融云推送优化实践

融云 RongCloud

产品 实践 融云

得物榜单|全链路生产迁移及B/C端数据存储隔离

得物技术

运维 生产

软件测试|教你如何用Python获取昨天今天明天的日期

霍格沃兹测试开发学社

【中远海运特运】WeOps产品为业务系统安全稳定保驾护航!

嘉为蓝鲸

【广州银行信用卡中心】5分钟实现一键发布!

嘉为蓝鲸

IT

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