4. 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
5. Limitations of BCS
4. Demonstration
Bonus!
6. #BASPUG
Business Data in an Enterprise
Customers FinancialQuality OperationsSuppliersCustomers FinancialQuality OperationsSuppliers
Users
IT
High Overhead (Maintenance, Security)High Integration Costs (Custom)
High Training CostsHigh Dissatisfaction
Redundant Data and Processes!
7. #BASPUG
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
8. The Outcome
There are challenges that disparate and
disconnected business data systems cause.
9. What to watch out for…
No system, product or application
can completely solve business data
challenges.
People
Process
Technology
11. #BASPUG
“Interoperability is the ability of a system.. to
work with other systems.. without special
effort on the part of the customer.”
What the heck is
Interoperability?
(IHN-tuhr-AHP-uhr-uh-BIHL-ih-tee)
How?
12. #BASPUG
How do we achieve
Interoperability?
2. By making use of a "broker" of services that
can convert one system’s interface into another
system’s interface "on the fly".
1. By adhering to published interface standards.
Does SharePoint do this?
What about this one?
SPOILER ALERT!
22. 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.
27. #BASPUG
Query a 3rd Party Search Engine
Using SharePoint UI
Federate Queries to
Multiple Search Systems…
28. #BASPUG
Index Content from a Range of
Content Repositories
What does all of these?
Indexes Databases, Web Services or Custom Repositories
Provides Consistent Access to External Content
Has SharePoint Designer and Visual Studio Plug-ins
B
C
S
_ _ _B C S
30. #BASPUG
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…
1. By adhering to published interface standards.
36. #BASPUG
Content Management
Interoperability Services
CMIS specification provides a Web services interface that:
Is designed to work over existing repositories enabling
customers to build and leverage applications against multiple
repositories—unlocking content they already have
Decouples Web services and content from the content
management repository, enabling customers to manage
content independently
Provides common Web services and Web 2.0 interfaces to
dramatically simplify application development
Is development platform and language agnostic
Supports composite application development and mash-up by
the business or IT analyst
A platform that allows you to
build against multiple
technologies without knowing
anything about how all the API’s
work. (If you know CMIS.)
Microsoft has been
implementing this from both a
client and provider perspective.
Not available “in the box”.
Available via
SharePoint Admin Toolkit
37. #BASPUG
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.
38. #BASPUG
SharePoint has Interoperability
Some might even say it has storage interoperability…But the coolest part of interoperability?
2. By making use of a "broker" of services that
can convert one system’s interface into another
system’s interface "on the fly".
40. What to watch out for…
Remember this?
“Interoperability is the ability of a system to
work with other systems without special effort
on the part of the customer.”
without special effort
42. #BASPUG
BCS in Office Client
Persistence
Store
Data
Cubes
SAP ORACLE SiebelSQL
Custom .NET
assembly
Identity
Federation
service
BCS in SharePoint
BCS Meta
Data Store
External data
AS Custom
Connector
Client to Backend
Direct Connection
Client Data
Cache
DB
Connector
WCF /WS
Connector
.NET
Assembly
Connector
SharePoint Client
You could look at this diagram…
44. #BASPUG
External Data
External
Content Types
External Lists
SharePoint
Workspace w/
InfoPath Forms
Outlook Forms
and Task Panes
Office
Applications
Search Results
External Content Types
Describes:
• Structure of the external
system (Fields, Methods, Connection)
• How this data behaves within
SharePoint and Office
Added to the BCS Service Through:
• SharePoint Designer
• Visual Studio 2010
• Via an Import into the Business Data
Connectivity Service as part of a model
Manage and Re-Use from a Central Location
45. #BASPUG
External Data
External
Content Types
External Lists
SharePoint
Workspace w/
InfoPath Forms
Outlook Forms
and Task Panes
Office
Applications
Search Results
External Lists
The external content type is leveraged in a variety of ways…
Such as for Exposing External Data
as an External SharePoint List
Full CRUD capability
Familiar UI and Navigation
Sort, Filter, Group
Programmatic Access via SPList OM
Profile Page for Each Item
Form
Auto-generated OOB
Upsize to InfoPath
Can be Taken “Offline”
46. #BASPUG
External Data
External
Content Types
External Lists
SharePoint
Workspace w/
InfoPath Forms
Outlook Forms
and Task Panes
Office
Applications
Search Results
Offline Lists
External Lists also be leveraged as Offline “Lists”
Or Connected to Outlook as
Contacts, Tasks, Calendars and Posts
47. #BASPUG
External Data
External
Content Types
External Lists
SharePoint
Workspace w/
InfoPath Forms
Outlook Forms
and Task Panes
Office
Applications
Search Results
Office Applications and Search
w/ Code
External Content Types can also be leveraged in…
Many other Office Applications
(or Custom Applications)
Or Leveraged to allow for
External Data Searching or Filtering
48. #BASPUG
External Data
External
Content Types
External Lists
SharePoint
Workspace w/
InfoPath Forms
Outlook Forms
and Task Panes
Office
Applications
Search Results
Bonus! Integration Webparts
w/ Code
Bonus!
Web Parts
External Data List
External Data Item
External Data Item Builder
External Data Related List
External Data Connectivity Filter
Chart Web Part (New)
Integration
Webparts
50. #BASPUG
So what’s different?
(Besides the Chart Control?)
Read/Write Capability
Claims Aware
Connect via ADO/SQL, WCF/WS, .Net
Assembly and Custom Connectors
Batch and Bulk Operation Support
BDC is still used for search indexing
connectors in 2010 they added blob,
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.
52. Intermediate AdvancedSimple
• Create Reusable
Components (UI parts,
ECTs, Actions)
Out-of-box
• Surface data in
External Lists
• Connect those lists to
Outlook, SPW
• External Data Columns
DeveloperPower User
NO CODE
Advanced Developer
CODE
Where things fit.
“NO CODE”
53. #BASPUG
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
SharePoint Designer Process
60. The Outcome
You saw how the BCS can be leveraged in
SharePoint Designer and in the SharePoint
UI.
61. 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’.
63. #BASPUG
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.
64. #BASPUG
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.)
External Lists
65. #BASPUG
External List
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.
External Lists
66. #BASPUG
• 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
Bonus! External Column
Limitations
Bonus!
67. The Outcome
You now know more about the
limitations of BCS and will make fewer
assumptions.
68. What to watch out for…
Some of the many limitations
mentioned make sense. Think
carefully before you build a
‘workaround’.
69. 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. Limitations of BCS
1. The Challenges Aren’t All Technology Challenges
2. Interface, Identity, Search and Data Access Platform
3. A Set of Powerful Connection Capabilities
Structured Types of External Content
Leveraging External Content with Internal Content
Interact Like SharePoint Lists
Extensibility/Tool Range from UI to SPD to VS 2010
4. Good Enough and Better than Most Options
What we talked about…
70. Thank You!
Thanks to Organizers, Sponsors and You for Making this Possible.
Questions? Ideas? Feedback? Contact me:
Twitter: @rharbridge
Blog: www.rharbridge.com
LinkedIn: www.linkedin.com/in/rharbridge
Email me at: RHarbridge@Allin.com
My company: www.Allin.com
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
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