BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

微软发布OData SDK和“Dallas” CTP2

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2010年3月29日. 估计阅读时间: 5 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

微软发布了用于.NET、Java、PHP、Objective-C(用于iPhone和Mac)和JavaScript的OData SDK,协助开发人员创建相应的客户端来使用基于OData的信息;也发布了“Dallas”的CTP 2,一个用于销售和购买某些数据的网络商店。

OData是一个基于AtomPub的协议,用来在Web上进行数据分享,而访问方式是数据消费者向数据提供者发送类似REST的请求——这就是所谓的OData服务点。OData添加了如下特性到AtomPub中

  • 用于表示结构化数据的协定
  • 资源地址结构和URL语法
  • 一组通用的查询选项(过滤、排序等等)
  • 用于描述资源、链接和元数据结构的Schema
  • 用于批处理和“工作单元”请求的负载格式和语义
  • 替代的资源内容表示方式(JSON)

一个数据请求可能包含如下组成部分:

odata1

对于如下服务点的查询会是:

 

image

使用REST协定,每个资源都标记为一个URI,不过数据请求可能包含一些查询选项,例如用于数据过滤的查询选项,这让服务器执行应该在客户端完成的某些工作:

image

OData开发者页面包含了创建和使用OData服务的详细信息,也会看到由Netflix实现的示例服务。

而前几天,微软宣布OData SDK——用于创建OData客户端的一些开发工具——其基于Apache许可协议,包含如下内容:

  • 示例OData在线服务(Northwind等等)——打开浏览器就可以尝试OData服务
  • OData客户端函数库
    • Windows Phone 7 series
    • iPhone
    • AJAX\Javascript
    • PHP
    • Java
    • .NET
    • Silverlight
  • 在线OData浏览器(源代码可以从odata.org下载)
  • Data Service提供程序工具包:包含了白皮书,用来演示如何基于“任何”数据源创建数据服务的WCF Data Services提供程序实现示例
  • OData验证工具:一个测试包和一些示例,让你轻松验证OData服务点是否正确。这个测试包被设计成可轻易进行扩展,以便任何都能很容易地添加新的测试。

实际上,如下语言和平台都可以用来创建OData客户端:.NET、Java、PHP、Objective-C(用于iPhone和Mac)和JavaScript。不过为了让大家真正采用这个协议,Mono项目的创始人Miguel de Icaza认为,除了OData和SDK以开放规范约定发布外,微软应该开源OData提供程序的参考实现

我相信,如果微软希望让OData广泛推广,那么他们不仅需要为某些现成服务提供成长空间,也应该为Unix系统提供开源的OData服务器实现。

更进一步说,如果他们希望加速OData的应用,应该毫无迟疑地开放服务端的.NET实现……

虽然客户端函数库是驱使客户端采用这个协议的重要步骤,但还应该把当前Web中放置于Linux服务器上的那些数据暴露出来,而这些Linux应用程序一般运行着PHP、Java、Ruby或Python应用程序。

最终,客户端代码会是一个用于XML文件格式的相对简单的解析器。另外一方面,服务器端代码要更加复杂才能提供相应的功能。

服务器端需要查询语法、选择操作的完整实现,以及为了数据安全而需要的访问控制和事务支持功能。

如果微软能开放他们的OData服务器端实现,我们就能马上让Linux用户以这种方式暴露他们的数据。Linux用户只需要运行一个使用System.Data.Services函数库的Mono前端应用,就可以暴露那些放置于他们服务器上的数据;而且它也能被Joomla、Wordpress、Rails、Django等前端应用所利用,从而暴露为数据服务。

微软发布了一个OData生成器列表,包括SharePoint 2010IBM WebSphereMicrosoft SQL Azure。他们也发布了“Dallas”的CTP 2,也即Microsoft Pinpoint,一个供应商能使用OData协议销售他们数据的网络商店。

查看英文原文:Microsoft Has Released OData SDK and “Dallas” CTP 2

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT