[SharePoint 2010 的那些事儿-BCS]ECT外部内容类型
上篇文章介绍了BCS与其前身BDC的一些区别,这次来介绍下BCS架构中的一个很重要的组件,外部内容类型(ECT)。
如果使用过SharePoint 2007的话那么就应该对内容类型的概念比较清楚了,外部内容类型是一个用于外部数据的内部类型,它是一个XML文件,在其中定义了用于访问外部系统中存储的数据的连接信息,所包含的数据字段以及可以对这些外部数据执行的操作。外部内容类型支持的外部系统包括SQL Server 数据库或其他关系数据库、SharePoint 网站、Web 服务或自定义数据连接器。我们可以将定义好的外部内容类型当作一个数据源来使用,可通过外部列表,外部数据字段或外部数据WebPart来使用外部内容类型,下面让我们先来看看这三种使用方法。
外部列表 |
外部列表是SharePoint 2010中新加入的一种列用外部内容类型来展示外部数据的列表类型。它可以直接将外部数据与SharePoint整合在一起,使我们可以像操作SharePoint列表那样来操作这些数据,包括查询和增删改操作,还可以使用OutLook 2010,Workspace 2010,Word 2010来连接外部列表,这样在离线状态下我们同样可以使用这些外部数据了。需要注意的是外部列表中的数据并不是保存在内容数据库中,它们仍然在那些外部系统里,而且也不具备版本管理、签入签出、工作流等功能。 |
外部数据字段 | 这个就是SharePoint 2007中的业务数据字段类型,它能使我们在一个普通的SharePoint列表中通过外部内容类型来使用外部系统中的数据。与外部列表不同的是,添加了外部数据字段的列表仍然具有普通列表的所有功能。 |
外部数据WebPart | 在SharePoint 2010中微软为我们提供了5个用来展现或使用外部数据的WebPart。它们分别是业务数据连接筛选器、业务数据列表、业务数据项、业务数据生成器、业务数据操作 |
下面我们来看一看如何建立一个简单的外部内容类型。
在开始之前我们首先要确定在SharePoint管理中心里已经创建并配置好了了Business Data Connectivity Service application and proxy,并且以安装了 SharePoint Designer 2010。
在这个例子中我使用了Northwind示例数据库,http://msdn.microsoft.com/en-us/library/ms143221.aspx,大家可以去这里下载这个示例数据库。
我们可以使用SharePoint Designer 2010来创建一个外部内容类型,这里我将创建一个连接到Northwind数据库中的Products表的外部内容类型。
1.用SharePoinit 2010打开一个SharePoint站点
2.在左边的导航面板中找到“外部内容类型”,接着就会显示下图所示的画面。
3.在Ribbon区点击外部内容类型打开外部内容类型信息面板
4.在这里我们可以设置该外部内容类型的名称、显示名称、命名空间、版本以及Office项类型等信息。其中Office项类型决定了在OutLook中与这个外部内容类型相关联的行为。这个例子里我们不会用到OutLook,所以选择泛型列表就好了。脱机同步外部列表是在OutLook 2010或Workspace 2010中是否可以在离线的情况下使用本内容类型的设置。
5.接下来就要为这个外部内容类型指定一个数据源,点击“单击此处发现外部数据源并定义操作”或点击Ribbon中的“操作设计视图”打开操作设计器画面。
6.单击“添加连接”按钮会弹出“外部数据源类型选择”窗口,可以看到有三种类型供我们选择,它们分别是.Net类型、SQL Server、WCF服务,这里我们选择SQL Server,然后会打开SQL Server连接设置窗口。首先需要输入要连接到的数据库服务器的名称和数据库名称,下面选择默认的使用用户标识进行连接即可。需要注意的是在使用SQL Server连接时,如果要连接的数据库实例与SharePoint不在同一台服务器中的话,那么就需要使用模拟Windows标识进行连接或使用模拟自定义标识进行连接,这两种方式需要你填写一个安全存储应用程序ID,该ID 需要通过在Secure Store Service中为需要的数据库实例创建一个安全存储目标应用程序来获得。
7.配置好后将创建一个连接到所需要数据库的连接,同时也将看到在数据库资源管理器中多了一个数据库对象。
8.这时我们可以看到在画面右侧的外部内容类型操作区还是空的,接下来我们就要定义可以在这个外部内容类型上进行的操作。选择Products表,单击鼠标右键,在展开的菜单中可以看到我们可以创建的操作。这里我们选择“创建所有操作”,打开操作配置向导。
9.单击下一步进入参数配置画面,在这里可以看到这个表中的所有字段,并且可以对各个字段进行设置,在这个例子中我们都使用默认选项即可。
10.再下一步进入筛选器参数配置画面,筛选器可以控制从外部数据源中所读取出的数据内容。
11.全部设置好后单击完成按钮,这时在外部内容类型操作区中就可以看到我们所创建的操作了。
最后不要忘了点击上方的保存按钮将这个外部内容类型保存到我们的SharePoint中。
至此一个简单的外部内容类型就创建好了,需要注意的是外部内容类型是跨网站集的,在场中的所有网站集都可以使用这个外部内容类型。
最后我们再来创建一个外部列表看看最终的效果如何。
首先进入SharePoint站点,在“网站操作”中单击“查看所有网站内容”,然后点击“创建”,在弹出的窗口中选择列表,接着选择创建一个“外部列表”类型的列表。注意需要先在网站功能中激活“工作组协作列表”才会出现“外部列表”这个类型。
在数据源配置中选择我们刚刚建立好的外部内容类型,然后创建列表
让我们一起来看看最终效果吧。大家可以看到,在外部列表中我们完全可以像操作普通的SharePoint列表一样来操作这些外部数据,而且不需要写一点的代码~~~