• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTechCon Boston 2011
 

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

on

  • 2,565 views

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

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

Statistics

Views

Total Views
2,565
Views on SlideShare
2,564
Embed Views
1

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 Advanced BCS - Business Data Connectivity Models and Custom Connectors - SPTechCon Boston 2011 Presentation Transcript

  • Advanced BCS: Business Data Connectivity Models and Custom Connectors
    Corey Roth
    @coreyroth
    Blog: www.dotnetmafia.com
  • Corey Roth
    • SharePoint Solutions Architect for Stonebridge
    • Microsoft SharePoint MVP
    • Specializing in ECM and Search
    • Passed all SharePoint 2010 certification exams
    • E-mail: coreyroth@gmail.com
    • Twitter: @coreyroth
    • Blog: www.dotnetmafia.com
    • Laptop: Dell E6510 i5 2.4 GHz 8GB
    • Oracle VirtualBox 3.2.8 – 4GB on VM
  • Translation Guide
  • 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
  • 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
  • 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
  • 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
  • Application Definition XML
    Demo
  • .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
  • .NET Assembly Connector
    Demo
  • 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
  • BCS Meta Man
    Demo
  • 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
  • Custom Connector
    Demo
  • 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
  • Custom Indexing Connector
    Demo
  • 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
  • Questions?
    Thanks!
    Corey Roth
    @coreyroth
    Blog: www.dotnetmafia.com