sharepoint 2010 business connectivity services
DESCRIPTION
Deck from my talk at SharePoint Saturday San Diego Feb 2011TRANSCRIPT
Business Connectivity Services for SPS 2010
Lynn LangitMicrosoft – Developer EvangelistBlogs.msdn.com/SoCalDevGal
SPS 2010 and BCS
NEW - Business Connectivity Services
Combine Internal (SharePoint) and External Data (LOB Systems)
Superset of BDC
Communities
Search
Sites
Composites
ContentInsights
What is BCS?
Surfaces External data to Office 2010
Includes no code solutions
Includes Developer Extensibility
What is Business Data Connectivity?
• Data from OUTSIDE of SharePoint• Data which can be DISPLAYED inside of SPS or Office
What is the Architecture of BCS?
Search, Workflow, Web Parts, R/W connections
Offline (uses SQL Compact)
BCS Features by SPS Edition
Development ApproachesSP Server(Prod /
Dev)IT Admin
Import & ConfigureWSP/BDC
SI/IT Devs
“Live” connection
SharePoint Designer
Discover & Configure existing back-end integration end-points (no-code)
Connect to existing WCF, ADO.NET or .NET Objects
Author thin or rich client UX for External List or InfoPath Forms
Pro Dev
Produce WSP/ClickOnce Package w/BDC Model
WSP/ ClickOnc
e Package
Create custom back-end integration logic using .NET Assemblies
Author thin or rich client UX as SPS or VSTO projects
Who Does What with BCS?
What is a Custom Content Type?
A reusable schema (strongly typed) from SP DataUsually used as metadata for listsCreated in SharePoint, SP Designer or VS
Editing Content Types in SP Designer
Content Type Modeling in VS 2010
Where can I display custom content?
Inside of SharePointUsually added to ListsOnline and connected
SharePoint WorkspaceUsually added to ListsCan be offline - *requires SharePoint Server
Office - *requires SharePoint ServerWord, Access, moreRequires custom code
Viewing Custom Content Types in SPS
What is an External Custom Content Type?
Custom Content Type sourced from OUTSIDE SPS
data access info (i.e. connection, security, data access permissions, type info) - ENTITIESIncludes information about data access from inside of SPS, Word, etc…- i.e. read or read/write) - BEHAVIORS
Usually used as metadata for lists or columns in SPS
Can also be displayed in Office applications (Outlook, Word…)Can be offline, can be updatable
Created in SharePoint, SP Designer or VS
Connecting to External Data
SharePoint Designer 2010 supports SQL Server databasesWeb and WCF services.NET connectivity assemblies
SharePoint 2010 provides WCF adapters forOracle, SAP and Siebel
Other external systems Edit the model XML (BDC) file in VS 2010
External List Web Part in SPS
Designed to display External ContentNew for SPS 2010Can also display external content as an external column
Adding External Data to Columns
Viewing in SharePoint Workspace
Offline capableInfoPath forms UIRespects SPS view settings (filter/sort/group)Error/conflict resolutionSearch across external data
Viewing in Word 2010Requires SP ServerCreate using Custom VSTO apps in VSUse SPS Client-Side Object Model
Creating External Content Types in SP Designer
Enabling Operations in SP Designer
Challenges with No-Code Solutions
Subset of operations with no way to customize the implementationNo folder supportNo attachment supportNo search security supportNo support for Word or Excel add-ins
Scenarios for Custom Coding
Aggregations of external dataRequiring multiple calls to source to completeRequiring calls to different sources to complete
Complex TransformationsRequiring one or more transformsRequiring dependent (transactional) transforms
Complex Access ChecksRequiring multiple or complex security checksRequiring access mapping (credentials)
Overcoming UI Limitations
Server-Side Object modelStreamAccessor method
BCS in VS 2010
Also called working with .NET Connector Assemblies
SPS BCS Templates in VS 2010
Business Connectivity Services
BDC Designer allows you to develop, debug and deploy BDC Models
uses External System type “.NET Assembly ConnectorCan import and customize models created in SP Designer
Visual designers in VS 2010BDC ExplorerBDC method details
Tools to generate artifactsTo generate Classes use SPMetal – hereTo generate Artifaces (i.e. Ribbon, etc..) use BCS Artifact Generator – hereTo create Packages use BCS Package Tool – hereTo create Excel Add-in use BCS Excel Add-in - here
VS 2010 BDC Designers
VS Entity Associations
BDC Object Model• BDC contains ONLY
Metadata, no external data
• Access to this object model requires SharePoint Server
Data-Only Solutions
Used to set up subscriptionSimilar to “Sync to” optionsFree tool from MSDN Code Gallery
BDC Server Authentication
SharePoint Server
External SystemWeb 2.0Claims Aware
Service
3. Secure StoreService
BDC ServerRuntime
VLWebPart
Application
2. Process Account
1. Logged-on user
CredentialsTicketDelegation Token
CredentialsApplicationDelegatedToken
SAMLToken
Modes:
1. PassThrough (logged-on user)2. RevertToSelf (process account)3. SSO Authentication (Credentials, etc. from Secure Store)
Secure Store ServiceMaps credentials from user to external systems
BCS Security &.NET Connectors
Authentication Type
WCF Connector DB Connector .NET Host Connector
SQL Auth N/A Yes Code-Based
UserName & Password
Yes Yes Code Based
NTLM Pass through
Yes Yes Yes
Claims Token Yes No Code Based
Oauth / LiveID Code Based No Code Based
SPS Designer vs. VS 2010Capability SharePoint Designer 2010 Visual Studio 2010
ConnectionsSQL Server, WCF/Web services, or .NET Framework connectivity assembly.
Any data source through .NET Framework connectivity assembly.
Modeling approach Discover and use. Create and publish.
Target scenariosAuthor simple models w/UX (Outlook, SharePoint Workspace, InfoPath)
Author complex models with custom connectivity logic for aggregation, transformation, and security.
Author external lists Author custom UX via VSTO
Author simple FK-associationsAuthor reusable External Data Parts and Web Parts.
Limitations
Foreign key-less associations, advanced stereotypes (bulk, batch), generic or polymorphic services, and interfaces containing complex (non-flat) parameter structures.
VS External Content Type Designer works only for .NET Framework connectivity–based models.
More Resources
Setting up a Developer Machine for SPS - hereExternal Content and SP Designer – here MSDN Channel 9 course on SPS BCS - hereMSDN Code Samples for Solutions – hereSPS BCS team blog - here