Suppose your users want to be able to view and change data from a line of business (LOB) application in a program that they find most comfortable: Microsoft Outlook. With SharePoint 2010’s Business Connectivity Services (BCS), it’s possible to do just that. With BCS, you can directly expose a LOB application’s data through entities called External Content Types (ECTs). You can also have the ECTs write data back to the LOB application.
I’ll show you how to create an ECT that exposes a LOB application’s data to SharePoint 2010. I’ll then dive into how to provide users with the ability to connect Outlook to a SharePoint external list so that they can display the data from the LOB application. I’m assuming that you’re familiar with BCS basics. If you’re not, a good place to start learning is the Business Connectivity Services in SharePoint Server 2010 web page.
Creating the ECT
You can create an ECT in SharePoint Designer 2010 or Visual Studio. SharePoint Designer is much easier to use for this task because you don’t need to use any code. So, for the example that follows, I’m using SharePoint Designer 2010. The LOB application data is from the Contact table in the sample Adventure Works 2008 R2 SR1 database, which you can download for free from www.codeplex.com. I chose the Contact table because of its design. Many of its columns relate well to Outlook’s Contact fields, such as first name, last name, email address, and phone.
In my free video “Create External Content Types using SharePoint Designer 2010," I demonstrate in detail how to create an ECT. Instead of repeating that here, I want to note two important parts of the process:
1. When you start to create the ECT, make sure that you select Contact as the Office Item Type, as Figure 1 shows. This ensures that when you configure the ECT, you’ll get an opportunity to map your LOB application fields to the appropriate Contact fields in Outlook.
2. When you configure the ECT parameters, you’ll encounter the Parameters Configuration screen shown in Figure 2. In this screen, you need to map the data source elements (which, in this case, are the table’s columns) to the appropriate Office property (which, in this case, are Outlook’s Contact fields). Not all the data source elements will have a matching Office property—that’s okay. You just need to know that only the properties that are mapped this way will be exposed in Outlook.
Using the ECT
Typically, business process analysts manage LOB application data. I’ll walk you through the steps that they’ll need to take when they want to create an external list, which displays the information from the ECT. I’ll also discuss how to view that information in Outlook 2010.
The business process analysts need to be working in a site that’s being serviced by the BCS service application in which the ECT was created. (A BCS service application can provide services to multiple web applications. A web application can contain multiple site collections. Each site collection can be comprised of numerous websites.)
To begin, the business process analysts should navigate to the Create screen of the site,then choose the External List option. When the External List creation screen appears, they can use the ECT browser icon to browse to and select the appropriate ECT, then click Create.
After the external list is created, it acts like a regular SharePoint list, with a few exceptions. The main thing to remember about the external list is that the data shown isn't stored in SharePoint. The data is surfaced directly from the LOB application. At this point, if a business process analyst edits the records in the external list, he or she would be editing the records in the LOB application’s back-end system (which, in this example, is the Contact table).
To take this a step further, the business process analysts can connect to the external list and expose the LOB application data using Outlook. This process is started by clicking the List tab, then choosing the Connect to Outlook option, as Figure 3 shows. (Note that the external list in Figure 3 has been modified to hide a few fields.)
To make the connection, the Microsoft Office Customization Installer starts up. It installs the BCS solution generated for that external list on the client machine. The business process analysts just need to follow the prompts to complete the installation and click Close when finished. Outlook then opens the external list and displays the contacts from the Contact table, which Figure 4 shows.
All of the mapped fields show up directly in each contact card. This data is cached on the client machine as well. The business process analysts can now treat this data as any other contact data. No matter whether they’re online or offline, they can open each contact card, change the content, and save their changes. When a network connection is present, the data is synchronized with the back-end system in the LOB application.
Empower Your Users
It’s easy to expose LOB application data in Outlook so that users can manage it. However, you’re putting a lot of power into their hands. For this reason, they should be trained to manage this data.