写点什么

微软发布 OData SDK 和“Dallas” CTP2

2010 年 3 月 28 日

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

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

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

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

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

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

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 2010 IBM WebSphere Microsoft SQL Azure 。他们也发布了“Dallas”的 CTP 2,也即 Microsoft Pinpoint,一个供应商能使用 OData 协议销售他们数据的网络商店。

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

2010 年 3 月 28 日 00:321204
用户头像

发布了 254 篇内容, 共 38.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

2021阿里面试通关手册必备:5000字面经解析(技术/攻克)

比伯

Java 架构 面试 程序人生 计算机

软件架构设计

cafebaby

访问控制相关概念及常见模型

龙归科技

身份和访问管理

1.4 Go语言从入门到精通:Go代理goproxy

xcbeyond

golang Go语言从入门到精通 4月日更 goproxy

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

云流

Java redis 程序员 架构 计算机

堪称最全的JAVA开发手册(基础+框架+分布式微服务+调优)

周老师

Java 编程 程序员 架构 面试

Golang 泛型浅析

David Liu

golang 云原生 编译器 开源代码 语言

区块链电子合同--赋能企业数字化转型

13530558032

区块链的创新技术给奢侈品行业带来了新的机会

CECBC区块链专委会

奢侈品

探索js让你的网页“自己开口说话”

云小梦

JavaScript web音视频 audioContext API

Java高级研发:2021阿里天猫、中间件、蚂蚁金服JD要求+面题答案

钟奕礼

Java 编程 程序员 架构 面试

架构培训作业

肖春

架构师训练营

WebRtc学习之旅 —— Android端应用开发

小驰嘻嘻

新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级

科创人

GitHub已封杀!阿里内部金三银四Java面试题被泄露!

Crud的程序员

Java 架构 Java工程师

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

莫高窟永不褪色的微笑,照耀在华为未曾止步的数据保护征程

脑极体

4月日更挑战|初夏开更,新人领书

InfoQ写作平台官方

活动专区 4月日更

美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

百家号在线视频编辑器的技术演进

百度Geek说

前端 前端框架

朱嘉明:《量子时代和数字经济2.0 》推荐序

CECBC区块链专委会

数字经济

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

钟奕礼

Java 编程 程序员 架构 面试

gorm源码阅读之schema

werben

golang gorm

WebRtc学习之旅 —— 初认识

小驰嘻嘻

拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service

UCloud技术

容器 云原生 k8s serverles

大厂面试必须掌握的 Linux 性能优化题

倪朋飞

Linux 面试 性能优化

源中瑞智慧平安社区--为平安生活助力

13530558032

勇做全球区块链“分布式存储”领航

CECBC区块链专委会

分布式

零基础学Tableau系列 | 01—Tableau简介、条形图与直方图

不温卜火

数据可视化 数据清洗 4月日更

凡尔赛一波:凭这份阿里面试突击指南,我已经拿了9张Offer

程序员小毕

Java 程序员 架构 面试 分布式

Redis 期中测试

escray

redis 极客时间 学习笔记 Redis 核心技术与实战 4月日更

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

微软发布OData SDK和“Dallas” CTP2-InfoQ