Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Advanced BCS - Business Data Connectivity Models and Custom Connectors

4,341 views

Published on

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

Published in: Technology
  • Be the first to comment

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: www.dotnetmafia.com<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: coreyroth@gmail.com<br />Twitter: @coreyroth<br />Blog: www.dotnetmafia.com<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 />http://www.lightningtools.com/bcs/bcs-meta-man.aspx<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 />http://msdn.microsoft.com/en-us/library/ee554911.aspx<br />Implementing a Custom Connector<br />http://msdn.microsoft.com/en-us/library/ff464382.aspx<br />SharePoint Search Connector Framework<br />http://msdn.microsoft.com/en-us/library/ee556429.aspx<br />How to: Debug a Custom Index Connector<br />http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/08/how-to-debug-a-custom-index-connector.aspx<br />BCS Meta Man<br />http://www.lightningtools.com/bcs/bcs-meta-man.aspx<br />
  18. 18. Questions?<br />Corey Roth<br />Blog: www.dotnetmafia.com<br />Twitter: @coreyroth<br />

×