Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

Overview of Business Connectivity Services in SharePoint 2013


SharePoint 2013

 
Applies to: SharePoint Foundation 2013, SharePoint Server 2013

Topic Last Modified: 2016‐04‐05

Summary:  Understand SharePoint Business Connectivity Services ﴾BCS﴿ and how SharePoint Business Connectivity Services brings external data into SharePoint and Office through
the cloud and on‐premises configurations.

This article introduces you to Microsoft Business Connectivity Services. After you read this article you’ll understand:

What Business Connectivity Services is.

The business problems that Business Connectivity Services solves for and when to use it.

How Business Connectivity Services works.

What the three basic Business Connectivity Services solutions are and what they look like.

This article is your starting place for using Business Connectivity Services to create data integration solutions in SharePoint 2013 and Office 2013. You have to understand the concepts
in this article before you can move on to planning, developing, and installing Business Connectivity Services data integration solutions. The examples in this article are used
throughout the remainder of the Business Connectivity Services documentation.

In this article:

What is Business Connectivity Services?

How does Business Connectivity Services work?

What does a Business Connectivity Services solution look like?

https://technet.microsoft.com/en­us/library/ee661740.aspx 1/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

What is Business Connectivity Services?


Business Connectivity Services is a centralized infrastructure in SharePoint 2013 and Office 2013 that supports integrated data solutions. With Business Connectivity Services, you
can use SharePoint 2013 and Office 2013 clients as interfaces into data that doesn’t live in SharePoint 2013 itself. For example, this external data may be in a database and it is
accessed by using the out‐of‐the‐box Business Connectivity Services 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. Business Connectivity Services does this through out‐of‐the box or custom
connectors. The connectors, as the name implies, are the communication bridge between SharePoint 2013 and the external system that hosts the external data. For an overview of
using OData in BCS from a developers perspective, see Using OData sources with Business Connectivity Services in SharePoint 2013 in the MSDN Library

SharePoint 2013 has several ways to present the external data. Probably the most common way is to present the data in an external list. External lists look and feel like regular
SharePoint lists, except that they can only display external data. If you want to integrate external data alongside other data in a list or library, you would use an external data
column. An external data column is a column type that you can create and add to a SharePoint list just as you would add a Person or Group or Date and Time column, except that
it is displays external data. For more information about external data and external lists from an information worker perspective, see Introduction to External Data and Differences
between native and external lists on Office.com. SharePoint 2013 includes Business Data Web Parts for presenting and interacting with external data and apps for SharePoint, which
can also use external data. For information about apps for SharePoint, see Overview of apps for SharePoint 2013. For an overview of BCS from a developers perspective, see
Business Connectivity Services in SharePoint 2013 in the MSDN Library.

Once the external data is available, you can then perform different operations on the data such as Create, Read, Update, Delete, and Query ﴾CRUDQ﴿. Depending on the operations
that are enabled, the changes made to the data in SharePoint 2013 or Office 2013 can be automatically synchronized back to the external data source. You can search the external
data by using SharePoint Search.

Which business problems does Business Connectivity Services solve?


Every company deals with data that is located in different places, is accessed in different ways, and is used for different purposes. Some of this data might live in SharePoint 2013
and some of it might not. Companies might have complete control over some of that data in file shares and databases and SharePoint 2013, as in the case of their sensitive
employee records and content about product research. It is just as likely that they will use other data that they do not have control over, data that is provided by a third party,
such as customer information or stock quotes. Companies then have to develop business processes that use the important data from each of those sources to accomplish their
business goals.

Frequently, companies create custom applications that take data from these different data sources — both structured and unstructured — and make them available to their
employees through custom interfaces that bring the structured and unstructured data together. This is usually done by in‐house developers and it incurs some level of overhead
to develop and maintain. Business Connectivity Services gives companies a way to easily integrate external data into SharePoint 2013 solutions and Office 2013 clients.
Depending on the type of solution, you can manipulate the data and update it in the external system. You can also take it and work with it offline. Users can then work with
SharePoint 2013 data and external data in the familiar SharePoint 2013 and Office 2013 tools.

Examples of Business Connectivity Services solutions


https://technet.microsoft.com/en­us/library/ee661740.aspx 2/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

You can use Business Connectivity Services to build many types of data integration solutions. Here are some examples.

