您好,欢迎您来到DOIT! [ 登录 ] [ 免费注册 ]
您的位置:DOIT云计算> 风:云趋势 > 分析评论 > 正文

使用Odata API连接云计算数据源

CIO时代 12年09月04日 00:27 【转载】 作者:CIO时代 责任编辑:张文希

导读:半结构化数据集成是新兴Web 2.0 API集合所面临的主要挑战之一。无论数据是源自于一个客户的应用程序或者是企业网络服务,寻找其最常见的数据共同特性是十分必要的。

关键词: 云计算 Odata API

半结构化数据集成是新兴Web 2.0 API集合所面临的主要挑战之一。无论数据是源自于一个客户的应用程序或者是企业网络服务,寻找其最常见的数据共同特性是十分必要的,从而确保本地运行的服务或云计算服务能够互相了解。

RESTful开放式数据协议--即为更多人所知的OData API –有可能实现基于云计算企业软件即服务产品和平台即服务项目的互相联系,从而成就其“大数据”服务,如整个Netflix的电影目录以及Windows Azure市场的DataMaret.

结构化数据源--例如关系型数据库、电子表格以及包含逗号分隔符的数值文件--主要依赖于无所不在的开放式数据库连接(ODBC)的数据访问API,这一API集合是由微软公司继承SQLAccess集团公司的调用级接口(CLI)并于1992年发布的。Sun Microsystems公司于1997年发布了Java数据库连接(JDBC) v1版API,并在之后将其添加至Java标准版产品中。一个JDBC-ODBC的接口可确保JDBC能够访问ODBC类数据库。ODBC和JDBC API可以处理SQL对表格式数据的 SELECT查询,以及INSERT、UPDATE和DELETE等操作,并可执行已被存储的批处理操作。微软公司的OLE数据库和ActiveX数据对象(ADO)于1996年底开始作为微软数据访问组件(MDAC)的一部分补充ODBC.但是ODBC和JDBC仍然还是客户端/服务器环境下的结构化数据连接混合语言。

随着大量基于网络HTML和XHTML文件半结构化数据的广泛应用,业内对于网络友好、能够访问ODBC/JDBC云计算兼容的数据访问API的需求也甚嚣尘上。Dave Weiner2002年发布了Really Simple Syndication (RSS) 2.0 API,该API是他从Netscape公司的RDF Site Summary和Rich Site Summary API中派生出来的。Wikipedia将RSS描述为一个用于经常性更新发布工作(例如博客、新闻头条、音频和视频)的消息源的标准化格式。

1993年,Sam Ruby设立了一个讨论RSS改良的Wiki,吸引了大量的网络应用程序开发人员和内容供应商。Wiki的成员于2003年发布了Atom v0.2和v0.3;而Google公司将Atom作为其Blogger、Google News和Gmail的统一格式。2004年,互联网工程任务组(IETF)成立了由Tim Bray和Paul Hoffman主导的AtomPub工作组,用以实现Atom格式的标准化。2005年底,IETF为Atom 统一格式v1.0发布了一个IETF REC 4287的建议标准,并于2007年10月为Atom发布协议(AtomPub)发布了一个RFC 5023的建议标准。Google公司的GData格式就是基于Atom和AtomPub v1.0的。

在2007年四月拉斯维加斯召开的MIX07大会的“在云计算中访问数据服务”专题会议上,微软公司数据架构师Pablo Castro提出了一个代号为“Astoria”基于AtomPub的网络数据访问扩展。这些服务的设计目的是:

? Web友好,并不仅仅是普通的HTTP

? 针对不同模式的统一模式

? 关注数据,而非其格式

? 保持高层次,存储抽象化

Astoria的主要功能之一就是能够通过统一的资源标识符访问任何的数据元素(被称为实体)以及通过在相关图形中导航访问相关实体。微软公司的实体数据模型v1定义了可用实体,其中包括数据类型及其其他相关信息。Astoria团队还指定了URI兼容的查询选项,以实现筛选、排序、分页和导航等功能。

