Leveraging Legacy Code to Deploy Desktop Applications on the Web. Douceur, J. R.; Elson, J.; Howell, J.; and Lorch, J. R. In pages 339-354.
abstract   bibtex   
Xax is a browser plugin model that enables developers to leverage existing tools, libraries, and entire programs to deliver feature-rich applications on the web. Xax employs a novel combination of mechanisms that collectively provide security, OS-independence, performance, and support for legacy code. These mechanisms include memory-isolated native code execution behind a narrow syscall interface, an abstraction layer that provides a consistent binary interface across operating systems, system services via hooks to existing browser mechanisms, and lightweight modifications to existing tool chains and code bases. We demonstrate a variety of applications and libraries from existing code bases, in several languages, produced with various tool chains, running in multiple browsers on multiple operating systems. With roughly two person-weeks of effort, we ported 3.3 million lines of code to Xax, including a PDF viewer, a Python interpreter, a speech synthesizer, and an OpenGL pipeline.
@inproceedings{ dou08,
  crossref = {osdi2008},
  author = {John R. Douceur and Jeremy Elson and Jon Howell and Jacob R. Lorch},
  title = {Leveraging Legacy Code to Deploy Desktop Applications on the Web},
  pages = {339-354},
  topic = {xax[1]},
  uri = {http://research.microsoft.com/pubs/72878/xax-osdi08.pdf},
  uri = {http://www.usenix.org/event/osdi08/tech/full_papers/douceur/douceur_html/index.html},
  uri = {http://www.usenix.org/events/osdi08/tech/full_papers/douceur/douceur.pdf},
  abstract = {Xax is a browser plugin model that enables developers to leverage existing tools, libraries, and entire programs to deliver feature-rich applications on the web. Xax employs a novel combination of mechanisms that collectively provide security, OS-independence, performance, and support for legacy code. These mechanisms include memory-isolated native code execution behind a narrow syscall interface, an abstraction layer that provides a consistent binary interface across operating systems, system services via hooks to existing browser mechanisms, and lightweight modifications to existing tool chains and code bases. We demonstrate a variety of applications and libraries from existing code bases, in several languages, produced with various tool chains, running in multiple browsers on multiple operating systems. With roughly two person-weeks of effort, we ported 3.3 million lines of code to Xax, including a PDF viewer, a Python interpreter, a speech synthesizer, and an OpenGL pipeline.}
}
Downloads: 0