WOA 与 SOA 之争

阅读数:200 2008 年 9 月 25 日

话题:SOAREST架构

Gartner副总裁 Nick Gall 是首个使用 WOA 一词的人,在一次访谈中,Loraine Lawson 请他向商业和 IT 主管们谈谈 WOA 与 SOA 之争的重点内容。

当被问及 WOA 一词的由来时,Nick Gall 说

我所能找到最早的记录是在 2005 年的秋天,当时我是在一个大会上发言时用到这个词的,然后我们公司的另一位副总裁 Whit Andrew在他的博客里记录下了我用到这个词这件事。

他说,REST 风格是跟 WOA 最为接近的架构风格,但“REST 引起了太多的争议,而且关于 REST 的实际含义存在着诸多误解”,于是他就发明了一个新术语。他说道:

在我看来,WOA 意味着一种更加以 Web 为中心的 Web 服务风格,它更简单、不怎么复杂、也不怎么受厂商驱使,它代表的就是这种新出现的风格。

接着,他用公式简洁地描述了这个架构风格“WOA = SOA + REST + WWW”。他通过为 SOA 添加架构约束的方式描述了 WOA。

WOA 是总的 SOA 风格中的一种子风格。对于那些希望符合 WOA 的 Web 服务而言,它们应力求遵守 REST 的所有约束。不过也不必 100% 符合 REST 风格。

SOA 这种架构风格本质上有五点约束。如果你的架构满足所有这些特征——模块化的、可分布的、可描述的、可共享的和松耦合的——那么你的架构就可以称得上面向服务的架构(SOA)。

WOA 更进一步,它还要求遵守 REST 约束,而且 REST 约束与 SOA 约束是完全相容的。其实,REST 的每一条约束都是教你如何满足 SOA 的五大约束。

他说,现在企业里有很多采用 WS-*、SOAP 和 WSDL 等相关技术的 SOA 项目。“它不够完美,但你可以描述它。然而它没有统一的名称”。他称这种风格的 SOA 为“X 风格”。他描述道,

SOA 是五大约束的概括性术语。 目前,他有两种主要的子风格。 一种是 X 风格(即目前还没有名称),它是一种类似分布式对象和 IDL 的风格。 SOA 的另一种主要风格便是 WOA 风格。 在所有实现 SOA 的途径之中,WOA 已经展现出了高度的可共享性与松耦合性。另外,它们的确是两种相互竞争的风格。我们可以对 WOA 风格的 SOA 和 X 风格的 SOA 做一个优缺点的对比。

他说,Gartner 目前正在研究这两种风格的优点与缺点。当被问及 CIO 们该如何判断是关注 SOA 还是 WOA、以及应如何理解所有这些争论时,Nick Gall 建议,

把注意力集中在两条关键准则上:共享和松耦合。若回顾过去,未能看到很大程度的共享,那我认为项目是失败的。而且我还要确保业务流程具有相当的敏捷性。

在访谈结束时,他向 CXO 们提出告诫。他说,

如果他们只是关注于技术层面,那他们将一无所获。真正应该关注的是实现共享和敏捷性所需的架构以及弥补缺陷的不同方式。

一定要看看完整的访谈。你们企业里采用的是哪种 SOA?欢迎告诉我们。 查看英文原文:WOA vs SOA Debate