WOPI Server Architecture Decoupling Cloud Apps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Integrating a cloud-based application with a Microsoft online application while complying with WOPI requirements often restricts the performance of the cloud-based application, as it necessitates changes in behavior and data storage practices.
Innovation Solution
A new WOPI server architecture that decouples the backend server from the WOPI Client, allowing it to maintain compliance with WOPI specifications without altering server code or data storage practices, thereby acting as a proxy to manage access tokens and sync working copies, ensuring seamless interaction with WOPI Clients while maintaining independence from WOPI requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a WOPI-compliant interface is put on top of the cloud-based application to integrate with Microsoft online applications, then integration capability is improved, but the performance and autonomy of the cloud-based application deteriorates due to restrictions on behavior and data storage practices
Solution Approach 1:
The patent divides the system into two independent parts: a WOPI Host component that handles WOPI protocol compliance and a cloud-based application component that maintains its original behavior. The WOPI Host acts as a separate service that interfaces with Microsoft online applications, while the cloud-based application remains unchanged and autonomous, thus achieving integration without compromising performance or autonomy.
Solution Approach 2:
The WOPI Host serves as an intermediary layer between the cloud-based application and Microsoft online applications. It receives requests from the cloud-based application, translates them into WOPI-compliant operations, executes them through the WOPI protocol, and returns results. This mediator enables integration while allowing the cloud-based application to maintain its original architecture and performance characteristics.
2Reliability
If the cloud-based application modifies its behavior and data storage to comply with WOPI requirements, then compliance with WOPI specifications is improved, but the complexity of the application architecture deteriorates
Solution Approach 1:
The patent separates WOPI compliance responsibilities from the cloud-based application by creating a distinct WOPI Host component. This segmentation ensures that the cloud-based application does not need to modify its architecture or behavior, while the WOPI Host independently handles all compliance requirements, thus maintaining simplicity in the original application while achieving reliable WOPI compliance.
Solution Approach 2:
The WOPI Host acts as an intermediary that absorbs all WOPI compliance requirements. It translates cloud-based application operations into WOPI-compliant formats and handles data storage and retrieval according to WOPI specifications. This intermediary approach ensures reliable compliance without adding complexity to the cloud-based application's architecture.
3Stability of the object's composition
If the backend server is coupled with the WOPI Client to ensure data synchronization, then data consistency is improved, but the flexibility and independence of the backend server deteriorates
Solution Approach 1:
The WOPI Host serves as an intermediary between the backend server and the WOPI Client. It maintains data consistency by synchronizing changes from the backend server to the WOPI Client while preserving the independence of the backend server. The WOPI Host handles the coupling mechanism, allowing the backend server to operate independently without direct connections to the WOPI Client, thus achieving both data consistency and server independence.
Data Source
AI summary
An interface server (e.g., Web Application Open Platform Interface (WOPI) server) is communicatively connected to an information management (IM) server and to an online application server which acts as a client of the interface server. When a user wishes to open, create, or edit a document in an online application hosted by the online application server, the interface server is called, instead of the IM server which manages the document at the backend of an enterprise computing network. The interface server is configured for obtaining a working copy of the document from the IM server and providing the working copy to the client. The client provides the working copy to the online application for display on the user device. When the work is done, the working copy is sync'd back through the interface server to the IM server as a new draft and deleted by the interface server.


