Modern Web applications are developed and executed as a set of interacting browser contexts, such as windows, frames and background workers. Cross-context communication systems have been rapidly evolving to support this interaction, but are still behind modern Web application demands. In this paper we present Pmrpc, a cross-context communication system with several novel properties important for future Web applications. First, the system provides three communication models, message-based, remote procedure call and publish-subcribe, and exposes them through a single unified programming interface. Second, the system enables communication between both window-type contexts and worker-type contexts using the same unified programming interface. Third, the system enables dynamic discovery of contexts. We present the architecture of Pmrpc, based on secure message-oriented browser primitives introduced in the HTML5 group of standards. Lastly, we compare the execution times of achieving specific application goals when using Pmrpc to those of HTML5 native browser primitives. We show that although Pmrpc is slower than native primitives, the reduction in performance is not significant and the system is still usable in real-world Web applications.
[1]
P. Saxena,et al.
The Emperor ’ s New APIs : On the ( In ) Secure Usage of New Client-side Primitives
,
2010
.
[2]
Fabio Casati,et al.
Understanding Mashup Development
,
2008,
IEEE Internet Computing.
[3]
Franklin Reynolds.
Web 2.0–In Your Hand
,
2009,
IEEE Pervasive Computing.
[4]
Piero Fraternali,et al.
Rich Internet Applications
,
2010,
IEEE Internet Computing.
[5]
Sinisa Srbljic,et al.
Widget-Oriented Consumer Programming
,
2009
.
[6]
Adam Barth,et al.
The Web Origin Concept
,
2011,
RFC.
[7]
Abraham Silberschatz,et al.
Operating System Concepts, 5th Edition
,
1994
.
[8]
Charles Reis,et al.
Architectural Principles for Safe Web Programs
,
2007,
HotNets.