sharepoint integration and interoperability - sharepoint saturday philly

79
#SPSPhilly @RHarbridge SharePoint 2010 (and a little 2013) Integration and Interoperability: What you Need to Know #SPSPhilly @RHarbridge Presented By: Richard Harbridge

Upload: richard-harbridge

Post on 15-Jul-2015

1.478 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint 2010 (and a little 2013)Integration and Interoperability:What you Need to Know

#SPSPhilly @RHarbridge

Presented By: Richard Harbridge

Page 2: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Thanks To Our Sponsors!

Page 3: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint User Group

• SharePoint

• End Users

• Administrators

• Architects

• Developers

• IT Pros

• Meetings: 2nd Tuesday of the month, Microsoft Malvern, 5:30-8 pm

WEB: www.TriStateSharePoint.org

EMAIL: [email protected]

TWITTER: @tristateSP

Page 4: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint NetworkAre you an independent consultant or remote worker who deals with SharePoint, Office or Office365?

Do you sometimes feel cut off from the rest of the SharePoint world?

Do you need help with technical or business issues, or just want the chance to socialize with others?

If so, then the SharePoint Network might be for you!

www.SharePointNetwork.org

Page 6: SharePoint Integration and Interoperability - SharePoint Saturday Philly

Our Goal Today…

From Here To Here

Page 7: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What we will be talking about…1. Business Data Challenges2. SharePoint’s Important Interoperability3. What is the BCS?

• External Content Types• External Columns• External Lists• Extensibility and Tooling

5. Limitations of BCS and SharePoint 2013

4. Demonstration

Bonus!

Page 8: SharePoint Integration and Interoperability - SharePoint Saturday Philly

Business Data Challenges

Page 9: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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!

Page 10: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Challenges with Business DataChallenge 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 ImpactIndirect Impact

Page 11: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

There are challenges that disparate and disconnected business data systems cause.

Page 12: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What to watch out for…

No system, product or application can completely solve business data

challenges.

People

Process

Technology

Page 13: SharePoint Integration and Interoperability - SharePoint Saturday Philly

SharePoint’s Important Interoperability

Page 14: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

“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?

Page 15: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

How do we achieveInteroperability?

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!

Page 16: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint Interoperability

Page 17: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Is it a UI Platform?

Page 18: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Why would we use SharePoint as a User Interface Platform?

Page 19: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Consistent User Experience Across Browsers

Well.. Almost.

Page 20: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

It’s a UI Platform1. By adhering to published interface standards.

Page 21: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

A UI Platform Bonus?Bonus!

Page 22: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Leverage Office and SharePointInterface Familiarity

Page 23: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Is it an Identity Platform?

Page 24: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Why would we use SharePoint as an Identity Platform?

Page 25: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Because Claims is Awesome

Connect with 3rd Party Authentication ProvidersConnecting with a Non Windows Integrated Authentication driven web site.

Delegation with Back-End SystemsShowing data from another server on a SharePoint web page.

Page 26: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Claims UsesConsistent Standards

*Doesn’t actually support SAML Protocol (SAMLP)

1. By adhering to published interface standards.

Page 27: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

It’s an Identity Platform

Page 28: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Is it a Search Platform?

Page 29: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Why would we use SharePoint as a Search Platform?

Page 30: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Query a 3rd Party Search Engine Using SharePoint UI

Federate Queries to Multiple Search Systems…

Page 31: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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

Page 32: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

A Search Platform Bonus!Bonus!

Page 33: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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.

Page 34: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

It is a Search Platform

Page 35: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Is it a Data Access Platform?

Page 36: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint Does a Great Job of Accessing SharePoint Content!

Page 37: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

What about External Systems and Content?

_ _ _B C S

Page 38: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

A Data Access Platform Bonus!Bonus! x 2

Page 39: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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

Page 40: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

And then there’s RESTAccess 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.

Page 41: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint has Interoperability

Some might even say it has storage interoperability or that OData is a standard… 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".

Page 42: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

SharePoint is a growing Interoperable UI, Identity,

Search, and Data Access Platform.

Page 43: SharePoint Integration and Interoperability - SharePoint Saturday Philly

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

Page 44: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What is the BCS?

Page 45: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

BCS in Office Client

Persistence

Store

Data

Cubes

SAP ORACLE SiebelSQL

Custom .NET

assembly

Identity Federation

serviceBCS in SharePoint

BCS MetaData Store

