• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > net编程 >

OData的实际应用-通过开放数据协议构建富Internet应用程序(7)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-06-27点击:

图 10 执行异步查询

private void GetAgentData(string agentName)
{
var query = agentsService.Agents.Where(a => a.FullName == agentName) as
DataServiceQuery;

query.BeginExecute(
AgentQueryCallBack, query);
}

private void AgentQueryCallBack(IAsyncResult result)
{
Dispatcher.BeginInvoke(() =>
{
var queryResult = result.AsyncState as DataServiceQuery<AgentsItem>;
if (queryResult != null)
{
var agents = queryResult.EndExecute(result);
this.grdAgent.DataContext = agents.First();
}
});
}

 

PowerPivot 中的 OData

PowerPivot 是新的内存中商业智能工具,是 Microsoft Excel 2010 的加载项。有关详细信息,请访问 powerpivot.com。该工具支持从数据源导入大型数据集,并执行复杂的数据分析和报告。PowerPivot 可从多种不同的数据源导入数据,包括直接从 OData 源导入。PowerPivot 的“从数据源”选项(如图 11 所示)可以使用 OData 服务端点作为要导入的源的位置。

图 11 PowerPivot 从 OData 源导入

图 12 显示了根据 OGDI 的华盛顿特区数据源中的犯罪率统计信息摘要绘制的图表。

图 12 来自 OData 源的 PowerPivot 图表

图 12 中的图表与前述示例中房地产应用程序使用的数据集相同,显示了各个区所有数据的摘要。我建议您下载 PowerPivot for Excel 2010,并从位于 ogdi.cloudapp.net/v1/dc 的 OGDI 站点导入数据,体验一下如何快捷地对这些数据进行丰富的数据分析。

 

Open Data Protocol Visualizer

对于创建应用程序的外部开发人员来说,尽管其应用程序使用由 OGDI 数据服务提供的数据,但该服务从本质上讲是一个“黑箱”。幸运的是 OGDI 服务使用 OData 协议提供其数据,因此不需要了解该服务的内部细节,就能与此服务进行交互。该服务的编程模型是 OData 协议。服务端点描述了数据形式,正如我在上文所述,这就是您与该服务交互所需的全部内容。但是,查看服务中数据的形式并更好地了解服务各部分之间的关系,通常会很有帮助。Open Data Protocol Visualizer 由此应运而生。在 Visual Studio 2010 中,从“工具”|“扩展管理器”菜单项可以调用此程序。图 13 显示了该可视化工具的两个视图,视图中显示的是 OGDI 服务的结构。

图 13 上部的视图显示了整个服务,下部的视图进行了放大,只显示了四个框。该可视化工具将实体集表现为框,实体之间的关系用连接框的线条表示。从图 13 上部的视图中可以清楚地看到,OGDI 服务完全是扁平的,不包含任何关系,因为各个框之间没有连接的线条。这只是 OGDI 服务的特点,大多数 OData 服务都不是这样的。下部的视图特别显示了服务中的四个实体集。只需查看该视图,您就能确定服务提供了有关消防站、小学入学率、透析诊所和政府机关位置的数据,以及这些类型的属性和键。

图 13 OGDI 示例服务的 Open Data Visualizer 视图

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