InfoQ

技术访谈

Dan Diephouse谈Atom、AtomPub、REST和Web服务

受访人 Dan Diephouse 采访人 Stefan Tilkov,翻译:黄璜 发布于 2008年5月29日 上午1时19分

社区
SOA
主题
Web服务,
Web框架,
REST
标签
Atom,
Apache CXF,
Web服务
概要
这是来自旧金山Qcon的采访,Stefan Tilkov请著名的Web服务专家和开源开发者Dan Diephouse谈了在商业应用中使用Atom发布协议以及Atom标准的好处,应用REST风格的优势和劣势,以及Apache CXF Web服务栈将会带来的一些新特性。

个人简介
Dan Diephouse是一名企业架构师和开源开发者。他是XFire,即现在的Apache孵化项目CXF(又称作:XFire 2.0)的创始人。同时,也是其它一些开源项目的提交者,包括Apache Abdera、XmlSchema和Jettison。现任职于MuleSource,专注于构建并帮助他人构建开源Web服务/SOA解决方案。
我是Stefan Tilkov。我在旧金山参加Qcon,现在我要采访的是Dan Diephouse。Dan,很高兴请到您,您能给我们简单介绍一下您自己和您的工作吗?
从CXF开始,您现在在Web服务领域有什么进展呢,来自WS-*世界的一些有趣刺激的新东西会不会对您有所帮助呢?
您提到您现在从事Atom开发并且是Abdera项目的提交者。您能跟大家简单介绍一下背景吗?给那些不知道AtomPub的观众说明下Abdera是什么,有什么更多消息分享给大家?
Atom发布协议又如何跟这些结合起来呢?
Atom发布协议给普通REST带来了哪些附加价值?因为这听起来好像是一个Restful标准协议的完美描述。
那么它是对WS-*的增强吗?您对设计应用有什么建议呢?您是用Atom、Web服务,还是两者都用呢?
哪些东西是Atom联合、Atom发布协议或restful HTTP普遍缺失而WS-*规范独有的呢?
您还能想到其它的限制吗?
那么,哪些例子适合用AtomPub呢,有什么好的用例跟大家分享呢?
您提到了GData,能给我们简单介绍一下它的背景吗?
有什么开源形式的Atom软件吗?它的意义何在?
我们已经谈到很多关于Atom的话题了。总的来讲您对REST vs WS-*的争论是怎么看的?您知道我不得不见人就问这个问题。
您认为现在对REST的工具支持达到了怎样一个水平,足够了吗,您现在还需要更多吗?
show all  show all

深度内容

模块化Java:声明式模块化

本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

Ian Robinson和Jim Webber谈论基于Web的整合

本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。

项目管理修炼之道(精选版)

项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。

那是鸟,还是飞机?不,那是超人!

在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。

访谈和书摘:Eben Hewitt的新书《Java SOA Cookbook》

Java SOA Cookbook

Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。

Mark Richard的《Java消息服务》第二版

Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。

模块化Java:动态模块化

本文是“模块化Java”系列文章的第三篇,讨论动态模块化,内容涉及如何解析bundle类、bundle如何变化、以及bundle之间如何通信。

让测试也敏捷起来

对于测试组织来说,敏捷方法带来的快速迭代却让测试本身变得困难起来:缺乏“足够详细的文档”,缺乏“仔细设计用例的时间”等等。在本演讲中,段念将与大家探讨如何在敏捷过程中进行测试。