# Transpiler-Based Architecture Design Model for Back-End Layers in Software Development
## 3 Transpiler-Based Design Model for Back-End Layers
### Detailed Design
#### 3.4.5 Development Environment  
To facilitate the development of an enterprise platform or information system using a transpiler, it is necessary to have a library that contains the common elements required by developers, similar to what is available when developing a specific language. These elements must be developed using transpiler language to ensure availability across all supported technologies. Although many elements can be included in such a library, the most important are outlined below:  
* ORM and Database Connectors  
Figure 7: Detailed preparation process. An enterprise platform or information system cannot exist without the ability to connect to a relational database management system (RDBMS). The provision and storage of data are vital in order for the architecture model to be usable in real implementation scenarios and to permit interaction between the users of the IT solution. Each target platform has its own database connection technology; however, in this case a unified schema is required. For this purpose, the implementation of native connectors is required for each supported transactional database and target platform in such a way that specific methods are activated according to the development technology and database chosen for the execution of the software. The use of the SQL language directly within business logic in the form of string concatenation is not recommended, as this factor can generate problems with security (e.g., SQL injection [39]) and maintainability. Therefore, it is suggested that a high-level connection library be provided to connect to the database. The implementation of ORM (Object-Relational Mapping) is suggested, preferably developed in the transpiler programming language in such a way that the database objects (e.g., tables, views, procedures) can be mapped with their equivalent business objects. This can be used in a simple way in the construction of the business logic, and in the end can be translated into any of the target languages [40]. This approach increases the support of execution technologies by using multiple supported databases. The business logic is database-agnostic when writing the source code. It is not expected that native database connection technologies would be used directly; rather, a single library should serve equally for all technologies. Database-specific connectors and drivers should be incorporated into the solution using code injection, which occurs during the execution of the post-build utility as part of the preparation stage. These connectors allow for the execution of database sentences directly to the database engines, thereby conforming to the configuration performed at runtime. The connection strings to the databases must be placed in the configuration files using the corresponding configuration components, as is explained later. For greater independence, support for DDL statements can be incorporated in such a way that the database objects can be auto-generated, permitting support for different modes such as model-first or code-first; this is inspired by the Entity concept in the.net framework [41]. This can be useful for programming stored procedures that can be translated into specific languages of the databases. * Security For any platform built using transpilation, it is important to consider the potential risks posed by third-party attacks. Owing to the technological diversity inherent in such platforms, it is essential to provide cross-cutting methods or mechanisms to mitigate these risks. One approach is to centralize the encryption/decryption methods, authentication management, and authorization of service consumption, as well as input data validators or cleaners for known vulnerabilities, injection mitigation, and similar elements. While this layer is available, the development team is responsible for incorporating these elements into their development planning, particularly with regard to sensitive data exposure validation or access control cases.