310 likes | 690 Views
Required Slide. SESSION CODE: OSP302. Building Solutions with Business Connectivity Services. Scot Hillier scot@shillier.com Scot Hillier Technical Solutions, LLC. Code for Today’s Session. http://hillier.codeplex.com. Agenda. BCS Architecture No-Code BCS Solutions and Limitations
E N D
Required Slide SESSION CODE: OSP302 Building Solutions with Business Connectivity Services Scot Hillier scot@shillier.com Scot Hillier Technical Solutions, LLC
Code for Today’s Session http://hillier.codeplex.com
Agenda • BCS Architecture • No-Code BCS Solutions and Limitations • Overcoming No-Code Limitations • .NET Assembly Connectors • Custom Web Parts • Search Security • Data-Only Solutions • Custom VSTO Solutions
BCS Architecture Office 2010 Client SharePoint Server 2010 External Business Parts CustomCode ExternalList VSTO Package Office Integration SharePoint Site BDC ClientRuntime BDC ServerRuntime Cache Metadata Business Data Connectivity Business Data Connectivity WCF .NET Assembly Custom Connectors SQL
Solution Types Client Microsoft Word Microsoft Outlook VSTO Solutions SharePoint Workspace Declarative Solutions Basic Advanced SharePoint Designer .NET Assembly Connector Custom Web Parts Server
Challenges with No-Code Solutions • Subset of operations with no way to customize the implementation • No folder support • No attachment support • No search security support • No support for Word or Excel add-ins
No-Code Solutions and Limitations Getting a quick start DEMO
Challenges with No-Code Solutions • Subset of operations with no way to customize the implementation • No folder support • No attachment support • No search security support • No support for Word or Excel add-ins
.NET Assembly Connector <LobSystem Name="BdcModel1" Type="DotNetAssembly"> <LobSystemInstances> <LobSystemInstance Name="BdcModel1" > </LobSystemInstance> </LobSystemInstances> <Entities> <Entity Name="Product" Namespace=“MyConnector.BdcModel1“ EstimatedInstanceCount="1000" Version="1.0.0.28"> <Properties> <Property Name="Class" Type="System.String"> MyConnector.BdcModel1.MyService, BdcModel1 </Property> </Properties>
.NET Assembly Connector Controlling operation implementation DEMO
Challenges with No-Code Solutions • Subset of operations with no way to customize the implementation • No folder support • No attachment support • No search security support • No support for Word or Excel add-ins
Overcoming UI Limitations • Server-Side Object model • StreamAccessor method
Server-Side Code in Custom Web Parts IEntityect = catalog.GetEntity( "http://www.contoso.com/marketing", "Campaign"); ILobSystem lob = ect.GetLobSystem(); ILobSystemInstancelobi = lob.GetLobSystemInstances()["Advertising"]; IFilterCollection filter = ect.GetDefaultFinderFilters(); (Filter as ComparisonFilter).Value = "Spring Fling"; IEntityInstanceEnumeratorects = ect.FindFiltered(filter, lobi); while (ects.MoveNext()) { Console.WriteLine(ects.Current["CampaignName"].ToString()); }
Server-Side Code in Custom Web Parts Controlling the user interface DEMO
Challenges with No-Code Solutions • Subset of operations with no way to customize the implementation • No folder support • No attachment support • No search security support • No support for Word or Excel add-ins
Search Security <!-- BinarySecurityDescriptorAccessor --> <MethodInstance Name="ReadSecurityDescriptorInstance" Type="BinarySecurityDescriptorAccessor" ReturnParameterName="acl"> <Properties> <Property Name="WindowsSecurityDescriptorField" Type="System.String">SecurityDescriptor</Property> </Properties> </MethodInstance> <!-- Access Checker --> <MethodInstanceName="CheckItemAccess" Type="AccessChecker" ReturnParameterName="result" />
Secure Store Service • Maps credentials from user to external systems
Implementing Search Security Controlling the search results DEMO
Challenges with No-Code Solutions • Subset of operations with no way to customize the implementation • No folder support • No attachment support • No search security support • No support for Word or Excel add-ins
Data-Only Solutions • Used to set up subscription • Similar to “Sync to” options
VSTO Support for BCS • Custom VSTO apps in Visual Studio • Use Client-Side Object Model
VSTO Solutions Completing the user experience DEMO
Summary • No-Code BCS Solutions are great for a quick start • Lots of support for operations, associations, search, sync • Can’t control the implementation • Has some limitations around folders, attachments • Overcoming No-Code Limitations • .NET Assembly Connectors • Custom Web Parts • Search Security • Data-Only Solutions • Custom VSTO Solutions
Play the Microsoft Office & SharePoint Track Tag Contest Download the Microsoft Tag Reader Open the internet browser on your mobile phone and visit http://gettag.mobi Grand Prize (1) Xbox 360 Prize Package and Microsoft® Office 2010 Daily Prizes 40 copies of Microsoft® Office 2010 Come to the Expo Hall – Yellow Section OSP Info Desk for Official Rules & Collect Additional Tags from all OSP Track Sessions, Speakers and Expo Hall!
Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Track Resources • For More Information – http://sharepoint.microsoft.com • SharePoint Developer Center – http://msdn.microsoft.com/sharepoint • SharePoint Tech Center – http://technet.microsoft.com/sharepoint • Official SharePoint Team Blog – http://blogs.msdn.com/sharepoint
Required Slide Speakers, please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session. Related Content • Breakout Sessions – See Conference Guide for full list of OSP Track Sessions • Interactive Sessions – OSP Track has 10 Interactive Sessions – OSP01-INT – OSP10-INT • Hands-on Labs – OSP01-HOL – OSP20-HOL • Product Demo Stations – Yellow Section, OSP • Office 2010, SharePoint 2010, Project Server 2010, Visio 2010 have kiosks and demos
Required Slide Resources Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn
Required Slide Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.