View
216
Download
0
Category
Preview:
Citation preview
Building SharePoint Online Applications in a Hybrid WorldChris JohnsonGeneral 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
www.looselytyped.net@LoungeFlyZChris.johnson@provokesolutions.com
Agenda
SPO FundamentalsScenarios
Simple: SharePoint Online consuming dataBridging the divide: Consuming On-premises LOB dataReverse: Consuming SPO data from Azure
Identity & SecuritySummary
Hybrid Apps
SharePoint Online + Data, Code, Logic elsewhere= Hybrid App
Caveat: My definition!
SPO Development Fundamentals
Simple - Browser
Intermediate - SharePoint Designer 2010
Advanced - Visual Studio 2010Sandbox Solutions - Code, DeclarativeClient Object Model (Silverlight, JavaScript, .NET)
SharePoint Online Development
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
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
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
Hybrid App Patterns
What we will build out…
Simple: SPO Consuming Displaying Data
No external calls from Sandbox codeCode in the Browser
JavaScriptSilverlightFlash
X-Domain issuesclientaccesspolicy.xml
Demo…
Simple: Consuming Data
What we saw…
Sandbox SolutionVisual Web Part FeatureJQuery Querying WCF Service
“What do you do if your Line Of Business data isn’t conveniently exposed externally?”
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?
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
Option 2: Windows Azure Options
AzureConnectivity: Service BusSecurity: Access Control (ACS)
Azure ConnectConnectivity: Virtual IP network
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
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
Demo…
Consuming On-Premises LOB data
What we saw
Same as Simple ScenarioSandbox Visual Web Part, JS, Azure WCF Service
Azure Service Bus On-Premises WCF ListenerLOB System
My data is in SharePoint Online? How do I get at it?
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
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
Headless Authentication
Call Office 365 STS
Azure Applicatio
n
WCF/WIF
API Call
STS
Write-up and Samples
“Headed”MSDN: Remote Authentication in SharePoint Online Using Claims-Based Authentication
Code Sample included
Blog: Authentication with SharePoint Online and the Client Side Object Model
“Headless”Blog: Part 2: “Headless” Authentication with SharePoint Online and the Client Side Object Model
Code sample included
Demo…
Reaching into SharePoint Online
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
Identity & Security
Security
UAG
Forms to NTLM
Azure
Azure ACSADFS Shared tokens
Azure ConnectWindows AuthDomain Auth
Into SPO
Online IDImpersonationService Account
Summary
Summary…
It’s not all doom and gloomThere are options!Leverage Azure to assist
Service BusACS
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
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, …
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
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
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
Complete an evaluation on CommNet and enter to win!
Please Complete an Evaluation Your feedback is important!
Multipleways to Evaluate Sessions
Scan the Tagto evaluate thissession now on myTechEd Mobile
© 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.
Recommended