Help desk   Enterprise help desks that provide internal technical support can use Business Connectivity Services. For example, the support tickets and the knowledge base
that the help desk technicians use are stored in two separate databases, both of which are not in SharePoint 2013. By using Business Connectivity Services, the company
can retrieve data from both sources, filter and sort it, and then present it for interaction in an external list in SharePoint 2013. What’s more, with the correctly configured
permissions, the help desk technicians can manipulate the data, while users with support questions only have permissions to search for their open support tickets to check
the status. Technicians and information workers can also access the data through various Office 2013 clients. Open support tickets are routed through predefined steps by
workflows. Help desk managers can view current support ticket data by technician in reports and dashboards. Typical reports indicate the number of support issues
assigned to each support specialist, the most critical issues currently, and the number of support incidents that are handled by each support specialist during a given time
period.

Artist tracker   A talent agency integrates its database of artists into its internal website. The complete list of artists, their contact information, and schedules can be taken
offline in SharePoint Workspace or in Outlook. Recording contracts can be generated and filled from the website, or Outlook, and a workflow guides each contract
through its various stages. New artists can be added from the website or from Outlook. By using this solution, agents always have the information that they need and they
can perform many key tasks by using familiar Office interfaces.

Sales dashboard   A sales dashboard application helps sales associates in an organization quickly find the information that they need and enter new data. Sales orders
and customer information are managed in an external application, such as Salesforce.com, and integrated into the solution by using Business Connectivity Services.
Depending on their roles, team members can view sales analytics information, individual team members’ sales performance data, sales leads, and a customer’s contact
information and orders. Sales professionals can view their daily calendars, view tasks assigned to them by their managers, collaborate with team members, and read
industry news from a web browser, or from Outlook. By using Word 2013, managers can author monthly status reports that include data from the external systems.

For information on how to get started with BCS from a developers perspective, see Get started with Business Connectivity Services in SharePoint 2013

What distinguishes Business Connectivity Services from similar solutions?


Business Connectivity Services is just one way to integrate external data into SharePoint 2013 and Office 2013 client‐based business data solutions. There are custom Java script‐
based solutions, custom data connections, and custom‐coded Web Parts. In addition, apps for Office are also available. apps for Office can access external data directly or use
the Business Connectivity Services APIs and the centralized Business Connectivity Services infrastructure. While each of these has its purpose, Business Connectivity Services
offers several advantages for enterprise‐scale data integration.

Centralized infrastructure   Business Connectivity Services is a centralized infrastructure that supports integrated data solutions. By itself, the infrastructure is unaware of any
external system or external data. Business Connectivity Services and the Office 2013 clients need to be told where the external data is, how to connect to it, and what can be
done with it. This data about the external system and external data is wrapped up in a definition called an external content type. External content types make Business
Connectivity Services aware of external systems. External content types are centrally stored and secured and can be shared by many Business Connectivity Services solutions.
External content types allow you to deeply integrate external data into SharePoint 2013 and Office 2013 solutions. The Business Connectivity Services infrastructure is very similar

https://technet.microsoft.com/en­us/library/ee661740.aspx 3/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

in server and client environments. Because of this, the developer can create an external content type and with minimal administrative intervention and that external content type
can be used in both client and server solutions.

Managed authentication   Another advantage of the centralized infrastructure in Business Connectivity Services is that it handles the security transactions with the external
system. When the developer creates the external content type, information about which authentication protocol and credentials to use is included. Business Connectivity Services
passes this configuration information to the appropriate connector and the connection is made. This means that users don’t have to provide any additional credentials when they
want to work with the external data. Business Connectivity Services can use credentials stored in the Secure Store Service. These stored credentials have access to the external
data and they are mapped to users’ individual credentials or a security group that the users are members of. This enables a single sign‐on experience for the users. On the client‐
side, users must know the credentials that the external system requires and provide the credentials the first time that they access the external data. The credentials are then
securely stored on the Windows client.

Search external content   Because the Business Connectivity Services infrastructure is built into SharePoint 2013, it takes advantage of common SharePoint 2013 features such
as Search. The external data is defined as a content source that SharePoint 2013 crawls and indexes. The search results from external data are security trimmed — meaning the
user only sees what they have permissions to see — just as all other search results in SharePoint 2013 are. Expert users, other users, and developers can interact with external
data by using the lists, Web Parts, and column features that they are already familiar with.

How does Business Connectivity Services work?


