SharePoint BCS Deep Dive

BCS – Everything that is involved in external data and being able to extract it and provide it in the SharePoint environment

Business Connectivity Services

See presentation for a good slide about the components involved in the BCS

Important point, the BCS runtime is now on the client side as well, but it is very transparent. Ability to offline data on the client now because of this.

BCS Investments

  • Presentation – New external lists
  • Connectivity – Offline and client support
  • Tooling – Major enhancements for modeling and creation of BC
  • Lifecycle Management – Support for packaging not just the ADF, but assemblies for code behind and deploy to the server

Search now does all the security trimming up front, so it doesn't require an extra hop when searches are done that have results from BCS data.

Index will now search through documents that are exposed in the BCS applications. It will provide a link to the external document where search items were found.

Now doing a demo on creating a BCS project that accesses a flat file, this has really become simplified in 2010. He just mentioned that he's never looked at the XML created for this demo in all the times he's run it, applause ensues J

Ohh man, they made a change to the connection of web services, it now creates a proxy for you so you don't have to provide the special things needed for BCS connections

Improvements in the BCS Runtime

  • Write back capable, is now supported. Both Client and the Server.
  • Batch read operations, reduces traffic.
  • Navigate and create associations
  • Bulk API's – Allows you to package results and get them back in chunks
  • You can now read Blob's (including streaming)
  • Support for complex types in .Net
  • Custom store providers

More demo on the Object Model

Dispatcher component on the client is the only non-symmetrical piece in the BCS

You can schedule retrieval of data for the client so they always have the latest set of data.

Deep dive now

Admin OM

  • Server Client and file backed catalog
  • Rich OM to create and modify any meta data object
  • Out of the box Client OM for remote publishing
  • Symmetrical client and server OM
  • Full Fledge meta data validation at publishing time
  • Referential integrity across the store
  • In Memory meta data caching for performance!!

Demo of admin tasks

  • You can integrate these tasks into workflows as well, this is a nice feature
  • He creates an ECT through C#, not sure if I like going back to creating it manually now after seeing the new designers J

Data Integration Extensibility

  • .Net Host Connector
    • Useful approach if the business logic can be exposed through static API's that rarely change
    • Does not provide a way to over-ride the default TypeReflector
  • Custom Connector
    • Useful when back end interfaces change frequently
    • Provides a way to over-ride the default TypeReflector through the BCS admin page
  • Server and Client side pluggability for custom SSO provider - Very nice little bit for making it more flexible. Note you must provide both offline and online support on custom providers.

BCS Offline support

  • Subscriptions support WOOT
    • Client subscribes to LOB data and framework polls periodically – within the Finder methods
    • Based on Cache Subscriptions
      • Define what (query) to cache and how often to refresh it
  • Seamless offline experience
    • Read, Writeback operations queuing

Ugg, he went to fast, there's another bullet point in the presentation

Conflict resolution

See the slides, he's not really adding a lot and I really can't keep up trying to copy it down.

Supports Versioning, that's really nice. Batching and Bulk API's is another really nice feature.

ARRRGGG, code on Slides. Of course a great point that I absolutely love, the number of times he's actually had to edit XML is almost none, huge improvement in the tools.

Just realized something else, the batching and bulk API's allows you to work with very large sets of external data. Mmmm, there's also throttling based on number of connections, payload size, Timeout period.

Nice support for Powershell now to read and modify settings.

Out of the box adapters are available for SAP, Seibel, and Oracle. But it does require BizTalk, that's where the adapters are actually coming from.