Sql Saturday 228 Rapid Data Integration Using SharePoint BCS

Preview:

Citation preview

Rapid Data Integration using SharePoint

Business Connectivity Services (BCS)

Anthony ObiSQLSaturday #228: 28th September 2013

About Me Independent SharePoint Consultant -

Obilogic Ltd

Working with SharePoint since Portal Server 2001

MCITP / MCTS SharePoint 2010

Blog: http://community.obilogic.co.uk Twitter: @obilogic Email: aobi@obilogic.co.uk

What is SharePoint Business Connectivity Services (BCS)?

Setting up Business Connectivity Services (BCS)

How to Recognise Different Types of Trees From Quite a Long Way Away

Working with External SQL Data: Connecting to SQL Databases SQL Authentication Options Performing ‘CRUDQ’ operations Displaying SQL Data using Business Data Web Parts

Real World Scenarios: Know Your SharePoint Environment The ‘Cloud’

Agenda

What is SharePoint Business Connectivity Services (BCS)?

Setting up Business Connectivity Services (BCS)

How to Recognise Different Types of Trees From Quite a Long Way Away

Working with External SQL Data: Connecting to SQL Databases SQL Authentication Options Performing ‘CRUDQ’ operations Displaying SQL Data using Business Data Web Parts

Real World Scenarios : Know Your SharePoint Environment The ‘Cloud’

Agenda

SQL Server DBs

SQL Instance 001 SharePoint DBs

SQL Instance 002 Sample

Databases

Database: AdventureWorks2008R2

Table Name: Production.Product

Table Name: Production.ProductModel

Business Connectivity Services is a centralized service in SharePoint that enables the use of SharePoint and Office clients as interfaces to data which is stored externally to SharePoint itself.

So…What is Business Connectivity Services?

Business Connectivity Services is a centralized infrastructure in SharePoint that supports integrated data solutions. With Business Connectivity Services, you can use SharePoint and Office clients as interfaces into data that doesn’t live within SharePoint itself. For example, this external data may be in a database and is accessed by using the out-of-the-box BCS connector for that database. Business Connectivity Services can also connect to data that is available through a web service, or data that is published as an OData source or many other types of external data. It does this through out-of-the box or custom connectors. The connectors, as the name implies, are the communication bridge between SharePoint and the external system that hosts the external datahttp://technet.microsoft.com/en-us/library/ee661740.aspx#section1

Business Connectivity Services (BCS) was introduced in SharePoint Server 2010 as an evolution of the Business Data Catalog (BDC) released in SharePoint Server 2007. BCS enables SharePoint 2013 to work with data that is hosted externally. Possible sources can include databases, web services, Windows Communication Foundation (WCF) services, Open Data Protocol (OData) sources, and other proprietary data that can be accessed by using custom .NET assemblies.http://msdn.microsoft.com/en-us/library/jj163251.aspx

What is Business Connectivity Services?(…the Long Version!)

SharePoint 2013 Presentation

External Lists External Columns Web Parts

Business Connectivity Services

External Content Types (ECTs) Connectors Secure Store

Database: AdventureWorks2008R2

Sample Data

Table Name: Production.Product

Table Name: Production.ProductModel

What is Business Connectivity Services?

http://technet.microsoft.com/en-us/library/ee661740.aspx#section1

What is Business Connectivity Services?(…the Long Picture Version)

Demo 01

Creating the Business Connectivity

Services Service Application

… via the GUI

#Get SharePoint ServiceApp Application Pool$AppPool = Get-SPServiceApplicationPool -Identity <AppPoolName>

#Create New SharePoint BCS Service Application $ServiceApplication = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $AppPool –DatabaseName <BCSDatabaseName> –DatabaseServer <DatabaseServer> –Name <NewBCSServiceName>

#Get SharePoint BCS Service Instance$ServiceInstance = Get-SPServiceInstance | Where-Object { $_.TypeName -like "*Business*" }

