Web Mashup Proxy Server Bypassing Same Origin Policy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Same Origin Policy (SOP) in modern Web browsers restricts Web mashups from retrieving content from third-party Web services, hindering their embedding in various Web pages, as many third-party providers do not use JSONP or application-specific policy files for cross-domain serving.

Innovation Solution

A workflow engine in the Web browser generates a JSONP cross-domain call to a proxy server, which then places a second Web service request to the third-party Web service, allowing content retrieval without violating the SOP, and returns the content to the Web mashup through a callback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Same Origin Policy is enforced to prevent security violations, then Web browser security is improved, but Web mashups cannot retrieve content from third-party Web services

Engineering Contradiction:
ImproveWeb browser securityVSAvoidWeb mashup content retrieval capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a proxy server as an intermediary component between the Web mashup and third-party Web services. The proxy server receives requests from the mashup, forwards them to the target Web services, and returns responses to the mashup. This mediator approach allows the mashup to access external content without directly violating the Same Origin Policy, as the communication occurs through the proxy server rather than direct cross-origin requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If JSONP or application-specific policy files are used to enable cross-domain serving, then Web mashup content retrieval is improved, but third-party Web service providers must implement specific protocols

Engineering Contradiction:
ImproveWeb mashup content retrieval capabilityVSAvoidThird-party Web service implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The proxy server acts as a mediator that translates between the mashup's request format and the third-party Web service's expected format. Instead of requiring third-party services to implement JSONP or policy files, the proxy server handles the protocol translation, making the solution compatible with any third-party service that accepts standard HTTP requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If direct Web service requests are made from Web mashups to third-party services, then Web mashup functionality is improved, but Same Origin Policy violations occur

Engineering Contradiction:
ImproveWeb mashup functionalityVSAvoidSame Origin Policy violations
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The proxy server serves as a trusted intermediary that the browser's Same Origin Policy allows the mashup to communicate with. The mashup sends requests to the proxy server (which is on the same origin or has appropriate permissions), and the proxy server then makes requests to third-party services. This indirect communication path maintains functionality while avoiding SOP violations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7941546B2Cross-domain communication technique for execution of web mashups
Publication Date: 2011.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7941546B2 patent drawing
  • US7941546B2 patent drawing
  • US7941546B2 patent drawing

AI summary

A system and method is described for communicating requests from a Web mashup being executed within the context of a Web browser to third-party Web services in a manner that does not violate the Same Origin Policy (SOP) observed by many Web browsers. In one embodiment, a workflow engine operating in the context of a Web browser executes a plurality of executable components comprising a Web mashup. The workflow engine transparently redirects Web service requests generated by the executing components to a proxy server that acts as an intermediate between the workflow engine and third-party Web services. The proxy server, which is not subject to SOP, transmits the Web service requests to the third-party Web service and obtains requested data therefrom. The proxy server further returns the requested data in a manner that is useable by the Web mashup components.