SPTechCon Boston 2012 - SharePoint Integration and Interoperability
1. SPTechCon
The SharePoint
Technology Conference
SharePoint 2010
Integration and Interoperability:
What you Need to Know
Presented By: Richard Harbridge
#SPTechCon @RHarbridge
SPTechCon
The SharePoint
#SPTechCon @RHarbridge
Technology Conference
2. SPTechCon
The SharePoint
Technology Conference
Who am I?
Boston
Washington
SPTechCon
The SharePoint
Technology Conference
3. SPTechCon SPTechCon
The SharePoint The SharePoint
Technology Conference Technology Conference
SPTechCon
The SharePoint
#SPTechCon @RHarbridge
Technology Conference
4. SPTechCon
The SharePoint
Technology Conference
Our Goal Today…
From Here To Here
SPTechCon
The SharePoint
Technology Conference
5. SPTechCon
The SharePoint
Technology Conference
What we will be talking about…
1. Business Data Challenges
2. SharePoint’s Important Interoperability
3. What is the BCS?
• External Content Types
• External Columns
• External Lists
• Extensibility and Tooling
4. Demonstration
5. Limitations of BCS and SharePoint 2013 Bonus!
SPTechCon
The SharePoint
Technology Conference
6. SPTechCon
The SharePoint
Technology Conference
Business Data
Challenges
SPTechCon
The SharePoint
Technology Conference
7. Business Data in an Enterprise
IT
High Integration Costs (Custom) High Overhead (Maintenance, Security)
Customers Suppliers Quality Operations Financial
Redundant Data and Processes!
High Dissatisfaction Users High Training Costs
#SPTechCon @RHarbridge
8. Challenges with Business Data
Challenge IT End User
Higher Overhead for IT to Service User Requests
Multiple Places to Search
Multiple Places to Administer and Maintain
Multiple Places to Manage Content
Multiple Places to Secure Information
High Data Integration Costs (Often 100% Custom and One Offs)
Silos/Islands of Data Lead to Redundant Data or Processes
Multiple Interfaces; Dissatisfaction and Higher Training Costs
Higher Operational and Compliance Risk
Direct Impact
Indirect Impact
#SPTechCon @RHarbridge
9. SPTechCon
The SharePoint
Technology Conference
The Outcome
There are challenges that disparate and
disconnected business data systems cause.
SPTechCon
The SharePoint
Technology Conference
10. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
Technology
No system, product or application
can completely solve business data
challenges.
Process
People
SPTechCon
The SharePoint
Technology Conference
11. SPTechCon
The SharePoint
Technology Conference
SharePoint’s Important
Interoperability
SPTechCon
The SharePoint
Technology Conference
12. What the heck is
Interoperability?
(IHN-tuhr-AHP-uhr-uh-BIHL-ih-tee)
“Interoperability is the ability of a system.. to
work with other systems.. without special
effort on the part of the customer.”
How?
#SPTechCon @RHarbridge
13. How do we achieve
Interoperability?
1. By adhering to published interface standards.
Does SharePoint do this?
SPOILER ALERT! that
2. By making use of a "broker" of services
can convert one system’s interface into another
system’s interface "on the fly".
What about this one?
#SPTechCon @RHarbridge
21. Is it an Identity Platform?
#SPTechCon @RHarbridge
22. Why would we use SharePoint as
an Identity Platform?
#SPTechCon @RHarbridge
23. Because Claims is Awesome
Connect with 3rd Party Authentication Providers
Connecting with a Non Windows Integrated
Authentication driven web site.
Delegation with Back-End Systems
Showing data from another server on a
SharePoint web page.
#SPTechCon @RHarbridge
24. 1. By adhering to published interface standards.
Claims Uses
Consistent Standards
#SPTechCon @RHarbridge *Doesn’t actually support SAML Protocol (SAMLP)
26. Is it a Search Platform?
#SPTechCon @RHarbridge
27. Why would we use SharePoint as
a Search Platform?
#SPTechCon @RHarbridge
28. Query a 3rd
Party Search Engine
Using SharePoint UI
Federate Queries to
Multiple Search Systems…
#SPTechCon @RHarbridge
29. Index Content from a Range of
What does all of these?
Content Repositories
___
BCS
B Indexes Databases, Web Services or Custom Repositories
C Provides Consistent Access to External Content
S Has SharePoint Designer and Visual Studio Plug-ins
#SPTechCon @RHarbridge
31. 1. By adhering to published interface standards.
Have you heard of OpenSearch?
• Standard (Creative Commons) for syndication and
aggregation of search results
• Syntax for executing queries
• Results returned in RSS/ATOM + extensions
• Supported by Microsoft Search Server 2008
Clients: Windows 7, IE, FireFox, Chrome, SharePoint …
Providers: Amazon, Flickr, Wikipedia, SharePoint…
#SPTechCon @RHarbridge
32. It is a Search Platform
#SPTechCon @RHarbridge
33. Is it a Data Access Platform?
#SPTechCon @RHarbridge
34. SharePoint Does a Great Job of
Accessing SharePoint Content!
#SPTechCon @RHarbridge
36. A Data Access Platform Bonus!
Bonus! x2
#SPTechCon @RHarbridge
37. Content Management
Interoperability Services
CMIS specification provides a Web services
A platform that allows you to interface that:
Is designed to work over existing repositories enabling
build customers tomultiple
against build and leverage applications against multiple
repositories—unlocking content they already have
technologies without knowing the content
Decouples Web services and content been
Microsoft has from
anything about how all thecustomersfrom both a
management repository, enabling API’s to manage
implementing this
content independently
work.Provides common Web servicesprovider perspective.
(If you know CMIS.)
client and and Web 2.0 interfaces to
dramatically simplify application development
Not available “in the box”.
Is development platform and language agnostic
Supports composite application development and mash-up by
Available via or IT analyst
the business
SharePoint Admin Toolkit
#SPTechCon @RHarbridge
38. And then there’s REST
Access to SharePoint Lists and Document Libraries…
• RESTful interface over HTTP
• Uses the ADO.NET Data Services interface conventions
• Feature rich: retrieve, update, browse data using
just URLs and XML/JSON
• Low barrier of entry. If you have an HTTP stack
you can use it.
Visual Studio Integration…
• Entirely built on top of the open RESTful interface
• No client is required
• Visual Studio creates proxies, visualizes schemas,
provides LINQ support etc.
#SPTechCon @RHarbridge
39. 2. By making use of a "broker" of services that
can convert one system’sInteroperability
SharePoint has interface into another
system’s interface "on the fly".
Some might even say it has storage interoperability
or that OData is a standard… But the coolest part of interoperability?
#SPTechCon @RHarbridge
40. SPTechCon
The SharePoint
Technology Conference
The Outcome
SharePoint is a growing
Interoperable UI, Identity,
Search, and Data Access Platform.
SPTechCon
The SharePoint
Technology Conference
41. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
Remember this?
“Interoperability is the ability of a system to
without special effort
work with other systems without special effort
on the part of the customer.”
SPTechCon
The SharePoint
Technology Conference
42. SPTechCon
The SharePoint
Technology Conference
What is the
BCS?
SPTechCon
The SharePoint
Technology Conference
43. You could look at this diagram…
BCS in Office Client SharePoint Client
BCS in SharePoint Identity
Federation
service
BCS Meta
Client Data Data Store
Cache
DB WCF /WS .NET AS Custom
Connector Connector Assembly Connector
Connector
Client to Backend
Direct Connection
External data
Persistence Custom .NET Data
Store assembly Cubes
SQL SAP ORACLE Siebel
#SPTechCon @RHarbridge
44. Or this simplified one…
External Data
External
Content Types
SharePoint
Outlook Forms Office
External Lists Workspace w/ Search Results
and Task Panes Applications
InfoPath Forms
#SPTechCon @RHarbridge
45. External Content Types
Describes: External Data Added to the BCS Service Through:
• Structure of the external • SharePoint Designer
system (Fields, Methods, Connection) • Visual Studio 2010
• How this data behaves within • Via an Import into the Business Data
SharePoint and Office Connectivity Service as part of a model
External
Content Types
SharePoint and Re-Use from a Central Location
Manage Outlook Forms Office
External Lists Workspace w/ Search Results
and Task Panes Applications
InfoPath Forms
#SPTechCon @RHarbridge
46. External Lists
External Data
The external content type is leveraged in a variety of ways…
External
Such as for Exposing External Data Content Types
as an External SharePoint List
Full CRUD capability
SharePoint Familiar UI and Navigation
Outlook Forms Office
External Lists Workspace w/ Search Results
Sort, Filter, Task Panes
InfoPath Forms
and Group Applications
Programmatic Access via SPList OM
Profile Page for Each Item
Form
Auto-generated OOB
Upsize to InfoPath
Can be Taken “Offline”
#SPTechCon @RHarbridge
47. Offline Lists
External Data
External Lists also be leveraged as Offline “Lists”
External
Content Types
SharePoint
Outlook Forms Office
External Lists Workspace w/ Search Results
and Task Panes Applications
InfoPath Forms
Or Connected to Outlook as
Contacts, Tasks, Calendars and Posts
#SPTechCon @RHarbridge
48. Office Applications and Search
External Data
External Content Types can also be leveraged in…
External Or Leveraged to allow for
Content Types
External Data Searching or Filtering
SharePoint
Outlook Forms Office
External Lists Workspace w/ Search Results
and Task Panes Applications
InfoPath Forms
Many other Office Applications
(or Custom Applications) w/ Code
#SPTechCon @RHarbridge
49. Bonus! Integration Webparts
Bonus!
Web Parts
External Data External Data List
Integration
External Data Item
Webparts External Data Item Builder
External Data Related List
External External Data Connectivity Filter
Content Types
Chart Web Part (New)
SharePoint
Outlook Forms Office
External Lists Workspace w/ Search Results
and Task Panes Applications
InfoPath Forms
w/ Code
#SPTechCon @RHarbridge
51. So what’s different?
(Besides the Chart Control?)
Read/Write Capability
Claims Aware
Connect via ADO/SQL, WCF/WS, .Net is still used for search indexing
BDC
Assembly and Custom Connectors connectors in 2010 they added blob,
Batch and Bulk Operation Support incremental crawl and item level
security.
They added symmetrical server and client
runtimes. Allowing them to connect from
client or server directly to external data.
SQL CE database is used to cache external data
which allows for “cached mode” behavior on
external data basically creating a rich client cache.
#SPTechCon @RHarbridge
52. How do I actually build it out?
#SPTechCon @RHarbridge
53. Where things fit.
Out-of-box
• Surface data in
External Lists
• Connect those lists to • Create Reusable
Outlook, SPW Components (UI parts,
• External Data Columns ECTs, Actions)
Simple Intermediate Advanced
NO CODE “NO CODE” CODE
#SPTechCon @RHarbridge
Power User Developer Advanced Developer
54. SharePoint Designer Process
1. Discover your Data Source
• Database
• Web services
• .NET type
2. Map Operations to Data Source
• Create, read, update, delete, lookup
3. Connect to SharePoint and/or Office
• External List
• Contact
• Task
• Appointment
• Post
#SPTechCon @RHarbridge
57. SPTechCon
The SharePoint
Technology Conference
The Outcome
The BCS has a bunch of new capabilities
bundled with some old enhanced BDC ones.
SPTechCon
The SharePoint
Technology Conference
58. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
Selecting the right tool is important.
Practice makes perfect.
SPTechCon
The SharePoint
Technology Conference
59. That’s a lot of information!
#SPTechCon @RHarbridge
60. SPTechCon
The SharePoint
Technology Conference
SPTechCon
The SharePoint
Technology Conference
61. SPTechCon
The SharePoint
Technology Conference
Demo!
SPTechCon
The SharePoint
Technology Conference
62. SPTechCon
The SharePoint
Technology Conference
The Outcome
You saw how the BCS can be leveraged in
SharePoint Designer and in the SharePoint
UI.
SPTechCon
The SharePoint
Technology Conference
63. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
Don’t assume the tools will
significantly reduce the time it takes
to ‘integrate’. It typically reduces
time to ‘interface’.
SPTechCon
The SharePoint
Technology Conference
64. SPTechCon
The SharePoint
Technology Conference
What are BCS
Limitations?
SPTechCon
The SharePoint
Technology Conference
65. General BCS Limitations
• No Write support for BLOB
• You cannot write back to BLOB fields using BCS
unless you write your own method.
• You can access BLOB columns by defining a
StreamAccessor method and presenting the
external data via the BCS Data List web part by
checking the Display stream fields property.
#SPTechCon @RHarbridge
66. External Lists
External List Limitations
• Workflows cannot be associated with external lists
• Workaround: You can use the external data columns and manipulate it
that way.
• No RSS feed support for external lists
• No REST based access for external lists
• http://sharepoint/_vti_bin/ListData.svc does not support external lists
• LINQ to SharePoint spmetal.exe does not support external lists
• Cannot configure alerts for external lists
• Cannot export external list items to Excel (using the Export to Excel
feature), Create Visio Diagram, Open with Access or Open with Project
• Versioning cannot be configured on external lists
• Version History is not available on external lists
• Datasheet view cannot be used in external lists
• XSLT is Supported (So you can basically make your own.)
#SPTechCon @RHarbridge
67. External List External Lists
Limitations Continued…
• Ratings feature is not supported for external lists
• Information policies cannot be configured on external lists
• Item-Level permissions are not available for external lists
• No item or field level validation (without InfoPath)
• Lookups don’t work on any column but ID
• No attachments.
#SPTechCon @RHarbridge
68. Bonus! External Column
Bonus!
Limitations
• You cannot create a site column of type ‘External Data Column’
• External data columns can be created only as list based
columns and cannot be consumed in site level content
types
#SPTechCon @RHarbridge
69. Some Data Types Not Supported
• No support for structs that are not simple types. (Do not use
non-primitive structs.)
• No nested collections (array of arrays etc)
• No support for multi dimension arrays
• BDC only works with .Net 3.5 - No dynamic programming in
.Net 4
• No support for ICollection or IEnumerable interfaces to
represent collections in data structures (ICollection<T>,
IEnumerable<T>, IList<T>…)
http://msdn.microsoft.com/en-us/library/ff621599.aspx
#SPTechCon @RHarbridge
70. SPTechCon
The SharePoint
Technology Conference
The Outcome
You now know more about the
limitations of BCS and will make fewer
assumptions.
SPTechCon
The SharePoint
Technology Conference
71. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
Some of the many limitations
mentioned make sense. Think
carefully before you build a
‘workaround’.
SPTechCon
The SharePoint
Technology Conference
72. SPTechCon
The SharePoint
Technology Conference
What about
SharePoint 2013?
SPTechCon
The SharePoint
Technology Conference
73. SharePoint 2013
Main BCS Differences
There are basically four things you need to know:
1. oData connector now available through Visual
Studio OOTB (WCF, SQL, .Net Assembly Remain).
2. Remote Event Receiver capability – think of this as
more of a simple framework for remote event
subscription.
3. App-Scoped – Instead of only Farm level external
content types developers can now build isolated
app scenarios.
4. More client object model support!
#SPTechCon @RHarbridge
74. SPTechCon
The SharePoint
Technology Conference
The Outcome
SharePoint 2013 BCS isn’t really different.
Just more flexible and capable.
SPTechCon
The SharePoint
Technology Conference
75. SPTechCon
The SharePoint
Technology Conference
What to watch out for…
SharePoint 2013 introduces many
new concepts/methods that you will
need to learn (app-scoped, client
object model focus etc.)
SPTechCon
The SharePoint
Technology Conference
76. SPTechCon
The SharePoint
Technology Conference
What we talked about…
1. Business Data Challenges Technology Challenges
The Challenges Aren’t All
2. SharePoint’s Important Interoperability Platform
Interface, Identity, Search and Data Access
3. What of the BCS? Connection Capabilities
A Set is Powerful
Structured Types of External Content
External Content Types
Leveraging External
External Columns Content with Internal Content
Interact Lists
External Like SharePoint Lists
Extensibility/Tool Range
Extensibility and Tooling from UI to SPD to VS 2010
4. Limitations of and Better than Most Options
Good Enough BCS
SPTechCon
The SharePoint
Technology Conference
77. SPTechCon
The SharePoint
Technology Conference
Thank You
Organizers, Sponsors and You for Making this Possible.
Questions? Ideas? Feedback? Contact me:
Twitter: @RHarbridge
Blog: http://www.RHarbridge.com
Email: Richard@RHarbridge.com
Resources:
700+ SharePoint IA Slides at.. PracticalIntranet.com
130+ SharePoint Standards at.. SPStandards.com
15 Pages of Important Questions at.. SharePointDiagnostics.com
SPTechCon
The SharePoint
Technology Conference
Editor's Notes
My dedication to you before I begin. By the end of this you will have gained 3 things. It might be new knowledge, it might be a new method but you MUST gain 3 things by the end. If you don’t my first challenge to you is to stalk me, hunt me down and make sure you get 3 things from me. Because I owe you 3 things! This is meant to help you.
A lot of this can seem daunting and I know one of the hardest things is figuring out how to do some of the things I have shown today. If you are interested in further training or assistance please let me know. Based on the number of people who are interested and the areas of interest we can schedule further training sessions to help everyone better use the SharePoint portal.It's our commitment to you that we will continue to hear your feedback and identify the issues. I encourage you to give us feedback during the coming months, and we will continue to deliver more and more functionality, more and more guidance to help you be successful with your application of SharePoint.Thank You for Reading/Listening