Business Connectivity Services has server‐side components and client‐side components. Business Connectivity Services solutions can include one or the other or both in a single
solution. These two component stacks work completely independently of one another. However, they are structured very similarly. They both use the same configuration data. For
the server‐side, the configuration data is stored in an external content type. External content types are stored in the Business Data Connectivity ﴾BDC﴿ Metadata Store database. For
the client‐side, the configuration data is stored in a BDC model on the client in the BDC client‐side cache. The BDC model is just a version of the external content type that is
exported to an XML file. The XML file is imported into the Office client. The server component stack and the client component stack can access the same external content sources.
The two stacks are distinguished by the user interfaces, where and how the data that define the external connection and external system are stored, and where the services run.

Server-side solutions
In Business Connectivity Services server‐side solutions, users interact only with external data in a browser on a SharePoint site. This can be on any type of SharePoint site that
supports external lists, external data columns, external Web Parts, or apps for SharePoint. SharePoint Enterprise Search of external data is supported in the browser as well.

For Business Connectivity Services to connect to an external data source and interact with the data there, that external system must be defined in a way that Business
Connectivity Services understands in an external content type. An external content type contains the name of the external system and what kind of data source it is, what type of
authentication to use for connections, where it can connect to, which operations can be performed, and, optionally, any filters and sorting instructions to be used so that only the
desired data is returned and that the data is in the correct order.

Figure: Business Connectivity Services server‐sidecomponents


https://technet.microsoft.com/en­us/library/ee661740.aspx 4/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

https://technet.microsoft.com/en­us/library/ee661740.aspx 5/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

1. A user opens a SharePoint web page that contains external data to interact with it. At a minimum, if the user has permissions to access the data, the user will be able to
read it. In addition, depending on how the supported operations are defined in the external content type and the level of permissions that the user has to the external
content type, the user might be able to create new records, update existing records, and delete existing records. If the user is in an Enterprise Search website, and the user
has the necessary permissions, the user can run queries against the records. This data can be in an external list, external data columns, external Web Parts, or apps for
SharePoint.

2. A request for the external data is created and passed to the BDC Server‐Side Runtime service. The BDC Server‐Side Runtime does a variety of jobs. It is the working
component of Business Connectivity Services and handles most of the actual activities involved with taking requests for external data, making connections and interacting
with the external data, and returning data to the user.

3. The BDC Server‐Side Runtime accesses the BDC Metadata Store and retrieves the external content type. The BDC Metadata Store is a database stored in SQL Server. It
only contains information about the connections. No external data is stored in the BDC Metadata Store or anywhere else in SharePoint 2013.

4. The BDC Server‐Side Runtime reads the external content type to see how to connect to the external data source. The BDC Server‐Side Runtime retrieves credentials from
the Secure Store if it is necessary. For more information about the Secure Store, see Plan the Secure Store Service in SharePoint Server 2013.

5. The BDC Server‐Side Runtime passes the request to the connector that can communicate with the external system.

6. The connector establishes communication with the external system, retrieves the data, and performs any write actions that might be pending. The external data is filtered
and sorted before it is returned back through the chain to the user.

Client-side solutions
In the client‐side version of Business Connectivity Services solutions, the Office 2013 applications interact with external data. A client‐side solution can run independently of
SharePoint. Not all of the Office 2013 applications interact with external data and some of them only do so in a read‐only manner. The following table provides details on which
operations are supported, how the applications can access the data, and how the connection is made.

Table: Applications and operations supported in Business Connectivity Services

Application Supported operations Access external data online or offline ClickOnce or import BDC model

Word Read only Online Import BDC model

Access CRUDQ Online Import BDC model

https://technet.microsoft.com/en­us/library/ee661740.aspx 6/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

Visio Read only Online and offline Import BDC model

InfoPath CRUDQ Online and offline Import BDC model

Excel CRUDQ Online Import BDC model

Outlook CRUDQ Online and offline Click Once installation

Before you can work with external data in an Office 2013 client you must have the prerequisite software listed here Prerequisite software that is needed to work with external
data on Office.com

In the client‐side solutions, there is some work that must be done before users can access external data through the Office client applications.

First, when the developer creates the external content type, it must be configured to support Office clients.

If the solution uses Access, the external content type must be exported as a BDC file and then imported into Access.

