SlideShare a Scribd company logo
INTRODUCING OFFICE WEB APPS AS A TOOL
FOR DEVELOPING CONTENT RICH APPLICATIONS
Ryan 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-SPWOPISuppressionSetting
Excel 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
App
HTTP/S

HTTP/S
SharePoint Farm

Office Web Apps

HTTP/S
High Availability Architecture
Office Web
App

Office Web Apps

SharePoint Farm

NLB

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
Patching Process for Minimal Downtime
Office Web
App

NLB
Office Web Apps Farm

Patched Office Web Apps
Farm
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 endpoints
1.
2.

2.
3.
4.
5.

GET file information - CheckFileInfo
GET file stream - GetFile

Discovery XML located at /hosting/discovery
Access token
Unique IDs for files
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 host
1. 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)

ryan.mcintyre@neudesic.com
@ryanmcintyre
http://blog.randomdust.com

More Related Content

What's hot

A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
SPC Adriatics
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Exchange Integration in 5.0, by Doug Johnson
Exchange Integration in 5.0, by Doug JohnsonExchange Integration in 5.0, by Doug Johnson
Exchange Integration in 5.0, by Doug Johnson
Acumatica Cloud ERP
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
Alex Pop
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePointTalbott Crowell
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
Ronald Courville
 
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
SharePoint Framework, React and Office UI SPS Paris 2016 - d01SharePoint Framework, React and Office UI SPS Paris 2016 - d01
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
Sonja Madsen
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...
SPC Adriatics
 
sell idea
sell ideasell idea
sell idea
Rashmi Joshi
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
SPC Adriatics
 
Upgrade webinar
Upgrade webinarUpgrade webinar
Upgrade webinarShanesCows
 
SharePoint NYC search presentation
SharePoint NYC search presentationSharePoint NYC search presentation
SharePoint NYC search presentation
jtbarrera
 
Webhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint OnlineWebhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint Online
Netwoven Inc.
 
Deploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug JohnsonDeploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug Johnson
Acumatica Cloud ERP
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
SPC Adriatics
 
Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7
DNN
 
Add ins share-point provider hosted
Add ins share-point provider hostedAdd ins share-point provider hosted
Add ins share-point provider hosted
Fabian Imaz
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
Ronald Courville
 

What's hot (20)

A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Exchange Integration in 5.0, by Doug Johnson
Exchange Integration in 5.0, by Doug JohnsonExchange Integration in 5.0, by Doug Johnson
Exchange Integration in 5.0, by Doug Johnson
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
SharePoint Framework, React and Office UI SPS Paris 2016 - d01SharePoint Framework, React and Office UI SPS Paris 2016 - d01
SharePoint Framework, React and Office UI SPS Paris 2016 - d01
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...
 
sell idea
sell ideasell idea
sell idea
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
 
Upgrade webinar
Upgrade webinarUpgrade webinar
Upgrade webinar
 
SharePoint NYC search presentation
SharePoint NYC search presentationSharePoint NYC search presentation
SharePoint NYC search presentation
 
Webhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint OnlineWebhooks in Microsoft SharePoint Online
Webhooks in Microsoft SharePoint Online
 
Deploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug JohnsonDeploying and Using the B2B Portal by Doug Johnson
Deploying and Using the B2B Portal by Doug Johnson
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
 
Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7
 
Add ins share-point provider hosted
Add ins share-point provider hostedAdd ins share-point provider hosted
Add ins share-point provider hosted
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
 

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

SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
NCCOMMS
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
urskeshav
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT Pro
NCCOMMS
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
Microsoft 365 Developer
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integration
jems7
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
SPC Adriatics
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
Yochay Kiriaty
 
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
Micro Focus
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
Shailen Sukul
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
BIWUG
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
SPC Adriatics
 
How to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsHow to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer Apps
Maarten Visser
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access Services
SPC Adriatics
 
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
SPTechCon
 
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
Vishal Pawar
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
Chandima Kulathilake
 

Similar to Introducing Office Web Apps as a Tool for Developing Content Rich Applications (20)

SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT Pro
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integration
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
#MFSummit2016 Operate: Solving desktop challenges with application virtualisa...
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
 
