# Transpiler-Based Architecture Design Model for Back-End Layers in Software Development
## 5 Discussion  
### About the Research Questions  
This section discusses the theoretical elements of the proposed design model. A review of the research questions posed at the beginning of this study follows:  
* RQ1. What elements should be considered in the software design process when using the new conceptual model that incorporates a transpiler as the central development technology for the back-end layer? In recent years, transpilers have gained relevance in software development owing to their ability to provide flexibility in the choice of programming languages used in different layers of the application. This proposal presents a new software architecture design that uses transpilers as a central development technology for the back-end layer. However, the question then arises of what elements should be considered in the software design process when using this new conceptual model. In this study, we provide a comprehensive answer to this question. The main elements for consideration are discussed below. Layers and Dependencies: one of the main elements to consider in the software design process using this new model is the definition of layers and their dependencies. The back-end layer is composed of the business logic and data access layers, whereas the front-end layer is the presentation layer. In addition, it is important to define the dependencies between the layers and the technologies used to connect them. This includes the nest implementations, which allow different technologies to be used to expose the same business logic methods. Code Generation: the code-generation process is another important element to consider. The proposed model uses a post-build utility that compiles the artifacts specific to each execution technology, such as XML Web Services or Windows Communication Foundation (specific services exposures for.net). In addition, a component called DB Gen is used when the database-first strategy is used, which automatically generates the programming of the back-end layer based on the structure of the database. The code generation process must be properly configured to ensure compatibility of the generated code and the transpiled target language. Debugging: debugging is an essential part of software development, and the proposed model introduces new challenges. The use of transpilers may complicate the debugging process, as the code being debugged is not the same as that written by the developer. This may require specific tools and techniques for debugging, such as using source maps to map the generated code to the original code. Therefore, it is important to consider the potential impacts on debugging when using this new model. Learning Curve: finally, it is essential to consider the learning curve associated with the use of transpilers as a central development technology in the back-end layer. Developers will need to learn new concepts and techniques related to the transpiler and its associated technologies. This may require additional training and resources to ensure successful adoption of the new model. It is important to provide adequate support and resources to facilitate this learning process. Summary: the use of a transpiler as a central development technology in the back-end layer introduces new elements to be considered in the software-design process. These include the definition of layers and their dependencies, code generation, debugging, and the learning curve associated with the use of new technologies. It is important to carefully evaluate these elements in order to ensure successful adoption of theproposed model. By considering these elements, developers can leverage the benefits of transpilers to provide flexibility and efficiency in software development. * RQ2: Which target scenarios are applicable to software designs that use the new conceptual model that incorporates a transpiler as the core element of the back-end layer? The proposed software design incorporates a transpiler as the core element of the back-end layer, and is applicable to a wide range of target scenarios.