If the solution uses Word, InfoPath, or Excel, the application will install Microsoft SQL Server Compact 4.0 and Microsoft .NET Framework 4, and then connect to the
external data the first time that the application is used.

If the solution uses Visio, you will use the Link Data To Shapes feature in Visio to browse to an external list and connect to it.

The following diagram shows the client‐side architecture of Business Connectivity Services. You can assume that either the BDC model file was imported into the indicated
applications or connections have been made to Outlook.

Figure: Business Connectivity Services client‐side architecture

https://technet.microsoft.com/en­us/library/ee661740.aspx 7/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

1. A user attempts to access external data through one of the Office applications and the application generates a request for the data.

2. The request is passed to the BDC Client Runtime. The BDC Client Runtime performs the same functions as the BDC Server‐Side Runtime.

3. The BDC Client Runtime queries the BDC model, which is stored in the BDC client‐side cache, for the details about how to connect to the external source, which
credentials to use, and what the external data source is. The BDC client‐side cache is an instance of Microsoft SQL Server Compact 4.0, which is installed the first time that
a client‐side Business Connectivity Services solution is used.

4. If the user’s credentials don’t have access to the external data source, the user is prompted to enter a set of credentials that do. Those credentials are then stored in the
Windows Credential Manager for later use.
https://technet.microsoft.com/en­us/library/ee661740.aspx 8/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

5. Once the connection information is retrieved, the BDC Client‐Side Runtime passes the request to the appropriate connector, which establishes communication with the
data source and performs the requested and permitted operations. As with the server‐side solution, the authentication is handled by the Business Connectivity Services
client.

6. The data is then filtered and sorted by the external system and returned through the communication chain to the Office application.

What does a Business Connectivity Services solution look like?


At the most fundamental level, every Business Connectivity Services configuration is driven by the location of the Business Connectivity Services infrastructure and the location of
the external system that hosts the external data. There are only two ways that the Business Connectivity Services infrastructure and the external system can relate to one another.
The Business Connectivity Services infrastructure and the external system can be on your corporate network ﴾all‐on‐premises﴿, or both the Business Connectivity Services
infrastructure and the external system are in the cloud ﴾cloud only﴿.

On-premises solution
The first solution is one where the SharePoint 2013 farm and the external system are both behind a company’s firewall and live in company‐controlled data centers and users will
have to be on the company’s network to access it. This first type is an all‐on‐premises solution. The following diagram shows an example of an all‐on‐premises configuration. In
this example, users interact with external data through an external list and through Outlook. The external data source is a SQL Server database that contains customer contact
information.

Figure: Diagram of an all‐on‐premises solution

https://technet.microsoft.com/en­us/library/ee661740.aspx 9/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

https://technet.microsoft.com/en­us/library/ee661740.aspx 10/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

1. A user goes to an external list on a SharePoint site. The external list creates a request for data by using the user’s Windows credentials.

2. The request is sent to the BDC runtime in the SharePoint farm.

3. The BDC runtime accesses the external content type for the list ﴾in the BDC Metadata Store﴿ to see how to access the external system and which operations can be
performed. By using either the user’s credentials or the credentials from the Secure Store ﴾as defined in the external content type﴿, the BDC runtime passes the request to
a connector that can handle the request, in this case the SQL connector.

4. The SQL connector accesses the external data source and retrieves the data, and applies any formatting and filtering as specified in the external content type. The data is
passed back through the request chain to the list where the user can interact with it.

5. The user wants to take this data on a portable computer in Outlook so that the user can use the Connect to Outlook feature on the external list to take the data offline.

6. The Click Once installation runs and installs the required BDC model on the client. This lets the BDC Client‐Side Runtime access the external data directly.

7. Outlook then connects to the external data by using the configuration in the BDC model and synchronizes it into an Outlook SharePoint external list, formatted as a
contacts list.

8. The user can then interact with the contact data, and any changes that the user makes can be written back to the external data source either by an on‐demand synch or
by waiting six hours for the automated synchronization.

Cloud-only solution
Business Connectivity Services in a SharePoint Online tenancy can access data from various cloud services. For example, SharePoint Online can access data from a third‐party
stock quotes service or from the Microsoft Azure Marketplace Data Market by using the Business Connectivity Services web service connector. Because this type of solution
doesn’t include any customer‐maintained SharePoint 2013 farms and hardware and consists of only cloud‐based services, it is called a cloud‐only solution.

