Introduction to Hybrid BCS Architecture – Part 1

 

In the past few months, I have been asked many times to architect and design a Hybrid BCS Architecture between SharePoint Online and on-premises, and lately I was asked if I can document it. Given the high demand of such topic, and the fact that the information to implement it is scattered in multiple places, I thought it will be great to share it with the community, and have my blog is a one stop place to follow instructions on how to implement a BCS Hybrid Architecture.

So here it is, this will be a series of blog articles divided by major topic to help you follow and implement Hybrid BCS.

Introduction to hybrid computing

Today’s organizations face significant challenges, including driving IT efficiency and business value in the face of increased pressure to comply with regulations. The goal of any hybridization—or the combining of two related but dissimilar entities—is to gain leverage from the strengths of both parts, while minimizing the components’ weaknesses.

Hybrid computing is based on a computing model that allows organizations to use a combination of traditional and cloud computing environments to achieve a higher degree of flexibility, rather than forcing a choice between either an on-premises or cloud model.

Why hybrid SharePoint?

Organizations can use Microsoft SharePoint Online and SharePoint on-premises to achieve a hybrid computing model. With hybrid SharePoint, these organizations can start to realize the benefits associated with the use of cloud computing—coupled with the flexibility to customize the environment and govern data as tightly as in an on-premises system—while delivering a consistent experience to users. Figure 1 shows some of the most immediate benefits, including:

  1. Maintain consistency across clouds with familiar tools and resources.
  2. Extend your data center with a consistent management toolset and familiar development and identity solutions.
  3. Provide enterprise-grade performance and security in the data center and in the cloud.
  4. Meet changing business needs with greater flexibility.
  5. Deliver capacity on demand.

Benefits of Hybrid Environment
Figure 1: Benefits of a hybrid SharePoint environment

How do SharePoint Online and SharePoint on-premises coexist?

Hybrid environments can be helpful when it is not possible for an organization to migrate to the cloud immediately or in full due to business, technical, or other reasons. Cloud services such as SharePoint Online in Microsoft Office 365 can be an attractive alternative to on-premises SharePoint business solutions, but you might find that you need to deploy only specific solutions in the cloud while still maintaining your on-premises SharePoint farm. New functionality in Microsoft SharePoint Server 2013 and SharePoint Online enables you to integrate services like Search, Business Connectivity Services (BCS), and Duet Enterprise Online across the on-premises/cloud boundary.

Introduction to Business Connectivity Service

The Business Connectivity Service (BCS) 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.

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 three 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).

An on-premises 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.

With a cloud-only configuration, 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 Windows 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.

A 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 BCS hybrid solution looks as shown in the following diagram.

Hybrid BCS

>> Next – Part 2 – Create an OData Source

Hybrid BCS – Part 2 – Create an OData Source

 

The BCS hybrid scenario supports connecting only to an Open Data protocol (Odata) source. If your external data already has an OData service endpoint, then you can skip the creation of an OData service endpoint portions of this procedure.

Using Visual Studio 2013, create an empty ASP.NET web application calling it NorthwindWeb, and follow these steps:

Add an ADO.NET Entity Data Model

 

  1. Right click on the project and choose Add >> New Item
  2. Select Data under Visual C#
  3. Select ADO.NET Entity Data Model
  4. Call it NorthwindModel.edmx
  5. Click Add
  6. Select Generate from database in the Entity Data Model Wizard
  7. Click Next
  8. Choose New Connection if you do not have an existing connection, or connect to an existing one
  9. Click Next
  10. Select Entity Framework 5.0
  11. Select all the tables
  12. Click Finish
  13. Compile the project.

Add a WCF Data Service

  1. Right click on the project and choose Add >> New Item
  2. From the Web node choose the WCF Data Service 5.6 item
  3. In the Name text box, enter Northwind
  4. Click on Add
  5. Edit the code for Northwind to update the following: 

     

     

     

    1. public class NorthwindCustomers : DataService <NorthwindEntities>
    2. Replace the comments in the InitializeService event handler with the following: config.SetEntitySetAccessRule(“*”, EntitySetRights.All);
  6. Compile the project.

This should be for creating an OData Source.

<< Prevoius – Part 1 – Introduction to Hybrid BCS Architecture

>> Next – Part 3 – External Content Type Configuration