Transpiler-based architecture for multi-platform web applications
Abstract:
A Transpiler is a set of tools that take the source code developed in a high-level programming language (source language), and after a transpilation process, it generates a translated source code written in another programming language (target language), that is syntactically equivalent. In this paper, it is presented a new approach for software architecture design, which uses a Transpiler (Haxe) as a programming language and as a generator of the business logic and service layer. The goal is that software developers write the business logic only once and transpile it to equivalent server layers for C#, Java, and PHP, making them reusable and runnable on several platforms. An experimental prototype was developed to test the idea (published on GitHub with the codename 'Cornerstone'), that implements a benchmark to compare when running on different Operating Systems and Application Servers combinations. A single web interface is developed, using HTML, CSS, Javascript, and XML-HttpRequest, which connect to any of the transpiled services regardless of the deployment platform. Cloud instances were used to assure comparability. Preliminary results were obtained and analyzed to show the concept validity and which platform combination provided the highest performance.
Año de publicación:
2017
Keywords:
- Software design
- C#
- Haxe
- Business Logic
- BENCHMARK
- Php
- java
- Software architecture
- WEB APPLICATIONS
- Transpiler
- Multi-platform
Fuente:
Tipo de documento:
Conference Object
Estado:
Acceso restringido
Áreas de conocimiento:
- Ingeniería de software
- Software
Áreas temáticas:
- Métodos informáticos especiales