#Start SharePoint BCS Service InstanceStart-SPServiceInstance $ServiceInstance

… via PowerShell

Demo 02

CreatingExternal Content Types (ECTs)

… via SharePoint Designer

… Authentication Options

Demo 03

Creating the Secure Store Service Application

… via the GUI

#Get SharePoint ServiceApp Application Pool$AppPool = Get-SPServiceApplicationPool -Identity <AppPoolName>

#Create New SharePoint SecureStore Service Application $ServiceApplication = New-SPSecureStoreServiceApplication –ApplicationPool $AppPool –AuditingEnabled:$false –DatabaseName <SecureStoreDatabaseName> –DatabaseServer <DatabaseServer> –Name <NewSecureStoreServiceName>

#Create New SecureStore Service Application Proxy$ServiceApplicationProxy = New-SPSecureStoreServiceApplicationProxy –ServiceApplication $ServiceApplication –Name <NewSecureStoreProxyName>

#Get SharePoint SecureStore Service Instance$ServiceInstance = Get-SPServiceInstance | Where-Object { $_.TypeName -like "*Secure*" }

#Start SharePoint BCS Service InstanceStart-SPServiceInstance $ServiceInstance

… via PowerShell

Example External Content Type (ECT)

Demo 04

CreatingExternal Lists

Demo 05

Creating CRUDQ (or CRRUD) ECT Operations

… via SharePoint Designer

Demo 06

Creating CRUDQExternal Lists in SharePoint

The Business Data Web Parts are designed to work with data from external lists

Main benefits:

No coding requiredBusiness Data Web Parts enable you to display data on your SharePoint site without writing any code.

Reusability Business Data Web Parts are generic and can show any type of data (entity) registered in the Business Data Catalog.

Connect-abilityBusiness Data Web Parts support 'Web Part connections' and make it easier to create Master-Detail applications (without writing any code).For example, you can display ‘products’ and their ‘details’ using the ‘Business Data List’ and ‘Business Data Item’ Web Parts by simply connecting them.

Business Data Web Parts

SharePoint 2013 includes six ‘Business Data Web Parts’

http://office.microsoft.com/en-gb/sharepoint-server-help/use-the-business-data-web-parts-HA102770986.aspx

Business Data Web Parts

Web Part Description

Business Data List Displays a list of items from an external list.Business Data Item Displays an item from an external list.Business Data Actions Displays an action of an external list.Business Data Connectivity Filter

Filters the contents of a connected Business Data Web Part by using a list of values from an external list.

Business Data Item Builder

Creates a Business Data item from parameters in a URL query string and provides it to other Business Data Web Parts.

Business Data Related List

Displays a list of child items related to a parent item from an external list. Requires an association.

Demo 07

Displaying SQL Data using Business Data Web Parts

Business Data Web Parts

And Now…

Know Your SharePoint Environment

When you create or use a SharePoint BCS solution, there are significant differences in the features and functionality available based on your SharePoint environment.

Real World Scenarios

Know Your SharePoint Environment

On-premiseIf you create a solution in which your users and your solution are entirely on-premise, then all Business Connectivity Services features are supported.

Real World Scenarios

http://office.microsoft.com/en-gb/sharepoint-server-help/introduction-to-external-data-HA102891586.aspx#_Toc353550777

Know Your SharePoint Environment

CloudIf you are using SharePoint Online (Plan 2, E3 and E4) in Office 365, then only a subset of features are available. Furthermore, you can only connect to these data sources:

1. WCF Web Services2. Odata3. SQL Server Azure.

Real World Scenarios

http://office.microsoft.com/en-gb/sharepoint-server-help/introduction-to-external-data-HA102891586.aspx#_Toc353550777

Know Your SharePoint Environment

SharePoint Versions

Real World Scenarios

FeatureSharePoint 2013

SharePoint 2010

Office 365

BCS: Business Data Webparts

