Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke...

42
Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331

Transcript of Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke...

Page 1: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Building SharePoint Online Applications in a Hybrid WorldChris JohnsonGeneral Manager Provoke Solutions - Seattle

OSP331

Page 2: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Who?

Kiwi on loan to the USA – SeattleProvoke Solutions Inc. General ManagerEx-10yr Microsoftie, SharePoint Product Management, Program Management and Consulting Services

[email protected]@provokesolutions.com

Page 3: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Agenda

SPO FundamentalsScenarios

Simple: SharePoint Online consuming dataBridging the divide: Consuming On-premises LOB dataReverse: Consuming SPO data from Azure

Identity & SecuritySummary

Page 4: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Hybrid Apps

SharePoint Online + Data, Code, Logic elsewhere= Hybrid App

Caveat: My definition!

Page 5: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

SPO Development Fundamentals

Page 6: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Simple - Browser

Intermediate - SharePoint Designer 2010

Advanced - Visual Studio 2010Sandbox Solutions - Code, DeclarativeClient Object Model (Silverlight, JavaScript, .NET)

SharePoint Online Development

Page 7: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Access to the Farm/Web ApplicationAccess to file systemWeb application-scoped or farm-scoped Features

Global Assembly Cache (GAC)Access to web.configAbility to install code/files on server

Timer JobsAdmin access beyond site collection

Running with elevated privilegesAccess to External Code/Data

Access to external web service calls

SharePoint Online DevelopmentUnsupported SP2010 Platform Features

Page 8: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Sandboxed Solutions

DevelopmentSubset of Microsoft.SharePoint - Scoped SPSite, Partial Trust, CASVS2010 support – Templates, Intellisense, F5, Packaging

DeploymentSite Collection Admin uploads to Solution GalleryExecutes in sandboxed execution environment

AdministrationSolutions consume resource points against quotaSolutions are disabled when quota is exceeded

Page 9: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Client-Object Model

Remote APIs for interacting with SharePoint sitesEasier than SharePoint Web Services, more efficientConsistent with Microsoft.SharePoint namespaceScoped to site collection

Supported platforms.NET 3.5 (and below)Silverlight 2.0 (and above)JavaScript/ECMAScript

Page 10: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Hybrid App Patterns

Page 11: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

What we will build out…

Page 12: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Simple: SPO Consuming Displaying Data

No external calls from Sandbox codeCode in the Browser

JavaScriptSilverlightFlash

X-Domain issuesclientaccesspolicy.xml

Page 13: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Demo…

Simple: Consuming Data

Page 14: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

What we saw…

Sandbox SolutionVisual Web Part FeatureJQuery Querying WCF Service

Page 15: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

“What do you do if your Line Of Business data isn’t conveniently exposed externally?”

Page 16: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Bridging the divideConsuming On-Premises LOB data

Data on premises SQL, SAP, CRM, … <insert LOB system here>

Not exposed to the Web usuallyNetwork issues, Security, No UAG/TMG/Reverse proxy

How do you get at this data from SPO?

Page 17: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Option 1: Reverse Proxy

Forefront Unified Access Gateway 2010

UAG SharePoint

Internet Intranet

http://www.microsoft.com/forefront/unified-access-gateway/en/us/default.aspx

Page 18: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Option 2: Windows Azure Options

AzureConnectivity: Service BusSecurity: Access Control (ACS)

Azure ConnectConnectivity: Virtual IP network

Page 19: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Windows Azure Virtual Network

Secure network connectivity between on-premises and cloud

Supports standard IP protocols

Enables hybrid apps access to on-premises servers

Simple setup and managementWeb, Worker and VM Roles supported

Supports Windows Azure app domain-joined to corporate Active Directory

Enterprise

Windows Azure

Page 20: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Azure Service Bus

Create on-premises serviceCreate service and deploy to Windows AzureConnect via Service BusConnect via remote device

You can connect and use the service from any WCF conversant device, application or platform

SharePoint List or LOB

WCF Web Service

Service Bus

Listener Service

WCF

On Premises

Page 21: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Demo…

Consuming On-Premises LOB data

Page 22: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

What we saw

Same as Simple ScenarioSandbox Visual Web Part, JS, Azure WCF Service

Azure Service Bus On-Premises WCF ListenerLOB System

Page 23: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

My data is in SharePoint Online? How do I get at it?

Page 24: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Reverse: Consuming SPO data from Azure

Reach into SPO to Return or Save DataSharePoint Remote API options:

Web ServicesClient Side Object Model

JavascriptSliveright.Net Managed Code

Page 25: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Authentication to SPO

O365 uses Microsoft Online Services IDLive ID “like”, not the same

“Headed”Browser popup for authenticationSuits client applicationsFollows MS-OFBA Protocol

“Headless”No user interactionProgrammatic only

Page 26: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Headless Authentication

Call Office 365 STS

Azure Applicatio

n

WCF/WIF

API Call

STS

Page 28: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Demo…

Reaching into SharePoint Online

Page 29: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

What we saw

Azure Web Role ApplicationWindows Identity Framework (WIF)Web Service Calls to O365 Secure Token Service (STS)Extracting the cookiesAttaching the cookies to the CSOM callMaking a call to SharePoint Online

Page 30: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Identity & Security

Page 31: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Security

UAG

Forms to NTLM

Azure

Azure ACSADFS Shared tokens

Azure ConnectWindows AuthDomain Auth

Into SPO

Online IDImpersonationService Account

Page 32: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Summary

Page 33: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Summary…

It’s not all doom and gloomThere are options!Leverage Azure to assist

Service BusACS

Page 34: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Developer Training Kit

SharePoint & Windows Azure Developer Kit

Getting StartedWCF, Windows Azure & SharePointWindows Azure & OfficeBusiness Connectivity Services & Windows AzureBI Solutions using SQL AzureBing Maps, Windows Azure & SharePoint…

http://www.msdn.com/training

Page 35: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Related Content

OSP334: Why Microsoft SharePoint and Windows Azure are Just …

Find Me Later At… ATE evening!

OSP302: Building Integrated Microsoft Office 365, SharePoint Online, …

Page 36: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

The Business Collaboration Platform for the Enterprise & the Internet

The capabilities of SharePoint 2010 provide a powerful business collaboration platform

Deliver the Best Productivity Experience

Cut Costs with a Unified Infrastructure

Rapidly Respond to Business Needs

The Business Collaboration Platform for the Enterprise and the Internet

Page 37: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Manage Resources Improve efficiency and save money by better managing work and allocation of resources

Maximize Portfolio Returns Make informed investment decisions and effectively communicate results across a portfolio of projects

Keep Teams Productive Save time and improve project results by centralizing team collaboration on deliverables and tasks

Improve SharePoint ROI Effectively manage requests to maximize the ROI of your SharePoint environmentwww.sharepoint.microsoft.com

www.microsoft.com/project

Project and SharePoint Better Together

Page 38: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Resources

Connect. Share. Discuss.

http://northamerica.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Page 39: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Complete an evaluation on CommNet and enter to win!

Page 40: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

Please Complete an Evaluation Your feedback is important!

Multipleways to Evaluate Sessions

Scan the Tagto evaluate thissession now on myTechEd Mobile

Page 41: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS

PRESENTATION.

Page 42: Building SharePoint Online Applications in a Hybrid World Chris Johnson General Manager Provoke Solutions - Seattle OSP331.