Introducing Office Web Apps as a Tool for Developing Content Rich Applications

39
INTRODUCING OFFICE WEB APPS AS A TOOL FOR DEVELOPING CONTENT RICH APPLICATIONS Ryan McIntyre MCITP, MCPD Director, Portals & Collaboration @ryanmcintyre

description

Office Web Apps was introduced with SharePoint 2010 as a service used to provide browser-based access to Office documents. Office Web Apps (OWA) 2013 modifies the service architecture significantly, enabling the exposure of document interactions through a browser to be customized and expanded within SharePoint as well as outside of SharePoint. With this architecture change, we need to review the capabilities from a new perspective and question how we can best leverage this service. To start, we need to understand the new architecture changes. From there, how do we manage the health of OWA and apply updates? How do we leverage OWA to build additional capabilities into our applications? How do we expand OWA capabilities? What are the differences in OWA on-prem and OWA Office 365? In this session, we'll be answering these questions and more. We'll look at the new 2013 architecture and understand how to deploy the service on-prem and manage it properly. We will then look at how to extend the service and take advantage of the new capabilities in both our SharePoint and non-SharePoint solutions. You'll leave the session with a deeper understanding of OWA capabilities, and ready to incorporate OWA into your solution architectures!

Transcript of Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Page 1: 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

Page 2: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Introducing Contoso

Page 3: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

View & Edit Documents While Mobile

Page 4: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 5: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Introduction to OWA

•What is OWA•How OWA can be Consumed•Licensing

Page 6: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 7: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 8: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 9: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 10: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 11: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 12: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 13: Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Page 14: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 15: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Let’s See How We Can Use It

Page 16: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Consuming from SharePoint Demo

Page 17: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Consuming on Custom Apps & Mobile

Page 18: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

How Do We Pay For This Thing?

Page 19: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 20: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Let’s Get Technical!

Page 21: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Architecture

•OWA Architecture•Office365 vs On-prem•Applying Updates

Page 22: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Simple Architecture

Office Web Apps

SharePoint Farm

Office Web App

HTTP/SHTTP/S

HTTP/S

Page 23: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

High Availability Architecture

Office Web App

Office Web Apps

NLB

SharePoint Farm

NLB

Page 24: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

WOPI What??

Page 25: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

WOPI What??

Web Application Open Platform Interface

Page 26: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

OWA Architecture

Page 27: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

OWA Architecture

How do we update our Office Web Apps farm?

Page 28: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 29: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Patched Office Web Apps Farm

Office Web Apps Farm

Patching Process for Minimal Downtime

NLB

Office Web App

WOPI server request

Page 30: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

OWA Architecture

Now let’s look at how we can leverage this architecture in our applications

Page 31: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

OWA Customizations

•Extension Points•Development Technologies•How to get Started

Page 32: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 33: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Extension Points

Page 34: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 35: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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)

Page 36: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Summary

• OWA Overview• Architecture• Customizations

Page 37: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

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

Page 38: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Contoso Revisited

Page 39: Introducing Office Web Apps as a Tool for Developing Content Rich Applications

Thank You!• MS-WOPI Specification: http://bit.ly/18XJOak• Taxonomy workshop plug (contact me if interested)

[email protected]@ryanmcintyrehttp://blog.randomdust.com