Types of Solutions You Can Create Using BCS

SharePoint 2010

Last modified: April 19, 2010

Applies to: SharePoint Server 2010

In this article
Simple Solutions
Intermediate Declarative Solutions
Advanced Code-Based Solutions

You can build a broad spectrum of solutions by using Microsoft Business Connectivity Services (BCS). These range from simple solutions that rely on native capabilities with little or no customization, to intermediate solutions that involve customizing features in SharePoint 2010 and Office 2010, and advanced solutions that enable complex scenarios and rich applications that extend the functionality offered by SharePoint 2010 and Office 2010. Note that advanced solutions involve writing code via Visual Studio, and can either be complete end-to-end solutions, or reusable code-based components that can be included in an intermediate solution.

By offering this development approach, Business Connectivity Services empowers business users to rapidly and easily address a broad array of external data needs by using the browser and the Office client. Without writing code, users can assemble composite solutions using the Business Connectivity Services features such as external lists and External Data columns, and the reusable Business Connectivity Services components that are created by the developers and approved by IT within Office client applications and SharePoint sites. These solutions enable these business users (and their teams) to work with external data as easily as with SharePoint data, either offline or connected, or directly in the rich experience of Microsoft Office.

IT professionals can manage these no-code user solutions and define resource throttling controls on resource consumption on the server infrastructure, so that SharePoint can ensure that solutions stay within their predefined limits. This enables IT professionals to maintain operational insight and a stable platform.

Developers have more time to create reusable Business Connectivity Services components and focus their efforts on building rich and complex end-to-end solutions.

Type of Solution



Code Required

Roles that Create the Solution

Simple solutions

Takes advantage of the native capabilities of Business Connectivity Services, SharePoint 2010, and Office 2010 applications.

Information workers assemble simple solutions by using native capabilities of SharePoint and Office such as external lists and External Data in SharePoint lists.

No. However, can use reusable Business Connectivity Services components created by experienced or "power" users and developers.

Information workers

Intermediate declarative solutions

Uses no-code tools offered by SharePoint and Office applications and the rich customization features of Business Connectivity Services, SharePoint 2010, and Office 2010 to create more powerful and customized solutions.

Assemble and customize composite solutions by using native capabilities of SharePoint and Office, and by taking advantage of reusable Business Connectivity Services components that developers have created.

Create a Microsoft Outlook solution without writing code.

No. However, can use reusable Business Connectivity Services components created by power users and developers.

Power users and developers

Advanced code-based solutions

Uses Microsoft Visual Studio 2010 to create rich code-based solutions. These solutions also use the rich project templates offered by Visual Studio 2010 to create Office application add-ins and BDC models.

Create reusable components (for example, External Content Types, External Data Parts, Web Parts, workflow activities, code actions, and custom field types) that can be used to assemble simple and intermediate composite solutions.

Create end-to-end solutions by using Office, SharePoint, and Business Connectivity Services object models.



The solutions you can create without writing code are important for two reasons:  

  • They greatly increase the set of users who can build these types of solutions, freeing up developers and IT organizations to focus their resources on solving other problems.

  • Central IT retains control over what these solutions can do, which reduces management issues and makes it easier to "convert" solutions to a central IT-supported application that can be rolled out to a larger audience later. This ease of conversion results from solutions that are created and customized using a standard set of capabilities and tools.

Advanced category is entirely code-based, using Visual Studio as the environment to compose and publish reusable components or entire end-to-end solutions.

Here is a diagrammatic representation of the types of solutions you can build with Business Connectivity Services. Let's look at each type of solution in more detail in the following sections:

Types of BCS solutions

In SharePoint 2010, you can surface external data in an external list or on a Web Parts page via the Business Data Web Parts or the Chart Web Part. You can easily customize these external lists and Web Parts pages by using the SharePoint user interface to display filtered and custom views of data.

You can also add an External Data column to a standard SharePoint list or document library. That column can then be exposed as a Quick Part (also known as a content control) in Microsoft Word.

If you have Microsoft SharePoint Server 2010 with Enterprise Client Access License, you can take an external list offline to Outlook 2010 and enable users to interact with the external data from within Outlook. Users see the same formatting (contact, appointment, task, or post) as regular Outlook items and interact with them just like they interact with regular Outlook items. Users can also create custom views for the folders containing external data in Outlook to view the data in different ways. This type of solution runs under the native Business Connectivity ServicesOutlook add-in, which is installed with Office 2010 and is loaded when Outlook is started.  

If you have Microsoft SharePoint Server 2010 with Enterprise Client Access License, you can also take an external list offline to Microsoft SharePoint Workspace 2010 and enable users to interact with the external data from within SharePoint Workspace. Business Connectivity Services does not provide an extensible programming model to extend this type of simple solution. However, you can associate a Microsoft InfoPath Form with the external list, which then enables you to customize the form and present it on both the server and on the client in SharePoint Workspace.

In Outlook and SharePoint Workspace, users can choose to synchronize data directly with the external systems on an automated basis (the default is every three hours) or by explicitly clicking an action. They can also check for updates to the external list; for example, updates to the structure of the external list, its forms, or its views. Users can also create profile pages. These show up in search results when users search for external data in SharePoint sites.

Tool Support

