There is an increasing demand for web-based services that offer collaborative and off-line functionality, and this at unparalleled global scales. Realizing these qualities requires distributing previously centralized application logic and state both vertically and horizontally:
Both forms of distribution bring about the essential complexity of maintaining the consistency and safeguarding the security of replicated or shared application assets, along with the accidental complexity of reconciling a myriad of heterogenous tier-specific technology. The Tearless project therefore envisions a future in which multi-tier web applications are developed, tested and maintained as a single artefact that spans all tiers. This tierless programming should relieve developers of distribution, consistency and security concerns. We will not pursue this vision through a new and potentially esoteric programming language. Instead, we will pursue a two-pronged solution of enabling technologies & development tooling. This enables the gradual incorporation of our technology in existing code, and maximizes valorization opportunities for different stakeholders.
We will realize this vision by investigating the following intermediate enabling technologies:
We will investigate these technologies for JavaScript, ubiquitous on server and client tiers alike, in a manner that precludes the need for non-standard execution environments; through a shared dynamic and static meta-level architecture respectively. This enables the gradual incorporation of our technology, provided that it is applied correctly. Our enabling technologies will therefore be accompanied by the following development tooling:
The overall research question that needs answering is whether the tierless development style does indeed overcome the challenges faced by stakeholders: making the leap towards richer client tiers with collaborative and off-line functionality, and towards server tiers capable of handling global scales. We will therefore validate our two-pronged solution of enabling technologies & development tooling using demonstrators inspired by business cases from potential stakeholders. While ambitious, the seeds have already been sown in disconnected prototypes of the academic partners. The project aims to realize their full strategic potential by integrating, consolidating and innovating further.