使用混合连接和WCF服务将SharePoint在线和SQL Server On-Premises与BCS/SharePoint应用程序连接
5(100%) 1投票[s]

SharePoint Online不能直接连接到本地数据源,比如SQL Server。推荐的方法是使用混合SharePoint 2013/2016但是增加了基础设施和维护成本的开销。因此,为了克服它,我将在本博客中描述如何使用Azure PaaS工作负载,以及如何使用BCS连接到本地数据源。
使用Azure混合连接(请参考这里帖子)和托管WCF端点的Azure Web应用程序的bc,现在,我们可以通过外部内容类型(ECTs)或SharePoint托管的应用程序将本地SQL数据公开给SharePoint Online和Cloud。
下面是BCS将这些数据源连接到SharePoint的两种方法。
1.托管WCF服务的Azure Web应用程序和外部列表
2.托管WCF数据服务的Azure Web应用程序和托管应用程序
Azure WCF服务Web应用程序和外部列表
SPOAzureBCSHybrid
优点:使用这种方法的优点是外部内容类型(etc)的可重用性。ECTs可以跨同一站点集合中的多个列表和站点使用。ECTs还可以用于跨多种数据类型的复杂关联。
缺点:这种方法的一些缺点是:
-依赖于用户通过身份验证和/或实现自定义身份验证,通过传递SQL身份验证来使用WCF进行身份验证
-增加了开发工作,因为WCF构建和托管
高级步骤:
1.使用Visual Studio创建一个WCF解决方案
2.使用ADO.NET和WCF服务调用使用Web方法获取数据。实现至少两个web方法——一个返回所有项,另一个返回特定项
3.使用数据调用所需的配置更新wcf服务的web.config
4.创建一个Azure Web应用程序
5.将WCF服务发布到Azure Web应用程序,并从WCF服务获得单个wsdl签名
6.使用使用WSDL签名的SharePoint设计器创建外部内容类型
7.添加getiems和GetItem finder到ECT
8.从ECT创建一个外部列表
托管WCF数据服务的Azure Web应用程序和托管应用程序
SPOAzureAppsHybrid
优点:使用WCF数据服务的优点是OData方法直接映射到SQL表的模式,这使得构建和维护变得很容易。此外,使用SharePoint托管的应用程序将CRUD操作与主机Web隔离开来,从而减少了外部内容类型和外部列表的开销。
缺点:使用这种方法的缺点是数据的作用域在应用程序内,不能暴露给主机Web组件,使得交互仅限于Web应用程序。在App Web中公开和操作这些数据需要进行定制。
高级步骤:
1.使用Visual Studio创建一个WCF服务项目
2.安装EntityFramework Nuget包
3.添加一个WCF数据服务文件并实现EntityFrameworkDataService而不是DataService
4.覆盖“InitializeService”方法如下
5.添加ADO.NET实体数据模型项目,并将其配置为从所需的SQL表中提取数据。
6.使用数据调用所需的配置更新web.config
7.创建一个Azure Web应用程序并在其上启用SSL
8.将WCF服务发布到Azure Web App
9.接下来在Visual Studio中创建一个新的SharePoint托管应用程序解决方案
10.在SharePoint托管的应用解决方案中,添加外部内容类型,并选择承载WCF数据服务的Azure Web应用程序作为源
11.创建外部内容类型之后,然后使用上面创建的ECT创建一个外部列表
12.外部列表现在被添加到托管的应用程序中,然后可以在应用程序默认页面和应用程序部分中引用

因此在这个博客中,我们已经看到了通过Azure PaaS工作负载托管BCS连接服务的两种选择,每个步骤的优缺点以及配置它们的广泛步骤。

类别:
应用程序开发和集成, Azure平台, Office 365, SharePoint

留下一个回复