asqium: A JavaScript Plugin Framework for Extensible Client and Server-side Components

Titleasqium: A JavaScript Plugin Framework for Extensible Client and Server-side Components
Publication TypeConference Paper
Year of Publication2015
AuthorsTriglianos, V., and C. Pautasso
Conference Name15th International Conference on Web Engineering (ICWE 2015)
Conference LocationRotterdam, NL
KeywordsASQ, plugin architecture, web framework

JavaScript has been growing from a language for embedding simple scripts into Web pages to a language for programming complex Web applications, whose logic is deployed across both Web browsers and Web servers. Current software packaging mechanisms for JavaScript enable a basic level of modularity and reuse. However, they have not yet reached full maturity in terms of enabling to extend a system with features contributed as third-party plugins, while encapsulating them adequately.
In this paper we present a novel plugin system for JavaScript applications, which integrate Node.js modules with HTML5 Web Components. It provides abstractions for: real time and loosely coupled communication between front-end and back-end components, persistent state storage, and isomorphic usage of JavaScript. Plugins can use hooks and events to contribute functionality and embed it into the main application flow, while respecting the common asynchronous non-blocking programming paradigm of JavaScript. We demonstrate the expressiveness of the framework as it is used to build ASQ: an open and extensible educational Web platform.

Citation Keyasq:icwe:2015
Refereed DesignationRefereed