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

Uploaded on

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

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

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    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


  • 1. Advanced BCS: Business Data Connectivity Models and Custom Connectors
    Corey Roth
  • 2. Corey Roth
    • SharePoint Solutions Architect for Stonebridge
    • 3. Microsoft SharePoint MVP
    • 4. Specializing in ECM and Search
    • 5. Passed all SharePoint 2010 certification exams
    • 6. E-mail:
    • 7. Twitter: @coreyroth
    • 8. Blog:
    • 9. Laptop: Dell E6510 i5 2.4 GHz 8GB
    • 10. Oracle VirtualBox 3.2.8 – 4GB on VM
  • Translation Guide
  • 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
  • 15. Application Definition XML
  • 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
  • 17. .NET Assembly Connector
  • 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
  • 19. BCS Meta Man
  • 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
  • 21. Custom Connector
  • 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
  • 23. Custom Indexing Connector
  • 24. Resources
    Differences between .NET Assembly Connector and Custom Connectors
    Implementing a Custom Connector
    SharePoint Search Connector Framework
    How to: Debug a Custom Index Connector
    BCS Meta Man
  • 25. Questions?
    Corey Roth