Upload
odalys-gallant
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
SharePoint Online (Office 365)
Hybrid Solutions:On-premise to the Cloud
Jason KaczorSenior SharePoint ArchitectIllumination Industries Ltd.
About… Jason Kaczor
facebook.com/jasonjkaczor
jjkaczor
jason.kaczor.ca
jjkaczor.wordpress.com
+1(403)870-0030
3
We will answer the following questions*:
What is a “hybrid <> on-premise” SharePoint cloud solution?
What are the “pros” and “cons” of Office 365 SharePoint?
What solution architectures, design patterns, best practices and implementation techniques are required to build hybrid solutions?
Can we design for the future?
* (…and probably raise many, many more…)
Session Goals
4
“Any SharePoint-solution which requires connectivity between a cloud-hosted SharePoint site and on-premise data.”
SharePoint is arguably the best platform on-the-market for collaboration.
… however - organizations will only truly receive the highest “return-on-investment” when they combine those capabilities with data integration.
What is a hybrid “on-premise <> cloud” solution?
5
Reduced SharePoint-related infrastructure operations and maintenance overhead.
Increased agility when designing & building SharePoint 2010 solutions.
Increased ability to design, build & secure internet/extranet-focused SharePoint sites.
Office 365 SharePoint - Advantages
On-premise
6
DEMO
Solutions?Kerberos Single-server
Oh RLY?
Office 365 / SharePoint Online
8
DEMO
Oh RLY?
Uh Oh…
11
Data Connectivity… Incoming Email
Web Parts OWA RSS Viewer XML Viewer …
Business Connectivity Services (BCS) Database Connections
Azure SQL Data Custom .NET Assemblies Web Services
On-premise or public SOAP/WCF endpoints Azure
Sandbox Solutions HTTP Requests
Data Sources
Office 365 SharePoint - Limitations
12
RSS Feed Web Part for Office 365 http://modery.net/updated-rss-feed-web-part-for-office-365/
Office 365 Anonymous Access Manager Sandbox Solution http://anonymous365.codeplex.com/
SharePoint 2010 JavaScript Registration Panel http://jcp.codeplex.com/
Best Practices: Ensure that any third-party components are updated frequently!
If you use “open-source” solutions, you “own” them – and subsequently their overall quality and update/upgrade paths…
Office 365 Resources
13
“Always use indirect access to remote data”
In any SharePoint solution which accesses remote data, over-the-network – NEVER access data “directly”!
“Better” Practice:
Use a local cached copy…
Best Practice:
Business Connectivity Services (BCS)
Data Connected SharePoint Solutions – Best Practices
14
“Always use indirect access to remote data”
In any SharePoint solution which accesses remote data, over-the-network – NEVER access data “directly”!
“Better” Practice:
Use a local cached copy…
Best Practice:
Business Connectivity Services (BCS)
Data Connected SharePoint Solutions – Best Practices
15
“Always use indirect access to remote data”
In any SharePoint solution which accesses remote data, over-the-network – NEVER access data “directly”!
“Better” Practice:
Use a local cached copy…
Best Practice:
Business Connectivity Services (BCS)
Data Connected SharePoint Solutions – Best Practices
16
Data Connected SharePoint Solutions – Best Practices
“Always use indirect access to remote data”
In any SharePoint solution which accesses remote data, over-the-network – NEVER access data “directly”!
“Better” Practice:
Use a local cached copy…
Best Practice:
Business Connectivity Services (BCS)
17
“Always use indirect access to remote data”
Why? Performance NIGHTMARES
= Support HORROR
In SP2007 this includes built-in Web Parts… RSS Viewer = synchronous, no caching… XML Viewer = synchronous, no caching…
(Thank-fully fixed in SP2010)
Data Connected SharePoint Solutions – Best Practices
18
“Caching” Patterns:
“Local Cache” On-premise
Custom SharePoint Timer Job Custom Windows Server Service Scheduled Script (i.e. PowerShell … XCOPY…)
Cloud AJAX “Refresh Cache” Script (i.e. JavaScript)
“Cloud Cache” Azure Content Deployment Network (CDN)
On-Premise Push into the CDN via Azure AppFabric Service Bus
Cloud Interact with CDN URL’s directly, or…. Integrate with Azure AppFabric Service Bus
Solutions – Architecture & Design Patterns
19
“Cloud ‘Just-In-Time’ Proxy” Pattern On-Premise
SOAP, WCF, REST Web Service(s) XML/RSS/Atom/oData/JSON feeds/files Web Service(s)
Cloud SOAP, WCF, REST Web Service(s) XML/RSS/Atom/oData/JSON feeds/files Web Service(s)
“Transparent Proxy” Pattern On-Premise
Caching! Monitoring! Metering! SOAP, WCF, REST Web Service(s) XML/RSS/Atom/oData/JSON feeds/files Transparent to existing applications/webparts/components once implemented
Cloud Possible integrate with Cloud-based CDN technologies, service buses
Solutions – Architecture & Design Patterns
20
“Data Source” Pattern
Often overlooked – not perfect, however is available in either Cloud or On-Premise solutions, using…
SharePoint Designer 2010 Empowers technical business analysts, site owners and “power-users”.
Locally cached XML/RSS data files, or….
Direct, remote XML/RSS data source URL’s
Solutions – Architecture & Design Patterns
21
“Web Part” Anti-Pattern
Ask yourself the following questions before coding any new webparts: Are you committed to “memory-leak-free” components (you are using SPDisposeCheck, right?)?
How good are your .NET multi-threaded and/or asynchronous programming skills?
Do you know all of the caching data options (and when to use each) available to components within SharePoint?
Will this web part be connectable? Why not?
Will the site owner/designer or end-user have the ability to re-style, modify layout or significantly modify this web part for mashups, composite or aggregate solutions?
Solutions – Anti-Patterns
22
“List Synchronizer” Anti-Pattern
If you plan on synchronizing data from an external source to a SharePoint list, ask yourself the following questions? Why?
How big is the initial load in “row numbers”? How much will it grow per week, month, year? How frequently will it be synchronized? Which repository is the master? How will conflicts be identified and rectified? What is your sub-folder containment strategy?
IF YOU DO NOT HAVE A SUB-FOLDER CONTAINMENT PLAN, THEN YOU MUST NOT SYNCHRONIZE DATA ** Sub-folders are a must for large datasets and have nothing to do with the metadata or end-user presentation of information ! **
Solutions – Anti-Patterns
23
Federated Identities Active Directory Federated Services (AD FS)
Synchronization
Single-sign-on (SSO)
… Otherwise …
Flaky client-side authentication JavaScript AJAX, CSOM, WebDAV, etc.
Or… anonymous read/write access on “data libraries” must be enabled … do you really want to display data which could potentially be “massaged/compromised” by a third-party?
Hybrid Solutions – Requirements
24
Internet Explorer Configuration
Hybrid Solutions – Client Requirements
25
Internet Explorer Configuration
Hybrid Solutions – Client Requirements
26
Internet Explorer Configuration
Hybrid Solutions – Client Requirements
27
Microsoft Office InfoPath 2010 SharePoint Designer 2010 Excel 2010 Access 2010
SharePoint Foundation 2010 CAML, XML, XSLT, DataView, WebParts HTML5, JavaScript, CSS Integrated SQL Server Reporting Services Silverlight, Flash
SharePoint Server Standard 2010 InfoPath Forms Services Search
SharePoint Server Enterprise 2010 Excel Calculation Services PerformancePoint Services Visio Graphics Services Access Services
Hybrid Solutions - Implementation Techniques
Hybrid Solution Techniques
28
DEMO
29
Sandbox Solutions
Business Connectivity Services (BCS)
Client-side Solutions
Can we design for the future?... (i.e. What do we know today…)
Questions?
30