After an application is defined in the metadata, business data can be presented by using built-in business data Web Parts and incorporating business data columns in lists and libraries. You can then exploit the default behavior of Web Parts, lists, and libraries, such as defining an audience, targeting, filtering, and using Web-Part connections.
SharePoint Server 2007 ships with six generic Business Data Web Parts. These Web Parts can be used to display any entity from the BDC, without writing any code. After they are configured, they will automatically be named after the entity data they are displaying. The Web Parts that display data from the LOB systems query the metadata cached on each Web front-end server, and then the instance data is retrieved from the data source. The Web Parts are described in Table 12-4.
Business Data Actions
Displays a list of actions associated with an entity defined in the metadata.
Business Data Items
Displays one instance of any entity that you register in the BDC. A filter must be defined in the metadata for this Web Part to be used.
Business Data Item Builder
The Web Part reads the URL of the page and sends the identifier to the other Web Parts on the page, using data WebPart connections.
Business Data List
Displays a list of instances of any entity that you have registered in the BDC. A filter, if defined in the metadata, can be used to limit the number of instances retrieved.
Business Data Related List.
Displays a list of related entity instances, creating what is known as a master detail Web page. The description for this Web Part states to choose a type of data to display. In metadata terminology, you would say, "choose an entity to display." Microsoft believed that "type" was more user friendly for end-users than the term "entity." To use this Web Part, you do not need to understand the underlying database query, but you must know the relationships between the entities within an LOB system.
Business Data Catalog Filter
This Web Part is categorized as a Filter Web Part, which can be very useful on business intelligence site and dashboards. You can use this Web Part to filter the contents of connected Web Parts using a list of values from the BDC.
After these Web Parts are placed on a Web Part page, you will need to open the Web Part tool pane. See Chapter 29, "Microsoft Office SharePoint Services 2007 Web Parts," for detailed instructions on adding and customizing Web Parts. In the tool pane, click the Browse icon as shown in Figure 12-13.
Figure 12-13: Business Data tool pane
The Business Data Type Picker dialog box is displayed as shown in Figure 12-14. It lists all the entities defined in the BDC and the data sources they come from.
Figure 12-14: Business Data Type Picker
In Figure 12-13, you can see a Data Form Web Part section. All business data Web Parts are derived from the Data Form Web Part and, therefore, can be extensively customized using XSL or SharePoint Designer.
SharePoint Server 2007 provides a new file type, custom, that you can use to make business data available to all lists and libraries in Web applications associated with the Shared Services where you have defined the business data. To add a business data column to a list, complete the following tasks:
Navigate to the list or library where you want to add the column.
On the list tool bar, below the list name, click Settings and then List Settings.
In the Columns section, click Create column.
In the Name And Type section, enter a column name and select the Business Data type. This column type can hold any entity data type. The page is redisplayed, and the Additional Column Settings section now contains business data Browse and Type Check icons.
Click the Browse icon and the Business Data Type Picker dialog box is displayed as shown in Figure 12-14. Choose the appropriate entity, and click OK. The dialog box closes, and the Additional Column Settings section contains a list of properties associated with this entity, as shown in Figure 12-15.
From the Display This Field Of The Selected Type drop-down list, select a field and then click any related data you want to display. For example, you might choose to display a reseller's name together with the reseller's business type and phone number. You can choose to display the Actions menu and link the column to the Profile page.
Figure 12-15: Business Data type additional column settings
When you create a new column, you can choose whether the column is added to the default view. If you select related data, those columns are also added to the default view.
Now when you add a new list item, you can use the business data Browse icon to display the Entity Instance Picker dialog box. Up to this point, only the metadata using the Administrator object model has been used to retrieve the information from the cached metadata held in the Web front end. When the list is displayed, the runtime object model connects to the business data source, and it copies the identifier and the selected type, together with any related data, into the list, unlike the business data Web Parts, which contain only a link to the business data. To update the data in the list, you can click the Refresh icon in the selected type column name. A Web page is displayed that warns you that this operation could take a long time. If you click Yes, the data source is contacted to return the necessary data. By copying the business data in the list, the business data within the list has inherited all list type operations, such as view and filter.
By default, SharePoint Server 2007 can import a list of domain users from the Active Directory directory service, LDAP server, or Business Data Catalog. SharePoint Server 2007 treats Active Directory and LDAP directories as master connections for importing user information-that is, it can use them as a source to create user profiles. This arrangement implies that, if a user is missing from the master connection, SharePoint Server 2007 assumes the user is no longer in the organization and removes the user from the user profiles database. However, SharePoint Server 2007 treats the business data sources only as a supplementary data source; it uses the data only to provide additional user information not available in the master connection. The Business Data Catalog data sources can not be used as the master user list. When an SSP is first created, no profile import is configured. To configure the profile import, navigate to the User Profile And Properties Web page, and click Configure Profile Import. On the Configure Profile Import Web page, which ever the source option selected, a master connection is created, based on an Active Directory or LDAP source. To add a user profile import based on the BDC, complete the process detailed below.
The use of the BDC with user profiles is a two-step process:
Import data from the BDC into the profile database.
Map the profile properties to the BDC data.
To import data from the BDC into the profile database, follow these steps:
On the Shared Services Administration Web page, click User profiles and properties.
Click View import connections, and then click Create New Connection.
On the Add Connection page, in the Type drop-down list, select Business Data Catalog. The page is refreshed and the Connections Settings section contains business data Browse and Type Check icons, as shown in Figure 12-16.
Type a name in the Connection Name text box, and click the Browse icon. The Business Data Type Picker dialog box is displayed (as shown in Figure 12-14). Choose the appropriate entity, and click OK to close the dialog box.
Choose either the 1:1 Mapping or 1:Many Mapping connection type.
Figure 12-16: User Profile Import-Add Connection Web page
Real World Mapping Business Data to User Profiles
Use the mapping connection type to map business source information specific to one user, such as when a SAP system contains a user's personal details. If your data source returns one row of personal data per user, then use the 1:1 mapping connection. In this situation, from the drop-down list, "Return items identified by this profile property", select the user profile property, such as, the AccountName. In the metadata, this information has to map to an Identifier property for the entity, with a matching SpecificFinder method. Both the user profile property and the identity type must match-for example, they both must be text; one cannot be defined as an integer and the other as a text string. If your data source contains more than one row per user, then use the 1:many mapping connection. From the drop-down list, "Filter items by," select the property in the entity that identifies the rows in the data source for a user, and then in the second drop down list, "Use this profile property as the filter value," select the profile property whose value can be used as the filter value.
Just as you can with an Active Directory import, you can schedule a process to synchronize the business data periodically.
To map profile properties to BDC data, follow these steps:
On the Shared Services Administration Web page, click User Profiles And Properties to display the User Profile And Properties Web page.
If you do not have a profile property to map to in the User Profile Properties section, click Add Profile Property to display the Add User Profile Property Web page.
Complete the Property Settings, User Description, Policy Settings, Edit Settings, Display Settings, and Search Settings sections according to your requirements.
In the Property Import Mapping section, from the Data Connection dropdown list, choose the appropriate data source and map it to the required entity, as shown in Figure 12-17.
If you have an existing property that you want to map to a BDC data source, in the User Profile Properties section on the Profile And Properties Web page, click View Profile Properties to display the View Profile Properties Web page.
Find the required property, and from the drop-down list, select Edit to display the Edit User Profile Property page.
Configure the Property Import Mapping section as described in part b of step 2.
Figure 12-17: Property import mapping
In the Edit Settings section of the User Profile Properties page, you can allow users to edit a property. You should not allow users to edit profile properties that map to imported properties, as they will be overwritten when the next profile import is scheduled.
After you have defined a business application in the BDC and configured the user profiles, you can use the existing features in SharePoint Server 2007 to personalize and target content to users, including the personalization features on My Site.
A new feature in Windows SharePoint Services 3.0, is the Data Connection Library (DCL), which provides a place to store, share, and manage connection files. The DCL connection files are designed for use with Excel, InfoPath, and Reporting Services. The connection files managed by the DCL are Office Data Connection (ODC) files that contain information and parameter needs to connect to a business application, such as server name, table name, and query. Therefore, they are very similar to the ADF. However, these connection files should not be confused with the ADF, which can be used only from the BDC. Now you no longer need to embed connection strings into each Excel workbook, you can save them centrally in a DCL.
To create a DCL, create a document library and select Microsoft Office Data Connection as the document template. Further information on this new feature can be found in Chapter 20 and Chapter 21.
The BDC comes with a protocol handler that enables SharePoint Server 2007 to index and provide full-text searches. However, defining data sources in the BDC does not make data automatically available within search. First, the data source must be registered with the BDC, and the metadata must have defined an IDEnumerator method, which is used in conjunction with the SpecificFinder method to return data from the data source. Then you must configure Enterprise Search for searching the business data. This section details this second activity, which consists of three steps:
Add a content source.
Map crawled properties.
Optionally, create a search scope, customized search pages, custom search queries, or all three.
To include the content from a data source in the Enterprise Search, you must create content sources. For each content source, you have the choice of creating a content source for all the data defined in the BDC, for each LOB system, or for a combination of LOB systems. To create a content source for business data, complete the following steps:
On the SharePoint 3.0 Central Administration Web site, in the left navigation pane, click the name of the Shared Services Provider where you imported the metadata package.
In the Search section, click Search Settings to display the Configure Search Settings Web page.
Click Content Sources and crawl schedules to display the Manage Content Sources page.
Click New Content Source, type a name, and then in the Content Source Type section, click Business Data. The Add Content Source Web Part refreshes, and a list of all the LOB systems defined in the BDC is displayed, similar to the list shown in Figure 12-18.
You can set the crawl schedules for the incremental and full crawls at content source creation time or later. Incremental crawls are only possible if a LastModified-Date property is one of the return fields in a SpecificFinder method for an entity. Similarly, you can start a full crawl immediately. See Chapter 17, "Enterprise Search and Indexing Deployment," for more information on the Search Settings options.
Click OK, and then if you haven't already done so, complete a full crawl.
Figure 12-18: Adding a business data content source
In SharePoint Server 2007, the Enterprise Search feature is able to discover new properties, known as crawled properties. To make a crawled property available to a user, you need to make sure it is included in the search index and mapped to a managed property as detailed in the following steps:
Wait for a full crawl to complete on the new content source, and then on the Configure Search Settings Web page, click Metadata Property Mappings.
In the left navigation pane, click Crawled Properties. The Metadata Property Mappings page is displayed. If this is the first time you have crawled a business data content source, the Number Of Properties column for the Business Data category should not be zero if the crawl process was successful and your ADF was correctly defined.
Keep track of the number of properties as you incorporate each business data content source so that, if the number does not rise, you can quickly identify issues with the IDEnumerator and SpecificFinder method definitions in the metadata.
Click the Business Data link in the Category Name column. The Metadata Property Mappings Web page is displayed, as shown in Figure 12-19.
For each entity that has an IDEnumerator method, there will be at least one property name for each TypeDescriptor defined in the SpecificFinder method. Any property that has a Yes in the Mapped To Content column is already included in the search index. The default configuration, which you can amend, is to include only text properties in the search index.
To include a property in the search index-for example, one of the non-text properties-click the property name in the Property Name column. On the Edit Crawled Property Web page, in the Mappings to managed properties section, select the Include Values For This Property in the search index option and then click OK.
To map a crawled property, you can choose an existing managed property or create a new one. It is likely you will choose to create a new managed property as follows:
In the left navigation pane, click Managed Properties, and then on the Metadata Property Mappings Web page, click New Managed Property. The New Managed Property Web page is displayed.
In the Name and type section, enter a Property Name and select a type of information for the property.
In the Mappings to crawled properties section, click Add Mapping. The Crawled Property Selection dialog box is displayed, as shown in Figure 12-20.
In the Select a category drop-down list, select Business Data. This dialog box will show only properties that are of the specified type and included in the index. If the number of properties available is greater than the dialog box can display, a yellow arrow is displayed. You can use the yellow arrow icons to scroll through the properties or, alternatively, you can use the Find feature.
Select the required property and then click OK. The dialog box closes, and the crawled property appears in the text box.
Select the Allow this property to be used in scopes option, to make the property available for use in defining search scoptes.
Click OK, and repeat this procedure for each crawled property you need to map to a managed property.
In the breadcrumb, click Search Settings, and then click Content sources and crawl schedules. For the appropriate content source you created, from the drop-down list select Start Full Crawl.
Figure 12-19: Metadata Property Mappings Web page
Figure 12-20: Crawled Property Selection dialog box
After steps 1 and 2 have been completed, you should be able to find data from the business data sources. The search results page provides links to the entity's profile page, as shown in Figure 12-21.
Figure 12-21: Search Center search business data result set
If you want users to limit the search for keywords to a specific business data source, you can create a search scope with a rule that specifies the content source you created. You could also create a new tab in the Search Center to display the search results associated with this content source. Please refer to Chapter 16, "Enterprise Search and Indexing Architecture and Administration" for information on configuring the user's experience in the Search Center.
Following are some important practices you should put in place:
Expose your business applications as databases or as a Web service.
Develop BDC-friendly IDEnumerator Finder and SpecificFinder methods.
Simplify your custom integration code with the BDC runtime API.