External data

AS Custom

Connector

Client to Backend

Direct Connection

Client DataCache

DB

Connector

WCF /WS

Connector

.NET

Assembly

Connector

SharePoint Client

You could look at this diagram…

Page 46: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

Workspace w/ InfoPath Forms

Outlook Forms and Task Panes

Office Applications

Search Results

Or this simplified one…

Page 47: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

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

Page 48: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

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 NavigationSort, Filter, GroupProgrammatic Access via SPList OMProfile Page for Each ItemFormAuto-generated OOBUpsize to InfoPath

Can be Taken “Offline”

Page 49: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

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

Page 50: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

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

Page 51: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

External Data

External Content Types

External ListsSharePoint

Workspace w/ InfoPath Forms

Outlook Forms and Task Panes

Office Applications

Search Results

Bonus! Integration Webparts

w/ Code

Bonus!

Web PartsExternal Data ListExternal Data ItemExternal Data Item BuilderExternal Data Related ListExternal Data Connectivity FilterChart Web Part (New)

Integration Webparts

Page 52: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Didn’t those webparts work with the BDC?

Page 53: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

So what’s different? (Besides the Chart Control?)

Read/Write CapabilityClaims AwareConnect via ADO/SQL, WCF/WS, .Net Assembly and Custom ConnectorsBatch 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.

Page 54: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

How do I actually build it out?

Page 55: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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”

Page 56: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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

Page 57: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Visual Studio Process

w/ Code

Page 58: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Suggested Life Cycle

Page 59: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

The BCS has a bunch of new capabilities bundled with some old enhanced BDC ones.

Page 60: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What to watch out for…

Selecting the right tool is important. Practice makes perfect.

Page 61: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

That’s a lot of information!

Page 62: SharePoint Integration and Interoperability - SharePoint Saturday Philly
Page 63: SharePoint Integration and Interoperability - SharePoint Saturday Philly

Demo!

Page 64: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

You saw how the BCS can be leveraged in SharePoint Designer and in the SharePoint

UI.

Page 65: SharePoint Integration and Interoperability - SharePoint Saturday Philly

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’.

Page 66: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What are BCSLimitations?

Page 67: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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.

Page 68: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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

Page 69: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

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

Page 70: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

• 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!

Page 71: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

Some Data Types Not Supported

http://msdn.microsoft.com/en-us/library/ff621599.aspx

• 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>…)

Page 72: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

You now know more about the limitations of BCS and will make fewer

assumptions.

Page 73: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What to watch out for…

Some of the many limitations mentioned make sense. Think

carefully before you build a ‘workaround’.

Page 74: SharePoint Integration and Interoperability - SharePoint Saturday Philly

What about SharePoint 2013?

Page 75: SharePoint Integration and Interoperability - SharePoint Saturday Philly

#SPSPhilly @RHarbridge

SharePoint 2013 Main BCS Differences

There are basically five 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. External List Enhancements – Performance

improvements, limit per page, filtering, sorting, and export to excel.

5. More client object model support! (Office 365)

Page 76: SharePoint Integration and Interoperability - SharePoint Saturday Philly

The Outcome

SharePoint 2013 BCS isn’t really different. Just more flexible and capable.

Page 77: SharePoint Integration and Interoperability - SharePoint Saturday Philly

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.)

Page 78: SharePoint Integration and Interoperability - SharePoint Saturday Philly

1. Business Data Challenges2. SharePoint’s Important Interoperability3. What is the BCS?

External Content TypesExternal ColumnsExternal ListsExtensibility and Tooling

4. Limitations of BCS

1. The Challenges Aren’t All Technology Challenges2. Interface, Identity, Search and Data Access Platform3. A Set of Powerful Connection Capabilities

Structured Types of External ContentLeveraging External Content with Internal ContentInteract Like SharePoint ListsExtensibility/Tool Range from UI to SPD to VS 2010

4. Good Enough and Better than Most Options

What we talked about…

Page 79: SharePoint Integration and Interoperability - SharePoint Saturday Philly

Questions? Ideas? Feedback? Contact me:

Twitter: @RHarbridge Blog: http://www.RHarbridge.com Email: [email protected] Resources: 700+ SharePoint IA Slides at.. PracticalIntranet.com130+ SharePoint Standards at.. SPStandards.com15 Pages of Important Questions at.. SharePointDiagnostics.com

Thank You Organizers, Sponsors and You for Making this Possible.