让高级用户创建他们自己的 OData 数据源

Julie Lerman

 

本文讨论了 Microsoft 玩火"数据资源管理器"。所有信息均有可能发生变更。

Julie Lerman
我必须为谁,我开发了许多内部业务应用程序的客户端。公司还拥有驻地的 geek,聪明的年轻小伙子利用了他的 Web 2.0 背景创建一些内部解决方法。我为他们的代码使用 Microsoft。NET Framework 针对 SQL Server 2008 数据库的工具。他开发使用在线 MySQL 数据库的 PHP 应用程序。他在从事几年前,他给我看什么,我注意到下拉列表包含重复我的应用程序的创建和使用 SQL Server 中的数据。WCF 数据服务仍处于早期阶段 (称为然后"明星"),但我看到我们的开发项目之间的桥梁试用这项技术的好机会。

我建议从他会消耗掉在他的应用程序,需要维持 MySQL 数据库中的重复数据消除的 SQL Server 数据创建一个只读的服务。他喜欢这个主意。几天后,微软发布了其第一消费明星饲料的 PHP 工具箱。此开发人员工具包用户第一的一个,我们有了我们的协作解决方案,运行速度非常快。

快进 …明星现在是 WCF 数据服务,它的输出已被封装在一个称为 OData 的规范 (odata.org) 有一个 OData SDK php (bit.ly/xW8sJf)。我的客户服务已演变后大量的请求,我公开更多的数据,从他的应用程序的 SQL Server 数据库。但有一个问题。我的客户端需要一些新添加到该服务,每次我有适当的视图在数据库中创建、 打开 Visual Studio、 修改的数据模型,包括实体映射到此视图,然后编译并重新部署这项新服务通过 VPN 到他的 Web 服务器。是相当费时的过程,可能会有点拖 — 特别是如果我开始接近一个数据点列期限 !

到达的帮助:SQL 天青实验室玩火"数据资源管理器"

在 2011 年 10 月的 SQLPass 峰会上,微软宣布了一个新的工具正在开发,目前已称为微软代号"数据资源管理器"。在这里,我简单地称之为数据资源管理器。

数据资源管理器允许用户访问各种数据源从 Web 页、 OData 饲料、 文本文件和 Excel 文件,为名称的这几张 HTML SQL 服务器 SQL Azure) 和生成使用相对简单的接口将它们的意见。用户界面允许您切片、 骰子、 筛选重命名并将数据结合起来。可以沼气从完全不同的文件类型,例如,创建一个视图,将您的 SQL Server 数据连接到网页上列出的统计数据,然后提交结果作为 OData 饲料、 Excel 文件或任何数量的其他格式。

您可以在团队的博客上找到大量的突飞猛进和视频数据资源管理器的功能 (blogs.msdn.com/dataexplorer) 或在 SQL Azure 实验室 (sqlazurelabs.com)。有 (称为云服务) 的基于 Web 的客户端和桌面客户端。云服务目前生活在实验室中,SQL Azure 作为一项服务,您必须注册访问 (在 bit.ly/pI8Oug)。您可以下载从的桌面应用程序的当前版本 bit.ly/shltWn。撰写本文时,这些工具仍处于早期发展阶段,和我预料到很多的改进和效益来。

数据资源管理器功能的一响起了作为一种简化我我保持此客户端的数据服务中添加更多的数据的过程 — 发布分解的 OData 饲料作为结果的能力。今天 (一月 2012 年初,我写此列) 发布支持的云服务,但尚未由桌面客户端。虽然我最终的目标是做这项工作我的客户使用其 SQL Server 数据库和 Web 服务的内部网络上的所有,我还创作使用云计算服务和 SQL Azure 数据库的可能性。这是我就和你分享。我不会纠缠分步演练,因为这就是我刚才提到的资源中随时可用。

您的工作区可以包含多个聚合,每个可以包含的资源的数量。图 1 显示创建的名为 Mashup1 的混搭的四个资源。资源的三个公开的客户视图,啤酒数据的列表和列表的啤酒厂,虽然最后的资源 (啤酒列表合并与啤酒厂) 公开,啤酒随每个啤酒厂的合并和拼合列表生成。我不得不创建,以便将它们合并到另一个资源的啤酒列表和啤酒厂的资源。状态的向右"复选标记"图标指示什么会不会暴露在已发布数据。啤酒厂和啤酒列表旁边为灰色的复选标记表示这些不会公开。正如您看到的图 1,打算在发布客户和啤酒列表合并与啤酒厂,但用于创建合并的设置不的构造块。

Four Data Sets that Have Been Created in Mashup1
图 1 四个数据集,已创建的 Mashup1

如果你看看我的工作区中的混搭的概述中所示图 2,你可以看到 Mashup1 有两个输出,代表两个资源我决定公开。

Overview of Mashup1 in My Workspace
我的工作区中的 Mashup1 的图 2 概述

当发布 Mashup1 使用数据资源管理器工具,然后浏览饲料的生成 OData,您可以看到该服务不会的确揭露那些两个资源,而不是更 (请参见图 3)。

图 3 两个数据集公开为我已发布的混搭中的收藏集

