Solution Builder Development Process
Overview
This Guide provides various information about the development process of UUX Applications based on the SolutionBuilder Platform and provides answers for the following topics:
- How to Setup and Configure a Development Environment
- Understanding the Folder Structure of the Application
- How to develop, debug and deploy Back-end components
- How to develop, debug and deploy Front-end components
- How to setup and use End-to-End Automation
Setup DEVELOPMENT Environment
Installing the SolutionBuilder platform
Please follow the steps of the article to install SolutionBuilder platform and all required prerequisites
Configure your project
It is possible to work with different projects on the same system. You only need to switch between existing or register a new project when developing.
Application Folders (Logistics)
Recommendation how to structure sources, logistics of SolutionBuilder based application folder structure, including logs and schema folder is explained in the article Folder Structure of the SolutionBuilder based Applications
Back-end Development Process
Setup Back-End Development Environment
The SolutionBuilder Back-end components are implemented on .NET Framework version 4.5. What means any new Server component which is going to be hosted on SolutionBuilder Application Server has to be implemented on the same version of the .NET Framework.
.
Programming Language
.NET Framework provides the big variety of the programming languages which can be used for the developing of the Server components, like C#, F#, VB.NET. The Solution Builder Product team uses C# language for development, as the most powerful language for developing components on .NET Framework.
Integrated Development Environment
.NET SDK right after installation provides the full range of tools for not only running .NET Applications in runtime but also for compilers which can be used for the creation of the new components. For example, C# compiler (C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe), is absolutely Free, and absolutely enough for creating any .NET Application. But organizing the C# Project files structure is very tedious and complex procedure. To significantly simplify the development process of .NET Application we strongly recommend using Visual Studio.
To develop SolutionBuilder extensions the minimum amount of Visual Studio components need to be installed.
Customization Options and Best Practices
The ESM Platform offers powerful tools for creating business applications through low-code practices like Layout Designer and Workflow Studio, allowing organizations to develop solutions rapidly and with minimal programming. When configuration alone isn’t sufficient, the ESM Platform supports scenarios where custom coding can extend functionality. These options apply to various deployment models, including on-premises, cloud virtual machines, and containers. For details, see Extending ESM Platform Capabilities: Customization Options and Best Practices.
Extending Database Model
The Platform provides a powerful DataLayer module that handles all transactions with Production database. For more details please check Matrix42 Data Structure and Data Layer
Database Changes Export
A major portion of the developed feature in the Solution Builder is implemented on the Database level, therefore to extract the feature from Database to a package which could be installed on another system is very important. The Solution Builder support technology of the Schema scripts which are addressing the topic of extracting the Database changes and importing them.
Front-end Development Process
SolutionBuilder Front-end components delivered out-of-the-box can be also extended. One of the extension point in SolutionBuilder is adding custom Controls which be avaialble in the Layout Designer.
The following lesson of the Fleet Management tutorial explains how the new Control can be developed and integrated to SolutionBuilder Car Tracking 2: Introduce Custom Control "Map"
End-TO-END Test Automation
In order to keep application stable during development, we highly recommend writing automated tests, that will repeat most common usecases, that are implemented in the application. This will help to identify breaking changes when adding changes to the application or updating SolutionBuilder platform. Test Automation of SolutionBuilder applications: Getting Started delivers the Best Practices examples how to implement End-To-End testing of the developed Application.
The Development Environment provides a mechanism for regular execution of the present End-2-End tests, and notify responsible for tests execution result, which is called Test Management System (TMS).