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
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
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-SPWOPISuppressionSetting
Excel Services Compared to Excel Web App: http://bit.ly/1bAWC42
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
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
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 (20)

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

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

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

Recently uploaded (20)

PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Biography of Daniel Podor.pdf
Daniel Podor
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Ad

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
  • 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
  • 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) [email protected] @ryanmcintyre http://blog.randomdust.com

Editor's Notes

  • #3: Business model of mobile staff and BYOD
  • #7: OWA is not Outlook Web Access, used by ExchangeSimply stated, view or edit a document in the browser
  • #9: OWA
  • #10: Excel Services
  • #11: Can use one or the other, set by New-SPWOPISuppressionSetting, not both
  • #17: Search results previewCSWP hover panelWOPI frame
  • #18: Show demo on phone
  • #20: Image from http://farm6.staticflickr.com/5199/7369580478_92ccf6bfbd_c.jpg
  • #30: 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.
  • #35: <<Possible demo>>
  • #36: <<Possible demo>>
  • #39: Re-introduce Contoso’s problemsThey now have some optionsDoes this relate to your company or clients?What are your takeaways?