Advanced BCS - Business Data Connectivity Models and Custom Connectors


Published on

Slides from the talk I did on the SharePoint BCS at Houston TechFest 2010.

Published in: Technology
  • 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
  • Add animation to this slide
  • Demo the XML file
  • Add animation to this slide
  • Demonstrate .NET Assembly ConnectorC:CodeProductsProducts.csproj
  • Demonstrate BCS Meta Man
  • Demonstrate Custom Connectors
  • Demonstrate Custom Indexing Connectors
  • Advanced BCS - Business Data Connectivity Models and Custom Connectors

    1. 1. Advanced BCS: Business Data Connectivity Models and Custom Connectors<br />Corey Roth<br />SharePoint Solutions Architect<br />Blog:<br />Twitter: @coreyroth<br />
    2. 2. Corey Roth<br />SharePoint Solutions Architect for Stonebridge<br />Microsoft SharePoint MVP<br />Specializing in ECM and Search<br />Passed all SharePoint 2010 certification exams<br />Microsoft Solutions Advocate<br />E-mail:<br />Twitter: @coreyroth<br />Blog:<br />Laptop: Dell E6510 i5 2.4 GHz 8GB<br />Oracle VirtualBox 3.2.8 – 4GB on VM<br />
    3. 3. Translation Guide<br />
    4. 4. 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 />
    5. 5. 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 />
    6. 6. 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 />
    7. 7. Method Types<br />SpecificFinder – returns a specifc 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 />
    8. 8. .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 />
    9. 9. .NET Assembly Connector<br />Demo<br />
    10. 10. 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 />
    11. 11. BCS Meta Man<br />Demo<br />
    12. 12. BCS Meta Man<br />Giveaway!<br />Two free licenses given away in this session!<br />Thanks @nickswan!<br />
    13. 13. 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 />
    14. 14. Custom Connector<br />Demo<br />
    15. 15. 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 />
    16. 16. Custom Indexing Connector<br />Demo<br />
    17. 17. 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 />
    18. 18. Questions?<br />Corey Roth<br />Blog:<br />Twitter: @coreyroth<br />