InfoQ 中文站 SOA 社区 2007 年度十大新闻

  • 胡键

2007 年 12 月 29 日

话题:SOAInfoQDevOps语言 & 开发架构文化 & 方法

随着社区对 SOA 经验的积累,人们对于它的态度也越来越务实。在 2007 年,SOA 不乏一些亮点。例如,SCA 因最终成为 OASIS 的标准而变得更加开放,又有几个 WS 相关的协议被关闭了,新工具也在一如既往地推出等等。但是,最应该关注的恐怕还是一些观念和思想上的变化。因为,工具最终还是为人所用,而不应是人被工具束缚。这也是本次选择新闻的原则,即思想第一,工具技术第二。

1.  SOA != Web 服务

许多人认为 SOA 和 Web 服务是一码事——但它们不是。在最近的一篇文章中,Zapthink 的分析师试图为此查找原因,并声称到了更清楚地区分这些术语的时候了。

点评:认为 SOA = Web 服务的人不在少数,虽然 Web 服务应用广泛,但它终究只是 SOA 的一个实现技术

2.  如何决定服务的粒度?

最近来自 Zapthink 的一份报告讨论了服务的粒度,以及服务的规模或者复合程度如何影响其设计。他们给出了一份表格,列出了在开发服务的时候可能需要作出的权衡。

点评:粒度的划分已是软件设计中的老问题,划分合适的粒度并不容易,也没有公式可直接照搬。看看专业咨询公司的建议,也不失为一种好的参考。

3.  李锟谈 Fielding 博士 REST 论文中文版发布

日前,Roy Thomas Fielding 博士关于 REST 的论文中文版已正式对外发布。在这个 2000 年所著的论文中首次系统阐述了 REST 的架构风格和设计思想,对理解 Web 架构和 HTTP、URI 等标准背后的原理非常有帮助。InfoQ 中文站编辑霍泰稳就此采访了主导此次公益性翻译的 Ajaxcn.org 网站站长李锟。

点评:在长时间容忍复杂的 WS-* 之后,REST 成了人们的新宠。饮水不忘挖井人,看看这篇论文,或许会对你进一步理解 REST 有帮助,尤其是它还有中文版。

4.争论:REST 需要描述语言吗?

追踪上周在此讨论的关于 REST vs. WS-* 的争论,值得注意的是,以 REST 化服务契约为主题的争论在最近几天甚嚣尘上。

点评:REST 本来就因其简单而吸引使用者,但是随着使用者的日益壮大,各类需求也纷纷涌出。是保持其纯洁性,还是根据用户的需求进化?给 REST 增加描述语言不再仅仅是给 REST 增加一个特性这么简单。

5.  ESB 这个词到底是什么意思?

微软 Connected Systems 部门的程序经理 Nick Allen 在他的博客中收集了对 ESB 的几种定义,并澄清了微软在这个问题上的立场。

点评:ESB 到底是什么?是模式,是产品?各说纷纭,看看微软是怎么说的。

6.  开源是 SOA 的未来之路吗?

Dana Gardner 引用了最近发布的一些报告,为开源和 SOA 之间的相互促进提供了进一步的佐证。开源的道路会让 SOA 更容易被人接受吗?

点评:开源运动已经深入人心,也成了快速获取用户的途径。为了吸引更多的人们参与 SOA,开源也成了一种很自然的选择。

7.  让敏捷方法和企业架构和谐共舞

一份来自 Cutter Consortium 的报告向我们提出了这样一个问题:“敏捷方法和企业架构兼容吗?”并且也给出了这样一个答案:“是的,但需要付出努力”。该报告的作者推荐运用特殊技巧以允许敏捷方法和企业架构互相受益。此外,他们的观察结果、分析和建议也直接适用于敏捷方法和“面向服务的架构 SOA”之间的结合。

点评:在尝过敏捷方法甜头之后,人们开始热切地寻找敏捷在其它方面的应用之道。这次,他们将目光盯向了 EA。

8.  面向服务用户界面的出现昭示服务器支持的 MVC 死亡来临?

Nolan Wright 认为服务器支持的 MVC 实现已是过往之物,而服务、Ajax 和 DHTML 则必将大幅简化我们构建 Web 应用的复杂度。

点评:MVC 过时了?类似的话已经听过多次,看看这一次又有什么新鲜的内容。

9.  Oslo:微软将组合应用带入主流

10 月 30 日早上,微软公开了简化 SOA 的愿景与路线图,桥接软件 + 服务并将组合应用带入主流。该成就的代码名称是“Oslo”。

点评:从 ActiveX 到.NET,MS 在创建新名词方面的速度总是大于确切解释它的速度。Oslo,就是微软制造的又一新名词。

10.  SOA 重在技术还是业务?

Nick Gall 认为脱离技术去讨论 SOA 是有问题的。他这是看了 Andrew McAfee 的一篇批评“无关技术论”的贴子之后有感而发。当然技术是重要的,但从另一方面来说……业务需要不是更重要吗?

点评:技术、业务孰重孰轻,应该很容易分辨吧?应该注意的是,两者不是绝对割裂的。没有业务,技术失去了其存在的价值;没有技术,业务就没有落地的基础。

SOAInfoQDevOps语言 & 开发架构文化 & 方法