Surfacing External data into SharePoint and Office365.
A look at how to surface and modify the data from SQLServer, OData, DocumentDB, Azure Tables and other data types of storage from Sharepoint, Office365 and Local Office products.
3. Agenda
- What is Business Connectivity Service
- Why use Business Connectivity Service
- Using Business Connectivity Service for external data
- .Net assemblies
- WCF Service
- SQL Server Connection
- Overview & Demo of various external data sources
- SQL Server
- Azure Tables,
- DocumentDB
4. BCS Solutions
- On-Premises Solution
The SharePoint farm and the external system are both behind a
company’s firewall
- Cloud Only Solution
SharePoint Online site accessing data from an external data
source
- Hybrid Solution
6. Prerequisite software needed to work with
external data in Office 2013
Microsoft SQL Server Compact 4.0
Microsoft .NET Framework 4.x
WCF Data Services 5.0 for OData V3
Download it from:
https://support.office.com/en-us/Article/Prerequisite-software-needed-to-
work-with-external-data-in-Office-2013-cc974b82-7a2e-4889-9a7b-
b0328fc5d1ca
7. Business Services Connectivity
Authentication Models
- Impersonation and Delegation
Per-user authorization
To enable auditing at the back-end server
- Trusted Subsystem
Access to one account.
It offers connection pooling.
It reduces licensing costs on the back-end server.
It is less complex.
13. Azure Tables
What are Azure Tables?
Non relational entities (not RDBMS).
Tables are nothing but collection of entities
Entities are comprised of properties
Properties are name value pairs
14. Azure Table Entities
Azure Storage Account
Employees (Table)
Entity
Property
<Name,Value>
Entities
Partition Key
Row Key
Timestamp
… other properties
Each entity can have different number
and type of properties
Partition Key + Row Key = Unique Identifier
(No support for secondary index in Azure Table)
Azure Storage Account
Entity
Property
Entity
Property
Property PropertyProperty
Azure Table
15. Azure Tables Partitions
Employees (Table) Certifications (Table)
(Entity)
EmployeeName=…
CertName=…
BirthDate=…
CertNumber=…
EmployeeName=…
CertName=…
BirthDate=…
CertNumber=…
FavoriteTeam=…
(Entity)
CertName=…
EmployeeName=…
CertNumber=…
BirthDate=…
CertName=…
EmployeeName=…
CertNumber=…
BirthDate=…
PK = EmployeeName
RK = CertName
PK = CertName
RK = EmployeeName
How do you Partition the data?
• EmployeeName or CertName?
16. Azure Tables
EmployeeName BirthDate FavoriteTeam
David Anderson 1/1/1970
Nancy Wilson 4/15/1965 Atlanta Falcons
John Doe April 1, 1989
No Fixed Schema for entities
Employee table
17. Azure Tables
Summary
No nice relational schema model that we get in RDBMS
Easy to work with
Built to scale
Great pricing!!
18. DocumentDB
• Azure Document DB - relatively new service
• It’s fully managed Document database as a service
• It stores the data in JSON
• The Azure Tables are extremely scalable and cheap, but if you start querying
on any other attributes then you start running into problems.
• It’s massively scalable but fully query-able by all parts of JSON tree.
• Capacity units are 10GB in size.
21. Recap
We Looked at…
- Business Connectivity Services
- How to surface external data into SharePoint
- We looked at retrieving external data from various sources
such as -
- SQL Server,
- .Net Assemblies
- DocumentDB
22. References
- Technet, MSDN
- azure.microsoft.com (Learning videos and documentation)
- Youtube, Channel9 and other internet sites