REST数据服务 完美体现SOA风格

日期: 2007-12-17 作者:Rich Seeley 来源:TechTarget中国 英文

因为REST风格不同于面向对象的编程风格,它是通过统一资源标志符(URIs)对所有事物命名,因此它们可以被检索,而且它们非常适合创制数据服务的应用程序,他说到。他设计了Burton的案例,在此案例中,他将REST的使用作为Webcast的补充。这个分析公司上个星期在Webcast中发表了SOA原则如何应用到数据存取和管理。   Lacey一开始就解释了REST是什么以及REST如何融入到数据服务的世界。

“它是一种风格,”他说到:“它不是一个技术,它的分布式计算环境的风格,作为其关键的抽象概念,促进了资源的发展。于是一个资源就变成了简单的东西,它可以被命名。可……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

因为REST风格不同于面向对象的编程风格,它是通过统一资源标志符(URIs)对所有事物命名,因此它们可以被检索,而且它们非常适合创制数据服务的应用程序,他说到。他设计了Burton的案例,在此案例中,他将REST的使用作为Webcast的补充。这个分析公司上个星期在Webcast中发表了SOA原则如何应用到数据存取和管理。

  Lacey一开始就解释了REST是什么以及REST如何融入到数据服务的世界。“它是一种风格,”他说到:“它不是一个技术,它的分布式计算环境的风格,作为其关键的抽象概念,促进了资源的发展。于是一个资源就变成了简单的东西,它可以被命名。可以被命名意味着它能够通过URI的方式被提供。”

  从业务数据的角度,已经被命名了的资源可以是任何显而易见的事物,比如一个雇员,或者某种股票或者项目文件,他说到。

  “但是它也能够公平地表现一些不明显的事物,比如说今天购买的第三项东西,或者说2007年所有的销售量,或者仅仅第二季度,或者仅仅是昨天,甚至仅仅是昨天3点的等等。”Lacey解释到说。“有一种无限供给的资源定位符,你可以使用资源定位符来命名无数的资源。总之,资源是简单的数据,并且当你谈论数据服务的时候资源变得很有趣。”

  他说原先最早描述REST的文章指出,“一个系统架构的数据元素的性质和状态是REST中一个关键的环节”,不像一个分布式对象系统。

  “换而言之,在REST里面,数据是第一级的公民,”Lacey说到,“不像其他的系统,比如SOAP或者DCOM或者CORBA,重点放在过程上,在REST里面,数据才是焦点。”

  这就是使得REST非常独特地适合于数据服务之处,Burton的顾问说到。

  为ROA做好准备

  虽然用行话来说,承认所有人都“升级到这里”,然而Lacey又提供了了另外一个资源导向型架构(ROA),此资源导向型架构是为数据服务使用REST。

  “如果REST是一种风格,那么以资源为导向的架构就是这种风格的一种实现,就好像如果面向对象编程是一种风格,那么Java就是一种实现一样。”Lacey说到,“资源导向型架构就是是应用到真实世界的REST。”

  在这个世界上,他解释到说,所有的每条信息都拥有自己的URI。HTTP是用来在网络上提供数据和服务的可用性的。资源可以通过统一的接口得到。并且所有对这些资源的操作可以归结为四个非常常见的命令,获得,插入,删除,提交。

  “在一个资源导向型架构中的最后一个关键的组成部分是,一切的资源都应该包含连到其它资源的链接。”Lacey说到,“换句话说,我们提供新的发现。我们创造了一个Web,因此当我得到一个雇员的时候,它应该提供此链接给他的经理人。它应该能够提供链接到他的部门。因此我可以通过我的资源搜索到并且得到我想要的信息。”

  他说到,使用REST作为数据服务的概念目前正在各种平台上审定中,这些平台包括Astoria,微软实验室早期的beta,以及一个开源的叫做SnapLogic的平台。他说到,开发者可以选择使用成熟的开发框架,容易得到的有Restlet——他认为Restlet是继Ruby on Rails之后最为成熟的。对于Python程序员来说有Django以及CherryPy可供选择。

  Beta开发项目也会有帮助,Lacey说到,此项目是IBM公司的Zero项目和微软公司的.NET 3.5,这些项目中都将包括更多的REST。在Java的世界里面,存在JAX-RS,它将为Java提供REST的API,他谈到。

  “所有这些现在都可以使用了,”Lacey说到。“现在成熟的产品已经能够用来方便地构建数据服务了。”

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 内存数据网格提供商一头扎进Java

    10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。