最初,Astoria曾支持纯XML(POX)、RDF+XML以及JavaScript Object Notation (JSON)格式。之后,在2008年二月Astoria团队开始考虑使用AtomPub和Web3S来代替POX和RDF+XML,设定AtomPub作为默认选项,JSON作为AJAX应用程序的替代格式。2008年五月微软公司推出Astoria作为ADO.NET Data Services Framework Beta 1,它与ADO.NET Entity Framework Beta 1一起作为。NET 3.5 Beta 1和Visual Studio 2008 SP1的组件。在2009年十一月召开的微软专业开发人员大会2009上,Astoria的名称也从ADO.NET Data Services改为Windows Communication Foundation (WCF) Data Services.而在2010年年初,微软公司又将ADO.NET Data Services的格式更名为OData.

那么到底何为OData?

开放式数据协议是一个基于REST用于对配置为“数据服务”的网络可访问资源集合执行创建、读取、更新和删除(CRUD)等操作的协议。微软公司于2010年三月建立了OData.org网站并于次年五月发布了当前的[MS-ODATA]:开放式数据协议(0Data)规格发布于2011年5月。

根据0Data常见问题中的说法,“0Data可能会在未来某个时候根据来自于社区的反馈而提交给一个标准组织。在此期间,开放式数据协议规格符合微软公司的开发规范承诺(OSP),它允许包括开源项目在内的第三方在任何运行时和客户使用服务时建立数据服务。”

最流行的浏览器可直接显示0Data源。如图1所示,一个SDK采样只读Northwind服务的订单明细表的URI返回第一Order_Details项的AtomPub代表。

\

图1. IE 9显示了Northwind采样数据库中50个订单明细记录的第一个0Data源。

由图1可见,0Data是一个开销大量XML资源的冗长协议。第一批50个订单明细记录的条目长度为65,536字节。在$format=json的附加查询选项下,SDK采样只读Northwind服务供应商订单明细表的URI返回的第一个Order_Details项的JSON表示如下:

{ “d” :{ “results”:[ { “__metadata”:{ “uri”:“https://odata.sqlazurelabs.com/OData.svc/v0.1/jc650b4zaf/Northwind/Order_Details(OrderID=10248,ProductID=11)”, “type”:“Northwind.Order_Details” }, “Discount”:0, “OrderID”:10248, “ProductID”:11, “Quantity”:12, “UnitPrice”:“14.0000”, “Order”:{ “__deferred”:{ “uri”:“https://odata.sqlazurelabs.com/OData.svc/v0.1/jc650b4zaf/Northwind/Order_Details(OrderID=10248,ProductID=11)/Order” } }, “Product”:{ “__deferred”:{ “uri”:“https://odata.sqlazurelabs.com/OData.svc/v0.1/jc650b4zaf/Northwind/Order_Details(OrderID=10248,ProductID=11)/Product” } } }, …

  • 人人网
  • 转播到腾讯微博腾讯微博
  • 新浪微博
热点文章排行
  • 微软重拳推出Office 365  微软重拳推出Office 365 2011年07月08日 经过大半年的准备,微软终于在今年6月份隆重推出了云计算办公套件Office 365。那么,Office 365作为微软集成了电子邮件、协作软件、字处理软件、电子表格和演示程序的办公套件重要产品之一,Office 365对微软来说到底是福是祸,能否为微软带来实质性的营收,能否让微软在新兴的云计算领域赢得一席之地?
  • 云计算和算计云 云计算和算计云 2011年06月22日 DOIT特别专题从云的历史进程到目前实施云的厂商,逐一谈起,让读者耳目一新的了解到现在云的现状以及如何不被云所算计。
  • 云端争夺战——IT厂商的盛宴 云端争夺战——IT厂商的盛宴 2010年07月27日 云计算到底是如何发迹的似乎已经不再重要了,重要的是它确实炙手可热。