David Nuescheler谈JCR和REST
在这篇访谈中,Day公司CTO和JCR规范组长David Nuescheler讨论了JCR(Java内容仓库标准)的优点、JCR与诸如Atom/Atom发布协议这种API之间的区别、JCR与REST的联系,以及一个新的Web框架——Apache Sling。
作者 霍泰稳 发布于 2008年5月20日 上午2时17分
借助平台,软件开发人员和用户都能从中受益。Google围绕iGoogle的个性化主页服务推出了自己的平台,并鼓励开发者为iGoogle开发各类的自制软件。而Facebook在开发其API后,其平台的应用程序数量迅速增长。Apple的iPhone可能还算不上真正意义上的平台,但是现在它也在计划或者说正在向第三方软件开发者开放应用接口,以方便他们开发出相应的网络应用软件。中国雅虎显然也意识到平台的重要性,并已经有所行动。日前,InfoQ中文站的编辑霍泰稳采访了中国雅虎的首席架构师曾宏威,就开放平台方面的各种问题和他进行了交流。
InfoQ中文站:开放平台的好处在哪里?中国雅虎提供了哪些开放的接口,主要用来做哪些应用?
曾宏威:对开发者而言,(互联网)开放平台为开发者提供了一个应用运行的环境,就如同今天PC的操作系统为桌面应用程序提供的运行环境那样。中国雅虎的NCP就是这样一个Web应用的开放平台。NCP为应用提供了基础的运行环境,如用户管理、权限管理、会话管理、容器页面(也有人称之为画布,Canvas),很快也将提供应用前端代码的宿主服务器。在NCP上开发Web应用,开发者不必像从前那样需要建立独立的网站和完整的网页,他们只需要开发一些窗件(Widget),就可以跑起来。这些窗件甚至可以仅仅由HTML/CSS/Javascript这些“前端”代码组成,也就是说,开发者自己连服务器都不再需要了。这样,开发者不仅节省了成本,还可以将主要精力放在应用关键功能的开发上。NCP建立在中国雅虎的资源及技术优势之上,中国雅虎庞大的用户群、可观的流量、强大的计算资源都会以API的形式开放给应用。
NCP是一个通用的Web应用平台,我们不会规定应用的类型,我们的任务只是尽量把平台做好,为开发者提供一个展现智慧和创造力的空间。不管是娱乐、工具还是商务,只要是合法的、满足互联网用户需求的应用,就是有价值的,就会有她的市场;而用户会来决定应用的好坏。
InfoQ中文站:相对于其他的开发平台如Google的OpenSocial,中国雅虎有什么技术优势,会和他们有合作吗?
曾宏威:OpenSocial是一个面向社交网络(Social Network)的API规范,其整个概念的核心是“人”和“关系”。NCP是一个通用的平台,我们正在整合中国雅虎的资源,使NCP的应用可以运行在越来越多的产品中,而不仅仅是社区(社交)产品中。社交网站的特点决定了其应用大都是给单个用户自己使用的,再通过关系网络(Social Graph)和事件(Activities)传播给自己的朋友。而NCP应用可以是大家“一起用”,例如在站长天下中,站长添加了某个应用之后,访问本站的所有用户都可以使用该应用。
阿里巴巴现在在努力建设电子商务生态圈,而NCP将来会支持越来越多的商务和服务特性。当然,中国雅虎也有自己的社交网络产品,我们将来也可能在NCP中加入对OpenSocial的支持。
InfoQ中文站:中国雅虎提供的开放平台API如何与其他网站的API互操作?每个平台都有自己的标准,会不会有壁垒?
曾宏威:开放的精神从互联网诞生以来就一直伴随着她的每一步发展;今天互联网的蓬勃发展也正是得益于此。今天互联网开放平台仍然处于起步阶段,出现不同的标准也是正常的和有益的。我相信通过互联网社区的努力和市场的选择,开放平台必然逐渐走向互操作和统一标准。我也非常高兴地看到OpenID、oAuth等这样开放标准的出现,并且在被越来越多的网站所支持。中国雅虎正在计划对这些开放标准进行支持,并且愿意通过与其他开放平台的合作,为互联网提供一个更加开放的生态圈。
做为一个例子,大家不久将会看到,NCP将会支持UWA窗件。
InfoQ中文站:对于客户而言,如果要基于中国雅虎的开发平台做应用,需要做哪些准备?有什么难点?中国雅虎会提供什么帮助?
曾宏威:开发基于NCP的应用非常简单,只要了解简单的HTML几分钟就可以完成一个“Hello World”的开发。当然,要开发复杂些的应用,还要具备HTTP协议的一些知识。目前NCP应用的代码,需要运行在开发者自己的Web服务器上,而不久的将来我们会为开发者提供前端代码的宿主服务器。
中国雅虎提供了开发者网络,对NCP开发者提供支持。开发者可以随时到中国雅虎开发者网络http://dev.cn.yahoo.com网站查阅相关的文档。同时,在群组中会有我们的工程师为开发者解答开发中遇到的问题。另外,开发者也可以通过邮件联系我们:ncp-dev-support@ilist.cn.yahoo.com。
InfoQ中文站:我们知道淘宝网也在做自己的开放平台,这个和中国雅虎的开放平台有什么交集?
曾宏威:淘宝即将推出Open API,广大开发者届时将有机会为淘宝用户提很多供增值应用。而NCP可以为这些应用提供一个很好的运行环境和平台。从另外一个角度说,NCP开发者在自己的应用里面,可以自由地调用任何第三方的API,当然也包括淘宝的Open API,为应用增加电子商务功能。
InfoQ中文站:中国雅虎开放平台的短期、长期目标是什么?
曾宏威:这段时间我们的重点是让NCP更加方便、易用。我们的长期目标是整合阿里巴巴集团的优势,和兄弟公司以及开发者一起打造一个中国电子商务的应用平台,和开发者共赢。
在这篇访谈中,Day公司CTO和JCR规范组长David Nuescheler讨论了JCR(Java内容仓库标准)的优点、JCR与诸如Atom/Atom发布协议这种API之间的区别、JCR与REST的联系,以及一个新的Web框架——Apache Sling。
客户/服务器通信是当今RIA构架的核心。James Ward和Shashank Tiwari在本文中就深入探讨了Adobe的开源BlazeDS消息服务器。
支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。
作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。
Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。
在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。
准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。
5 条回复
回复