Search-based Tier Assignment for Optimising Offline Availability in Multi-tier Web Applications

12/04/2017
by   Laure Philips, et al.
0

Web programmers are often faced with several challenges in the development process of modern, rich internet applications. Technologies for the different tiers of the application have to be selected: a server-side language, a combination of JavaScript, HTML and CSS for the client, and a database technology. Meeting the expectations of contemporary web applications requires even more effort from the developer: many state of the art libraries must be mastered and glued together. This leads to an impedance mismatch problem between the different technologies and it is up to the programmer to align them manually. Multi-tier or tierless programming is a web programming paradigm that provides one language for the different tiers of the web application, allowing the programmer to focus on the actual program logic instead of the accidental complexity that comes from combining several technologies. While current tierless approaches therefore relieve the burden of having to combine different technologies into one application, the distribution of the code is explicitly tied into the program. Certain distribution decisions have an impact on crosscutting concerns such as information security or offline availability. Moreover, adapting the programs such that the application complies better with these concerns often leads to code tangling, rendering the program more difficult to understand and maintain. We introduce an approach to multi-tier programming where the tierless code is decoupled from the tier specification. The developer implements the web application in terms of slices and an external specification that assigns the slices to tiers. A recommender system completes the picture for those slices that do not have a fixed placement and proposes slice refinements as well. This recommender system tries to optimise the tier specification with respect to one or more crosscutting concerns. This is in contrast with current cutting edge solutions that hide distribution decisions from the programmer. In this paper we show that slices, together with a recommender system, enable the developer to experiment with different placements of slices, until the distribution of the code satisfies the programmer's needs. We present a search-based recommender system that maximises the offline availability of a web application and a concrete implementation of these concepts in the tier-splitting tool Stip.js.

READ FULL TEXT

page 6

page 29

research
05/06/2019

TryLinks: An interactive tutorial system for a cross-tier Web programming language

Links is a web programming language under development in Edinburgh aimed...
research
12/08/2015

Web application for size and topology optimization of trusses and gusset plates

With its ever growing popularity, providing Internet based applications ...
research
05/23/2023

A comparison between traditional and Serverless technologies in a microservices setting

Serverless technologies, also known as FaaS (Function as a Service), are...
research
11/20/2018

ESTRELA: Automated Policy Enforcement Across Remote APIs

Web applications routinely access sensitive and confidential data of use...
research
09/30/2010

Mantis: Predicting System Performance through Program Analysis and Modeling

We present Mantis, a new framework that automatically predicts program p...
research
04/20/2022

Lowering Barriers to Application Development With Cloud-Native Domain-Specific Functions

Creating and maintaining a modern, heterogeneous set of client applicati...
research
08/28/2022

Assessing the Impact of Execution Environment on Observation-Based Slicing

Program slicing reduces a program to a smaller version that retains a ch...

Please sign up or login with your details

Forgot password? Click here to reset