After a power user or developer creates external content types and IT adds them to a catalog, business users can create an external list by using the browser or SharePoint Designer. They click a button in the Server ribbon to connect it to Outlook or SharePoint Workspace. Web Parts pages and external data columns can be created by using the browser or SharePoint Designer.


There are two types of intermediate declarative solutions: enhanced simple solutions and declarative Outlook solutions.

Enhanced Simple Solutions

The most common types of intermediate solutions are simple solutions that are customized to add capabilities without writing code by using tools such as SharePoint Designer and InfoPath Forms Designer, and the browser. The additional capabilities include InfoPath forms, SharePoint workflows, and SharePoint Web Parts pages.

InfoPath Forms

You can customize InfoPath forms that present external data by changing the look and feel, adding declarative rules or business logic, or adding code-behind. The latter requires the form to be published as an administrator-deployed form to the server. See the InfoPath 2010 documentation on MSDN for more information about these capabilities, and for walkthroughs and samples on using them.

SharePoint Workflows

You can also create or add capabilities to SharePoint workflows through SharePoint Designer in the following ways:

  • By configuring the SharePoint list activities to read data from or write data to an external list

  • By reusing a custom workflow activity built in Visual Studio (and published to SharePoint) that interacts with external lists or the Business Data Connectivity (BDC) service runtime object model.

Web Parts Pages and Profile Pages

You can create Web Parts pages that use native Web Parts (External Data Item, List, Related List, Actions, Item Builder, and Filter, as well as the Chart Web Part), and optionally configure part-to-part connections to send data between them. You can customize the look and feel of parts by editing the XSLT of each part in the Web Part tool pane. You can also customize the Profile pages as you would any Web Parts pages.

Outlook Forms

You can customize Outlook forms and form regions that present external data by changing the look and feel. See the Outlook 2010 documentation on MSDN for more information about form customization, and for walkthroughs and samples.

Word Document Template

You can create a Word document template that uses External Data columns from a SharePoint list or document library, and upload it to enable users of the list or library to easily author the document.

Declarative Outlook Solution

Another type of intermediate customization involves external data in Outlook 2010. A common scenario would be showing related Order information in a custom task pane when a user has a Business Contact inspector open.

Starting with basic Outlook elements, you can customize the view for a folder of external data. This is done by opening the folder in Outlook and using the standard commands to build and save a new view. Business Connectivity Services provides a command to save the customized view to SharePoint and place it in a subfolder of the external list, making it available to future users who connect the list to Outlook.  

Certain Outlookcustomizations are slightly more complex than other intermediate customizations and require the creation of XML files—for example, BDC Model, Solution Manifest (Oir.config), Subscription, Ribbon, and Layouts files—and then the creation of a ClickOnce package by using the BCS Solution Packaging Tool available on MSDN Code Gallery. Users can then deploy the solution in Outlook by installing the ClickOnce package. In such a solution, you can define custom task panes and present external data to users via External Data Parts (either those provided with SharePoint or code-based custom parts) that are hosted in a task pane. You can also define ribbon files and custom actions (exposed in the ribbon or in an External Data Part) that either trigger code or launch a browser pointing to a URL. Finally, you can customizeOutlookforms by starting with the autogenerated forms that Business Connectivity Services provides, editing them, and then saving or exporting the files. These customizations use the Business Connectivity Services rich client runtime (including the Business Connectivity ServicesOutlook add-in), which presents the elements defined in the XML files at run time.

Tools Support

You can use a variety of tools to build intermediate solutions. These tools include InfoPath Designer (for forms), SharePoint Designer (for workflows), a browser (for SharePoint Web Parts pages), and Outlook (for customized forms and views).

To create the XML files needed for your Outlook declarative solution, you can use any XML editor. Visual Studio can provide IntelliSense, which can be helpful when creating these XML files. Samples to get you started are available as part of this SDK. The BCS Solution Packaging Tool available on MSDN Code Gallery can be used to easily create a ClickOnce package for Outlook declarative solutions.  


Advanced code-based solutions can involve the creation of reusable Business Connectivity Services components such as:

Advanced code-based solutions can also involve the creation of entire end-to-end solutions that use the public Business Connectivity Services object model.

A code-based, end-to-end .NET Framework solution created in a tool such as Visual Studio can use any element of the public BCS object model and can enable users to interact with external data. It can register with the BDC service by using the BDC object model to present data in SharePoint, in an Office 2010 application such as Microsoft Excel, or in a custom application. This object model is installed with Microsoft SharePoint Foundation 2010, SharePoint Server 2010, or Office 2010. External data can be retrieved directly from the external system while connected, or it can be retrieved locally from the BCS rich client cache, if it is already available (typically achieved by taking external lists offline to SharePoint Workspace or Outlook, or by using a data-only solution). This type of solution can be used to extend Business Connectivity Services to Office applications for which there is no built-in support, such as Excel or PowerPoint.  

In a code-based, end-to-end solution, the developer controls all of the user interface, packaging, and deployment. This type of solution cannot make use of the BCS Client Runtime, which is used by simple and intermediate solutions to integrate data into Office applications.

Tool Support

Code-based solutions are developed in a tool such as Visual Studio 2010. A BDC project type is available to facilitate the creation of .NET connectivity assemblies. Application-specific Office add-in project templates are available for quickly creating Office add-ins.