Introducing Office Web Apps as a Tool for Developing Content Rich Applications
-
Upload
ryan-mcintyre -
Category
Technology
-
view
1.903 -
download
3
description
Transcript of Introducing Office Web Apps as a Tool for Developing Content Rich Applications
INTRODUCING OFFICE WEB APPS AS A TOOL FOR DEVELOPING CONTENT RICH
APPLICATIONSRyan McIntyre
MCITP, MCPD
Director, Portals & Collaboration
@ryanmcintyre
Introducing Contoso
View & Edit Documents While Mobile
View & Edit Documents While Mobile
• Frustrated with available apps and additional licensing• Owns Office and wants to leverage existing platforms• Look at how to extend OWA to support their needs
Introduction to OWA
•What is OWA•How OWA can be Consumed•Licensing
OWA vs Excel Services
Excel Web App• Separate farm• Create/Edit in browser• Limited BI• /_layouts/15/xlviewer.aspx?id=
Excel Services• Dedicated Service Application within
SharePoint farm• Requires Enterprise• Supports BI
• External data connections• PivotChart/PivotTable• Power View
• /_layouts/15/WopiFrame2.aspx?sourcedoc=
Disable Excel Web App: New-SPWOPISuppressionSettingExcel Services Compared to Excel Web App: http://bit.ly/1bAWC42
2010 vs 2013
2010• Simple architecture• Separate install• View & Edit Office
documents in a browser
2013• Dedicated farm• Licensing enforcement• Additional Office features
• Track changes• Comments• Co-authoring• Others
• Create New documents• Extensible
Let’s See How We Can Use It
Consuming from SharePoint Demo
Consuming on Custom Apps & Mobile
How Do We Pay For This Thing?
Licensing
•External or Internal?•Anyone can view• Internal users with Office licenses can edit•External users can edit•Don’t trust me!•http://bit.ly/1du0pzN
Let’s Get Technical!
Architecture
•OWA Architecture•Office365 vs On-prem•Applying Updates
Simple Architecture
Office Web Apps
SharePoint Farm
Office Web App
HTTP/SHTTP/S
HTTP/S
High Availability Architecture
Office Web App
Office Web Apps
NLB
SharePoint Farm
NLB
WOPI What??
WOPI What??
Web Application Open Platform Interface
OWA Architecture
OWA Architecture
How do we update our Office Web Apps farm?
Applying Patches & Updates
• Standard MSI patching• Server has to be disconnected from farm to be able to
patch it• Use PowerShell - Remove-OfficeWebAppsMachine / New-OfficeWebAppsMachine
• In place major version upgrades are not supported• Previous Office Web Apps Server installation has to be removed before new version can be installed
• Schema will be kept intact within major version, but not necessarily with cross major versions
• Upgraded Office Web Apps server will work with older WOPI host
Patched Office Web Apps Farm
Office Web Apps Farm
Patching Process for Minimal Downtime
NLB
Office Web App
WOPI server request
OWA Architecture
Now let’s look at how we can leverage this architecture in our applications
OWA Customizations
•Extension Points•Development Technologies•How to get Started
Extension Points
• Scenario: Programmatically create a new Word document using Word Web App and save in a library
• Scenario: Open and edit an Office document using OWA behind the scenes based on an action initiated by a user in our application
Extension Points
Custom WOPI Host
Store documents in non-SharePoint environment and provide access to users through WOPI
1. Two required (minimum) REST endpoints1. GET file information - CheckFileInfo2. GET file stream - GetFile
2. Discovery XML located at /hosting/discovery3. Access token4. Unique IDs for files5. Wrap it up in a page
Custom WOPI Client
Use our OWA farm to display non-Office documents
1. Discovery XML used when WOPI binding created from the host1. Defines our Apps and Actions
2. Create the viewer page (aspx)3. Deploy (e.g. Simple IIS website)4. Bind from WOPI host (New-SPWOPIBinding)
Summary
• OWA Overview• Architecture• Customizations
Call to Actions
• Read MSDN docs• Read Wictor’s blog series for WOPI Client
• http://bit.ly/1bILKlN
• WOPI Host sample from Shawn Cicoria• http://bit.ly/1gtsYm1
• Create O365 demo tenant• Install a farm locally or on Azure, and play
Contoso Revisited
Thank You!• MS-WOPI Specification: http://bit.ly/18XJOak• Taxonomy workshop plug (contact me if interested)
[email protected]@ryanmcintyrehttp://blog.randomdust.com