Advanced BCS - Business Data Connectivity Models and Custom Connectors

Uploaded on

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

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

More in: Technology
  • 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
  • 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


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