Yes Yes Yes

BCS: Profile Pages Yes Yes No

BCS: External List Yes Yes Yes

BCS: Secure Store Service Yes Yes Yes

BCS: Rich Client Integration

Yes Yes No

BCS: Alerts for External Lists

Yes No Yes

BCS: App Scoped ECTs Yes No Yes

BCS: OData Connector Yes No Yes

BCS: Tenant-Level External Data Log

Yes No Yes

http://technet.microsoft.com/en-us/library/jj819267.aspx

Know Your SharePoint EnvironmentOn-premise “all Business Connectivity Services features are supported”(..nudge, nudge, wink, wink)

Real World Scenarios

http://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_FeaturesOnPremise

Feature

SharePoint 2013 Enterprise CAL

SharePoint 2013 Standard CAL

SharePoint 2013 Foundation

BCS: Business Data Webparts

Yes Yes No

BCS: Profile Pages Yes Yes No

BCS: External List Yes Yes Yes

BCS: Secure Store Service Yes Yes Yes

BCS: Rich Client Integration

Yes No No

BCS: Alerts for External Lists

Yes Yes No

BCS: App Scoped External Content Types (ECTs)

Yes Yes No

BCS: OData connector Yes Yes No

BCS: Tenant-Level External Data Log

Yes No No

Know Your SharePoint EnvironmentCloud – O365BCS feature availability across Office 365 Plans

Real World Scenarios

Feature

Small / Midsize BusinessEnterprise E1/ K1Education A2 Government G1 / K1

Enterprise E3 / E4Education A3 /A4Government G3 / G4

BCS: Business Data Webparts

No Yes

BCS: Profile Pages No No

BCS: External List No Yes

BCS: Secure Store Service No Yes

BCS: Rich Client Integration

No No

BCS: Alerts for External Lists

No Yes

BCS: App Scoped External Content Types (ECTs)

No Yes

BCS: OData connector No Yes

BCS: Tenant-Level External Data Log

No Yes

http://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_tableo365

Know Your SharePoint EnvironmentCloud BCS feature availability across SharePoint Online service plans

Real World Scenarios

FeatureSharePoint Online Plan 1

SharePoint Online Plan 2

BCS: Business Data Webparts

No Yes

BCS: Profile Pages No No

BCS: External List No Yes

BCS: Secure Store Service No Yes

BCS: Rich Client Integration

No No

BCS: Alerts for External Lists

No Yes

BCS: App Scoped External Content Types (ECTs)

No Yes

BCS: OData connector No Yes

BCS: Tenant-Level External Data Log

No Yeshttp://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_tablespo

Know Your SharePoint Environment

HybridYour organization may already have significant investments in on-premise data sources, but may also be in a hybrid SharePoint environment, in which some employees are on-premise and some are in the cloud.

It is possible to create a hybrid external data solution so that users in the cloud can access an on-premise data source.

However, you can connect to any supported on-premise data source, but you must use OData Services (..and extensive development and configuration may be required)

Real World Scenarios

http://office.microsoft.com/en-gb/sharepoint-server-help/introduction-to-external-data-HA102891586.aspx#_Toc353550777

ResourcesBusiness Connectivity Services in SharePoint 2013http://office.microsoft.com/en-gb/sharepoint-server-help/introduction-to-external-data-HA102891586.aspx http://technet.microsoft.com/en-us/library/ee661740.aspx http://msdn.microsoft.com/en-us/library/jj163251.aspx

BCS & Secure Store PowerShell Cmdletshttp://technet.microsoft.com/en-us/library/ff793361.aspx http://technet.microsoft.com/en-us/library/ee906549.aspx

Compare Feature Availabilityhttp://technet.microsoft.com/en-us/library/jj819267.aspx

Business Data Web Partshttp://office.microsoft.com/en-gb/sharepoint-server-help/use-the-business-data-web-parts-HA102770986.aspx

Recommended