How to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsHow to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer Apps
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access Services
 
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
 
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
South Florida SQL Saturday - Power BI Report Server Enterprise Architecture, ...
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

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

  • 1. INTRODUCING OFFICE WEB APPS AS A TOOL FOR DEVELOPING CONTENT RICH APPLICATIONS Ryan McIntyre MCITP, MCPD Director, Portals & Collaboration @ryanmcintyre
  • 3. View & Edit Documents While Mobile
  • 4. 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
  • 5. Introduction to OWA •What is OWA •How OWA can be Consumed •Licensing
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. 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-SPWOPISuppressionSetting Excel Services Compared to Excel Web App: http://bit.ly/1bAWC42
  • 11.
  • 12.
  • 13.
  • 14. 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
  • 15. Let’s See How We Can Use It
  • 17. Consuming on Custom Apps & Mobile
  • 18. How Do We Pay For This Thing?
  • 19. 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
  • 23. High Availability Architecture Office Web App Office Web Apps SharePoint Farm NLB NLB
  • 25. WOPI What?? Web Application Open Platform Interface
  • 27. OWA Architecture How do we update our Office Web Apps farm?
  • 28. 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
  • 29. Patching Process for Minimal Downtime Office Web App NLB Office Web Apps Farm Patched Office Web Apps Farm
  • 30. OWA Architecture Now let’s look at how we can leverage this architecture in our applications
  • 31. OWA Customizations •Extension Points •Development Technologies •How to get Started
  • 32. 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
  • 34. Custom WOPI Host Store documents in non-SharePoint environment and provide access to users through WOPI 1. Two required (minimum) REST endpoints 1. 2. 2. 3. 4. 5. GET file information - CheckFileInfo GET file stream - GetFile Discovery XML located at /hosting/discovery Access token Unique IDs for files Wrap it up in a page
  • 35. Custom WOPI Client Use our OWA farm to display non-Office documents 1. Discovery XML used when WOPI binding created from the host 1. 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)
  • 36. Summary • OWA Overview • Architecture • Customizations
  • 37. 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
  • 39. Thank You! • MS-WOPI Specification: http://bit.ly/18XJOak • Taxonomy workshop plug (contact me if interested) ryan.mcintyre@neudesic.com @ryanmcintyre http://blog.randomdust.com

Editor's Notes

  1. Business model of mobile staff and BYOD
  2. OWA is not Outlook Web Access, used by ExchangeSimply stated, view or edit a document in the browser
  3. OWA
  4. Excel Services
  5. Can use one or the other, set by New-SPWOPISuppressionSetting, not both
  6. Search results previewCSWP hover panelWOPI frame
  7. Show demo on phone
  8. Image from http://farm6.staticflickr.com/5199/7369580478_92ccf6bfbd_c.jpg
  9. This slide is explaining how to perform Office Web App level patching with minimal or no-downtime. Since Office Web Apps implementation is basically stateless, we can move the traffic between old and new versions of the farm. <click>So – what we first need is to have clear plan on what needs to be performed for OS and for Office Web Apps. Having that documented and obviously tested before starting to perform these steps in production.<click>We first take away one of the existing servers from Office Web Apps farm and path that with latest patches. When server is removed from the Office Web Apps farm, we update the NBL pools as well to ensure that there’s no end user traffic landing on this server, until it’s patched.<click>Then we create completely new office Web Apps farm using that particular server by running the New-OfficeWebAppFarm command<click>After that we’ll take following server from the farm, patch it and move it over to newly created patched farm and update the NLB accordingly<click>When we have enough servers patched, we can then move the traffic from NLB to point on the new patched farm. This will basically redirect all new requests coming to Office Web Apps farm to new patched environment. Since Office Web Apps is basically stateless, there’s really no implications for the end users. When requests are landing to new farm, they will just re-convert the Office documents what are being viewed to browser format and they will server the content properly. Starting from this moment, we are serving content using the patched farm.<click>Then we patch the existing servers and move the over one-by-one<click>Until we have final server left, where we can then delete the old farm and move that one over to the new farm side and we have patched then whole farm. Then when there’s again requirements to patch the server, either OS or Office Web Apps, we can perform the same process again. Key point here is to notice that we were able to patch and update the farm without any service breaks. There could have been some slowness during the process for the end users, but still the service it self was up and running without actual breaks. Obviously this means some coordination and strict process to follow, but due the simplicity of the Office Web Apps infrastructure, we can achieve this relatively easily.
  10. <<Possible demo>>
  11. <<Possible demo>>
  12. Re-introduce Contoso’s problemsThey now have some optionsDoes this relate to your company or clients?What are your takeaways?