Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTechCon Boston 2011


Published on

Slides from my Business Connectivity Services talk at SPTechCon Boston 2011.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Demonstrate Application Definition
  • Demonstrate .NET Assembly ConnectorC:\\Code\\Products\\Products.csproj
  • Demonstrate BCS Meta Man
  • Demonstrate Custom ConnectorsC:\\Demos\\DotNetMafia.SharePoint.CustomConnector
  • Demonstrate Custom IndexingConnectorsC:\\Code\\MyFileConnector
  • Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTechCon Boston 2011

    1. 1. Advanced BCS: Business Data Connectivity Models and Custom Connectors<br />Corey Roth<br />@coreyroth<br />Blog:<br />
    2. 2. Corey Roth<br /><ul><li>SharePoint Solutions Architect for Stonebridge
    3. 3. Microsoft SharePoint MVP
    4. 4. Specializing in ECM and Search
    5. 5. Passed all SharePoint 2010 certification exams
    6. 6. E-mail:
    7. 7. Twitter: @coreyroth
    8. 8. Blog:
    9. 9. Laptop: Dell E6510 i5 2.4 GHz 8GB
    10. 10. Oracle VirtualBox 3.2.8 – 4GB on VM</li></li></ul><li>Translation Guide<br />
    11. 11. Business Connectivity Services<br />No code connectivity to external data sources<br />Full CRUD Support including reading and writing<br />Built with SharePoint Designer 2010<br />Offline access via SharePoint Workspace<br />Outlook Integration<br />Searchable just like in MOSS 2007<br />Extensible with .NET Assembly Connectors and Custom Index Connectors<br />
    12. 12. Extensibility<br />Web Services – the old MOSS 2007 way (still viable)<br />.NET Assembly Connector - relatively easy<br />Custom Connectors - a bit harder<br />Custom Index Connector - will earn you The Insane achievement<br />Protocol Handlers – still around, but unmanaged code<br />
    13. 13. Application Definition<br />An XML file which defines an entity and various methods to interact with the entity (CRUD)<br />XML describes the entity, multiple methods for that entity, and type descriptors for the in and return parameters<br />Actions define the link that the user goes to for each item in BCS web parts or search results<br />Possible to associate multiple entities together<br />.BDCM File Extension<br />Created with SharePoint Designer, Visual Studio 2010 or manually<br />
    14. 14. Method Types<br />SpecificFinder – returns a specific item given an identifier<br />Finder – returns all items<br />Creator – creates a new item<br />Updater – updates an existing item<br />Deleter – deletes an existing item<br />IdEnumerator – (somewhat deprecated) - returns the value of all identifiers for crawling<br />There are many more operations available to implement for advanced purposes<br />
    15. 15. Application Definition XML<br />Demo<br />
    16. 16. .NET Assembly Connector<br />Built in Visual Studio 2010 with a designer (Business Data Connectivity Model)<br />Write custom code to perform CRUD operations<br />SharePoint Designer Support <br />Must have a known backend schema at compile time<br />Recommended for external systems that are static<br />External List support<br />Administrator privileges not required<br />Can be deployed using Visual Studio 2010<br />Plan on renaming a lot of properties<br />
    17. 17. .NET Assembly Connector<br />Demo<br />
    18. 18. BCS Meta Man<br />Successor to the BDC Meta Man used with MOSS 2007<br />Powerful no-code solution for generating BCS application definitions<br />Helps quickly build .NET Assembly Connectors<br />Integrated directly into Visual Studio 2010<br />Generates code for .NET assembly connectors which can then be customized for your own needs<br /><br />
    19. 19. BCS Meta Man<br />Demo<br />
    20. 20. Custom Connector<br />Used when the schema is not known at compile time<br />Use Microsoft.BusinessData.Runtime.DynamicType class to build return parameter at run time<br />No SharePoint Designer Support = create application definition XML manually<br />Installed into Global Assembly Cache<br />Deployed manually<br />Provides ability to override default type reflector<br />Requires administrator privileges<br />Implement ISystemUtility, IDisposable, IConnectionManager, IAdministrableSystem interfaces<br />
    21. 21. Custom Connector<br />Demo<br />
    22. 22. Custom Indexing Connector<br />Effectively replaces custom protocol handlers in MOSS 2007<br />Provides search functionality only – no external lists<br />Similar to a custom connector but requires additional classes to map BCS URLs to / from real URLs (INamingContainer, LobUri)<br />Registered as a “protocol handler” in the registry with your own custom protocol (i.e.: myhandler://)<br />Installed with New-SPEnterpriseSearchCrawlCustomConnector<br />Attach to mssdmn.exe to debug<br />
    23. 23. Custom Indexing Connector<br />Demo<br />
    24. 24. Resources<br />Differences between .NET Assembly Connector and Custom Connectors<br /><br />Implementing a Custom Connector<br /><br />SharePoint Search Connector Framework<br /><br />How to: Debug a Custom Index Connector<br /><br />BCS Meta Man<br /><br />
    25. 25. Questions?<br />Thanks!<br />Corey Roth<br />@coreyroth<br />Blog:<br />