Figure: Diagram of a cloud‐only solution

https://technet.microsoft.com/en­us/library/ee661740.aspx 11/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

1. The user logs on to SharePoint Online and opens an external list that the user has rights to.

2. The Business Data Connectivity service runtime queries the external content type for the list in the Business Data Connectivity services metadata store to learn how to
access the external system, which operations can be performed, and which credentials to use. The external content type tells the BDC runtime to retrieve the necessary

https://technet.microsoft.com/en­us/library/ee661740.aspx 12/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

credentials from the Secure Store.

3. The Business Data Connectivity service runtime passes the request ﴾SOAP over HTTP﴿ to the endpoint of the SQL Azure Windows Communication Foundation ﴾WCF﴿
service.

4. The SQL Azure service returns the data in a SOAP envelope.

5. The SharePoint Online site displays the external list in the user’s browser. The user can then perform all the configured operations on the data source for which the user
has permissions.

For an overview of the procedures to deploying this solution, see Deploy a Business Connectivity Services cloud‐only solution in SharePoint 2013. For the procedures to deploy
this solution, see Make an External List from a SQL Azure table with Business Connectivity Services and Secure Store on Office.com

Hybrid solution
The BCS hybrid solution makes use of SharePoint Online and SharePoint 2013 on‐premises. It integrates data from an on‐premises OData service endpoint into a SharePoint
Online tenancy. The solution looks as shown in the following video and diagram. For more information about SharePoint hybrid configurations and how data and authentication
flow in the SharePoint BCS hybrid solution, see Hybrid for SharePoint Server 2013.

Video: Watch a demonstration of the BCS hybrid solution overview.

https://technet.microsoft.com/en­us/library/ee661740.aspx 13/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

Figure: Business Connectivity Services hybrid solution

https://technet.microsoft.com/en­us/library/ee661740.aspx 14/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

https://technet.microsoft.com/en­us/library/ee661740.aspx 15/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

1. An information worker logs on to the SharePoint Online tenancy using the user's federated account and opens an app for SharePoint or external list that needs data from
an on‐premises OData data source. OData is an open protocol that is used to query and update data. For more information about OData, see Introducing OData: Data
Access for the Web, the cloud, mobile devices and more in the MSDN Library.

2. The external list creates a request for the data and sends it to Business Connectivity Services. Business Connectivity Services looks at the connection settings object to see
how to connect to the data source and which credentials to use.

3. Business Connectivity Services retrieves two sets of credentials.

a. Business Connectivity Services retrieves the Secure Channel certificate from the Secure Store in SharePoint Online. This is used for SharePoint Online authentication
to the reverse proxy.

b. Business Connectivity Services retrieves an OAuth token from the Azure AD Service. This is used for user authentication to the SharePoint 2013 on‐premises farm.
You get access to the Azure AD service with your SharePoint Online subscription. It is a security token service that manages security tokens for users of SharePoint
Online. For more information about the Access Control Service, see Access Control Service 2.0 in the MSDN Library. For more information about OAuth, see OAuth
2.0 on the web.

4. Business Connectivity Services sends an HTTPS request to the published endpoint for the data source. The request includes the client certificate from the Secure Store and
the OAuth token, as well as a request for the data. The reverse proxy authenticates the request by using the client certificate and forwards it to the on‐premises
SharePoint 2013 farm. For more information about publishing SharePoint to the Internet, see SharePoint publishing solution guide in the Forefront Technical Library.

5. The on‐premises farm retrieves the user’s cloud identity from the OAuth token ﴾for example, user123@contoso.com﴿, and through the Client Side Object Model ﴾CSOM﴿
code, maps it to their on‐premises identity ﴾for example, Contoso\user123﴿. The on‐premises credentials are mapped to credentials that have access to the external data
via a Secure Store target application.

6. The on‐premises Business Connectivity Services forwards the request to the OData Service endpoint. The OData Service authenticates the request ﴾via IIS﴿ and returns the
data, which is passed back through the chain to the external list for the user to work with.

See also
 
What's New in SharePoint 2013 Resource Center

https://technet.microsoft.com/en­us/library/ee661740.aspx 16/17
9/24/2016 Overview of Business Connectivity Services in SharePoint 2013

© 2016 Microsoft

https://technet.microsoft.com/en­us/library/ee661740.aspx 17/17

You might also like