tiger_hsiaoID:tiger_hsiao
[修改头像]
29653次访问,排名3336(1)好友0人,关注者3
tiger_hsiao的文章
原创 12 篇
翻译 0 篇
转载 0 篇
评论 36 篇
劳虎的公告
萧百龄 (笔名:劳虎)--曾担任独立技术咨询顾问,并曾服务于专注于XML数据库及XML相关领域的德商Software AG公司,担任解决方案研发经理。目前就职于SOA软件的领导厂家- BEA Systems大中国区,担任首席SOA顾问(之前为 BEA 台湾分公司技术总监)。 过去任务涉及Unix/Linux系统及网站管理、HTML、Perl、面向对象分析及设计、Java、中间件(包括应用服务器、Portal、应用与数据集成)、XML、Web services等不同的科技领域。在W3C推广XML技术的初期,1999年著作《无废话XML》。
最近评论
debugself:正持续关注中
dgdlxh:???
广泛大使馆:dfasdfasdf
gunsand:SOA网上查了一些。也不知道是太深还是咋回事。感觉虚头八脑的。。。。
Tiger:mdot: 你的问题根源在于范畴和粒度,还有可能将 SCA 过分理想化 -- 你所描述的跨公司、跨系统 runtime 场景,按照 SCA 规范的设计,会各自隶属于不同的SCA domain、各有各的 SCA runtime (套用你的例子,一个会是基于 PHP 实现,而另一个基于 Java),很可能由不同的厂商来提供,实现方式,和对远程调用绑定协议种类的支持,自然会有很大的差异。因此当调用……
文章分类
    收藏
      相册
      我的相册
      特别推荐
      欢迎加入 SOA 专家群
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 担心未来的 REST 怪物正在形成

      新一篇: 请 WOA 到一旁“休息”去

      REST 的最大价值,在于它的简约;只要遵循上回帖子中提到的几个基本原则,便可直接充分利用 HTTP 和 Web 服务器先天具备的架构优势,包括 GET 的请求会被 Web 服务器有效地缓存,和因不需要维系各别的会话状态,而达到非常高的伸缩性。Google 和 Amazon 等所提供的 Web services,是最好的明证。这是 REST 的拥护者津津乐道的论点。

      但如果照目前的气氛继续发展下去,过分炒作“REST 是比 SOAP 更适合于 SOA 的技术实现手段”、“SOA 未来的希望在 REST”这类危险的观念(上回谈的主题),其最终的结果,可能是既伤害了 REST,又对 SOA 没好处的双输局面。

      此话怎讲?

      目前一般认定的(企业级) SOA 服务,必须具备让有兴趣想调用该服务的消费者,自动发掘确切的服务端点、接口、和 XML 的 schema 结构的能力。在经常被引述、由Thomas Erl 所列的 SOA 八大原则中,便包括了 Discoverability 这条。此外,InfoQ 的 SOA 十大原?中的第三和第七个原则,也都与此相关(附带一提,关于这个“十大原则”,我认为它愈到后面,愈有画蛇添足的感觉,尤其是最后三条)。

      不同于 SOAP,RESTful 形式的 Web services 是没有信封机制,只有赤裸裸的 payload,而 payload 的内容,往往是 POX (Plain-Old XML),当然也有人使用 JavaScript 对象表述 JSON。仅单就 XML而言,如果光是一个 instance,是无法确定其确切的 schema 结构到底是什么样子的。RESTful 的 Web services 先天上既缺乏像 SOAP 那样的一套信封 header 机制,可以用来注明相关的元数据,如 XML schema,又不像 SOAP 还有一个WSDL 搭档,来描述各种和服务相关的元数据,因此无法满足上述的 discoverability 原则(有些嘴硬的 REST 拥护者说可以通过 MIME type 来表述服务的元数据,但此说实在过于牵强)。当然,只要服务供应者通过网站发布清楚的服务 API 描述,通过事先的设置,RESTful 的 Web services 同样可以圆满达成任务,这样的例子在Web 2.0 的世界太多了,只是说,这样的服务,缺乏一套让消费者自动探索的机制,藉此利用自动化的工具,方便服务的组装和开发。

      不意外地,随着 REST 的发烧,愈来愈多人探讨 REST 是否也像 SOAP 一样,需要描述语的问题(例如这里这里)。WADL 正是为满足 discoverability 需求下的产物。Sun 更已经把它纳入新的 JAX-RS 的一部分(关于 WADL,这儿有篇不错的简介)。有人批评 JAX-RS,指出它是想像 JAX-WS 之于 SOAP 那样,把根源于 CORBA IDL 和 Java interface那套面向对象的编程机制和架构,硬套到 REST 上。但如上次帖子里谈到的,REST 的应用设计理念和这样的作法,将格格不入。换句话说,它将不当地鼓励开发人员把 REST 当作“只不过是另一种 SOAP”来看待,而完全忽视 REST 的设计理念。REST 原始的精神和价值,将因而荡然无存。

      除了 WADL 之外,如果 RESTful服务需要注明各种需要强制的服务战略 (policy),像服务水平、安全(身分认证、加密、签名...),另外像可靠性、交易等属性,是不是也需要有一个像 header 的地方,来放这些属性?按照这个趋势继续发展下去,有什么可以阻挡支持 REST 的大厂们,把它变成另一个 SOAP的?

      还记得 SOAP 的诞生,最早可追溯到 Dave Winer 和 Don Box 等最早发展 XML-RPC 的那段历史吗(可参考 Wikipedia 的记载)?自从 SOAP 的发展从 RPC 导向转成文件导向,复杂度升高后,XML-RPC 的创始人 Dave Winer 因种种因素,遂转而去发展 RSS。我还记得约九年、十年前,RSS 还在 1.0 版本时,一般认定 RSS 的全名为 "Rich Site Summary" 或 "RDF Site Summary"。但自 Winer 氏积极参与 RSS 2.0 的制定后,开始将 "RSS" 用来代表 "Really Simple Syndication"。从他对 "RSS" 三个字母所代表的意涵诠释上,便明确显示出其对“简约”的强调。

      随着将 REST 用于企业级 SOA 应用的声浪,REST 看来将承受愈来愈重的包袱,WADL 规范的推出,只不过是冰山的一角。我们必须好好问问,让 REST 重演当初从 XML-RPC 一路到 SOAP 1.2 的复杂化历史,是否具备充分的正面意义? 

      发表于 @ 2007年08月28日 14:11:00|评论(loading...)|编辑

      旧一篇: 比较 传统 IT 和 Enterprise 2.0 应用特性

      评论

      #mozilla 发表于2007-09-13 21:20:15  IP: 125.98.185.*
      劳虎兄,我这两天在研究OpenID及其使用的Yadis协议。Yadis协议在我看来是一种很好的服务发现协议,而且它本身就是REST风格的。
      OpenID就是使用Yadis来发现服务提供者,OpenID+Yadis为REST风格的Web服务发现提供了一个非常好的实例。

      非常感兴趣就这个话题和您做深入的探讨。
      #mozilla 发表于2007-09-13 21:21:48  IP: 125.98.185.*
      Yadis 1.0规范在:
      http://yadis.org/papers/yadis-v1.0.pdf
      #劳虎 发表于2007-09-17 15:30:11  IP: 203.222.183.*
      mozilla 大侠:就纯学术探讨的立场,这些的确都是很好的规范。但我更担心的是,目前在这个所谓的 Identity 2.0 领域里,最大的问题不是缺乏好规范/机制,而是太多了,尚未统合 -- 好几个团体都在里面较劲,既有开源的,又有大猩猩级的厂商 -- 包括您提到的 OpenID,Yadis,另外还有 Sxip(读音同 skip),微软的 CardSpace(旧名 Infocard,已进 Vista),还有 IBM/Novell 的 Higgins。我听过的几个美国专家的播客,不少人认为 InfoCard/CardSpace 胜过 OpenID(我个人则了解有限,不敢妄言)
      #hiyu2218 发表于2007-12-20 10:41:33  IP: 218.80.239.*
      向前辈学习。
      #debugself 发表于2008-04-25 10:53:13  IP: 219.137.11.*
      正持续关注中
      发表评论  


      登录
      Csdn Blog version 3.1a
      Copyright © 劳虎