11. Business Connectivity Services No code connectivity to external data sources Full CRUD Support including reading and writing Built with SharePoint Designer 2010 Offline access via SharePoint Workspace Outlook Integration Searchable just like in MOSS 2007 Extensible with .NET Assembly Connectors and Custom Index Connectors
12. Extensibility Web Services – the old MOSS 2007 way (still viable) .NET Assembly Connector - relatively easy Custom Connectors - a bit harder Custom Index Connector - will earn you The Insane achievement Protocol Handlers – still around, but unmanaged code
13. Application Definition An XML file which defines an entity and various methods to interact with the entity (CRUD) XML describes the entity, multiple methods for that entity, and type descriptors for the in and return parameters Actions define the link that the user goes to for each item in BCS web parts or search results Possible to associate multiple entities together .BDCM File Extension Created with SharePoint Designer, Visual Studio 2010 or manually
14. Method Types SpecificFinder – returns a specific item given an identifier Finder – returns all items Creator – creates a new item Updater – updates an existing item Deleter – deletes an existing item IdEnumerator – (somewhat deprecated) - returns the value of all identifiers for crawling There are many more operations available to implement for advanced purposes
16. .NET Assembly Connector Built in Visual Studio 2010 with a designer (Business Data Connectivity Model) Write custom code to perform CRUD operations SharePoint Designer Support Must have a known backend schema at compile time Recommended for external systems that are static External List support Administrator privileges not required Can be deployed using Visual Studio 2010 Plan on renaming a lot of properties
18. BCS Meta Man Successor to the BDC Meta Man used with MOSS 2007 Powerful no-code solution for generating BCS application definitions Helps quickly build .NET Assembly Connectors Integrated directly into Visual Studio 2010 Generates code for .NET assembly connectors which can then be customized for your own needs http://www.lightningtools.com/bcs/bcs-meta-man.aspx
20. Custom Connector Used when the schema is not known at compile time Use Microsoft.BusinessData.Runtime.DynamicType class to build return parameter at run time No SharePoint Designer Support = create application definition XML manually Installed into Global Assembly Cache Deployed manually Provides ability to override default type reflector Requires administrator privileges Implement ISystemUtility, IDisposable, IConnectionManager, IAdministrableSystem interfaces
22. Custom Indexing Connector Effectively replaces custom protocol handlers in MOSS 2007 Provides search functionality only – no external lists Similar to a custom connector but requires additional classes to map BCS URLs to / from real URLs (INamingContainer, LobUri) Registered as a “protocol handler” in the registry with your own custom protocol (i.e.: myhandler://) Installed with New-SPEnterpriseSearchCrawlCustomConnector Attach to mssdmn.exe to debug
24. Resources Differences between .NET Assembly Connector and Custom Connectors http://msdn.microsoft.com/en-us/library/ee554911.aspx Implementing a Custom Connector http://msdn.microsoft.com/en-us/library/ff464382.aspx SharePoint Search Connector Framework http://msdn.microsoft.com/en-us/library/ee556429.aspx How to: Debug a Custom Index Connector http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/08/how-to-debug-a-custom-index-connector.aspx BCS Meta Man http://www.lightningtools.com/bcs/bcs-meta-man.aspx