Planning to Use BCS
Whenever a solution is created that should be easily used by many people, whether it is a SharePoint-related solution or any other type of solution, the ease of use will come only if the architect of the solution has a deep understanding of the types of business scenarios it will be used for, information about the systems that store the business data, and knowledge of the skill set of the users. This is true for a Business Connectivity Services (BCS) solution as well. The person who architects the solution could be a business analyst, a citizen developer, a power end user, or a representative from the IT department, such as a developer.
A BCS solution consists of many components, and with good planning you can create an effective solution. The key to successfully using BCS is to create a Business Data Connectivity (BDC) model file that contains meaningfully named definitions that users can then use to expose the external data on their sites.
During the planning stages, you will need to liaise with a number of people, depending on your knowledge, the scope of the solution, and the number of external systems the solution will use. The solution can be very complex or simple. You need to give consideration to security, ensuring that users who should be allowed to use the data can use the data and that those users are not presented with permission-related error messages.
A BCS solution is not like a solution that can be created using the Data Sources gallery in SharePoint Designer. Such solutions tend to be created on a per-site basis, for a small set of users, by a person who knows the external system and knows the users who will use the solution. The creator of such a solution tends to also be a user of the solution and can tweak and readily extend the solution, creating other Data Source definitions as required using naming conventions that only the creator needs to understand.
If you plan to make heavy use of BCS within your organization, you will need a thorough understanding of BCS, which is the aim of this book. The project/program manager will have to create a communication plan so that end users adopt the solution. For example, the project/program manager will have to obtain the backing of the business owner; train the relevant citizen developers and help desk staff in the use of external lists, SharePoint Designer, and InfoPath Designer; and create electronic help or additional text on pages, such as any new pages you plan for the search center to inform users of the new search capabilities.
You may have to build a prototype that enables you to create the necessary business plan so you can identify whether the BCS solution is a SharePoint-related solution and/or an Office client application solution, whether users want to connect to the data using Outlook, and whether they want to take the data offline. You will need to identify if you can create the solution with only the out-of-thebox functionality or if you will need professional developer assistance.
In reading this chapter, you most likely have already identified some of the technical decisions and tasks you will need to complete when creating a BCS solution, including the following infrastructure and security-related tasks:
Determine which SharePoint servers will run BCS service application(s).
Consider whether you need more than one BCS service application.
Plan to include capacity and performance testing for solutions that will be used extensively. The BCS solutions you develop could result in a large amount of data being transferred from the external systems to the SharePoint servers. These solutions could increase workload on the external systems and SharePoint servers.
Add SQL database backup and monitoring processes and procedures for all new BCS and SSS databases.
For an Office client application solution, identify whether the functionality you plan to use requires the Enterprise edition of SharePoint Server 2010 and Office Professional Plus 2010.
Identify the authentication methods used by SharePoint and the external systems.
Determine whether the BCS solution will need to use the SSS.
Consider the need to secure communication between user devices and SharePoint servers and external systems for SharePoint-based solutions, or between user devices and external systems for Office client application solutions.
Plan permissions for the SharePoint site, BDC service application, and external system.