<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="https://ws39047873.dataexplorer.sqlazurelabs.com/Published/CustomersAndBeerData/Feed/">
  <workspace>
    <atom:title type="text">Default</atom:title>
    <collection href="Beer List Merged with Breweries">
      <atom:title type="text">Beer List Merged with Breweries</atom:title>
    </collection>
    <collection href="Customers">
      <atom:title type="text">Customers</atom:title>
    </collection>
  </workspace>
</service>

数据资源管理器用户界面使您能够以可视方式,建立复杂的查询,但因为我会生成此数据馈送,容易的我只是在数据库中创建视图。 所以我的计划是每次我电力用户要访问更多的数据,在他的服务,我就会创建一个数据­基地视图,将其添加为我混搭中的资源和重新发布饲料。

在此情况下,因为我想我只是反映在架构中的更改对需求饲料的 OData,我可以简单地这样做。 但你要小心,因为都靠饲料的应用程序可能会破坏饲料引入非添加剂或某些其他更改。

作为另一种方法,但是,数据资源管理器还允许我保护我的 API/饲料表面,从架构中的任何更改。 我只是要更新交代的架构更改,同时保持我的产出的形状不变的混搭。

注重安全的图层

我从我的 SQL Azure 数据库直接建立这些资源。 我的超级用户可以做相同的但我不想他直接访问数据库。 相反,我会让他有他自己的工作区,并建立他自己混搭从一个发布。

图 4 显示所有类型的数据,您可以使用混搭在创建资源。 SQL 数据库可以是 SQL Server 数据库或 SQL Azure 数据库。

Options for Adding Data to a Mashup
图 4 选择将数据添加到混搭

之间可能的数据源是 OData 饲料和现有的糅合。 这些使电力用户构建混搭从我已发布的饲料。

他可以添加一个数据集,基于我 OData 喂给他自己的工作区中的混搭,然后他自己需要按摩这一观点。 数据资源管理器可以让他隐藏的列他不感兴趣,建立连接的字段,改变他的服务如何显示的字段名称和更好。 如果为例,他最初认为他并不需要一个列,后来决定他不会想要对它的访问,他就可以无需担心是否我出国会议或出自行车骑上只需修改他自己混搭。

数据库保持不安全的但数据怎么喂我创建? 数据资源管理器已有许多内置的安全功能,微软正对丰富更多的安全。 一个安全路径是作为所有者、 作者或工作区中的使用者访问您的工作区的用户数据资源管理器中的现有帐户授予权限。 我是要作者权限授予我电力用户,在他自己的工作区中他可能然后创建和发布自己恶搞,基于我的饲料。

我还能为电力用户提供饲料的关键。 每个工作区有一个单一的饲料密钥,用户可以访问任何发布的工作区的饲料。 当电力用户访问我的 OData 饲料建立他自己的混搭时,他会要求提供无论我所指定的凭据。 Figure5 显示当用户尝试添加我的 CustomersAndBeerData 所请求的凭据喂给他自己。

Adding an OData Feed to a Mashup
图 5 OData 饲料添加混搭

一旦他自己混搭成,他完成了我的饲料,他可以重塑输出的饲料,甚至结合其他数据源如果他希望。 当他信纳时,他可以发布他的成果 OData 他的饲料拥有和从他使用凭据,他在他自己的工作区中指定的应用程序中使用它。

值得等待

最后,当电源用户想额外 OData 他的申请,我参与大大减少。 仍要添加视图在数据库中,然后将新资源添加到我混搭在线,然后重新发布。 但此工作流,在可视化图 6、 是更吸引我比有打开的项目在 Visual Studio 中,更新数据模型,重建,登录到 VPN 和最后,推到我的客户服务器的新的程序集。

Workflow from Database to Application
图 6 工作流从数据库到应用程序

数据资源管理器尚未发布的产品,将继续发展。 但通过这种情况下,使用当前可用的预览工作了之后,我真正期待着要转移到此解决方案时,资源管理器中的数据正式发布。 虽然我目前注意的一个很窄的使用案例,我一定保持眼睛和 blogs.msdn.com/dataexplorer 的更新。

数据资源管理器

米格尔 · Llopis 和 Mohamood 费萨尔

微软代号"数据资源管理器"是一种使自助提取、 转换和发布 (ETP) 的新工具。 数据资源管理器简化了创建的数据聚合从不同的数据源如 Excel、 Access、 SQL Server、 Web (HTML,Web Api,OData) 和更多的组合。 数据资源管理器的主要目的是为了将数据发布到最终用户工具如 Excel/PowerPivot 或电源的自定义应用程序很容易和无缝使获取、 转换和数据组成。

数据资源管理器是一个实验室在 SQL Azure 实验室作为当前可用,支持这两个对处所以及云数据源。 请访问 dataexplorer.sqlazurelabs.com 了解更多,尝试了这种创新的 Windows Azure 服务。

Julie Lerman 是 Microsoft MVP。净的导师和顾问住在佛蒙特州的丘陵。您可以查找数据访问和其它微软对她提出。用户组和世界各地的会议的净主题。在她的博客 thedatafarm.com/blog 和"编程实体框架"(O'Reilly 介质,2010年) 的作者是和"编程实体框架:代码第一次"(O'Reilly 介质,2011年)。跟着她在 Twitter 上 twitter.com/julielerman

多亏了以下的技术专家审查这篇文章:Miguel LlopisFaisal Mohamood