This document appears to be a presentation about SharePoint Saturday St. Louis 2014. It discusses various SharePoint topics including external lists, the browser, Secure Store, Business Connectivity Services, external data, and linked databases. Various terms are defined on the slides. The presentation concludes by thanking sponsors and providing contact information for the presenter.
We’re going to briefly review the options for accessing external data stores and then we’ll discuss a solution bringing DB2 data into a SharePoint list.We’ll then look at ways to make the data easier for an end user to manipulate and cover the Governance changes requiredFinally a quick review of the tools required and then on to the questions.
Why use BCS at all? Can’t you do all this with .Net?BCS can make your job Easier and Faster. I don’t want to spin this as roses and unicorns because it can also get you wrapped up and frustrated. I’m going to give you some tips that will hopefully limit your frustrations.
The features shown will work equally on SharePoint 2010 and 2013. I have not tested this on MOSS 2007 or Office 365.Like many DIY solutions we try to make use of what we have at hand. Authentication can likely be handled with different LDAP stores or even revert to self if your security team would allow it, but this is a Microsoft course so we’ll try to use Microsoft technologies as much as possible.
This process flow outlines the various connections and linkagesthat a request traverses to verify that a user has permission to the content and then to retrieve and display the content for the user.User requests list of External Content from SharePoint by loading a page containing a configured BCS webPartIf the user has access to the site, the webPart forwards a request with user’s windows credentials to the BCS serviceBCS service looks for and returns mapping of the end user’s windows credential translating it into an application windows credential using the Secure Store ServiceBCS service passes the request to the SQL Server Database view using the application windows credentialthe SQL Server passes the request to the Linked Database Object The Linked Database Object translates the windows application credential into a mainframe application credential using the local linked object mapping and passes the request to the Mainframe DB2 using an ODBC connection configured with The request is sent back through the database layers to the BCS service
Security First – usually we just get it working and then add in security, but we’re going to deviate here from that practice to save some steps later.Access Central Admin and navigate to the Secure Store Service ApplicationCreate a new Target Application IDThe Target Application ID will be used later to define access to the DatabaseThe Type of Group allows many users to share this single ID
If you only want a subset of your users to have access, add a group of users in the Members picker.
This is the secret sauce.Once these steps are complete, the process is nearly identical to creating any other BCS External Content TypeThe only difference is that you will connect to a view instead of a table
New Tool – SQL Server Management StudioIf you are not a SQL Admin, you’ll need to get SysAdmin access to a database to do this. If you are lucky and have a SQL DBA, ask them to create this linked server.Before you start make sure the service account that runs your SQL Services is in the local machine Administrators group.
If you are familiar with JDBC, the provider string is akin to the Connection StringWe also turn off RPC out because we want to limit how the queries are passed to the remote data store
Do you need a failover login for testing?
Allow inProcess and Lazy Schema or you will likely run into performance issues
Allow inProcess and Lazy Schema or you will likely run into performance issues
Abstracting the content to a View allows the DBA to segment access if for example different tables need different abilities (prevent deletions or insertions or readonly) or if different user groups need different level of access and the DBA is not comfortable offloading that control to a SharePoint admin or Site Admin. Views also allow the DBA to set up the linked database connection once and then manage access to different tables for different projects without the tedium of maintaining multiple linked database connections.
New Tool – SharePoint designer
Name it
Choose the data source
For this discussion, the Focus is on SQL Server Connection typesAdditional options .Net or WCF typesSQL Server offers the simplest creation mechanism for the IT Pro creating the External Content TypeBoth.Net and WCF solutions require 3rd Party Database Drivers to be installed on the Server hosting BCSThere are good use cases in which it would be recommended to use a .Net Assembly or a Custom WCF Service connector. If you have need of table joins and can deploy a solution to your farm, then a .Net Assembly Connector may be a better solution. If your back end data store changes frequently a Custom WCF Service Connector may be a better solution.The use case we are solving for in this example is a simple database table that needs frequent updates and we don’t want to write a custom application so why not use SharePoint and take advantage of the built-in authentication and user interface capabilities?
In this credential request, use the account that was given permission to the SQL view
Pick your Primary Key and if you have read-only fields select them here
If you don’t limit to 2000 and you don’t use powershell to increase this default you may not be able to access all of your data. So create a limit filter.Other filters allow you to create custom views using the BCS WebParts later on, but that’s another presentation.
Don’t forget to save!
Now create a new External List using this newly created ECT.
New Tool InfoPath DesignerRe-arrange fields,Add Business Logic, populate some fields based on who is filling out the form or previous fields’ selections….