The Solution Builder is a module for building Web Applications based on the Matrix42 UUX platform using declarative approach. The whole application designed with the Solution Builder at the end is just a set of metadata stored in a database which could be easily extracted to a bunch of Schema Script files and be easily ported to another Application Server. The figure below shows the high-level architecture of the Solution Builder:
The Solution Builder consists of three building blocks:
- Web Services (Back-end)
- Solution Builder App (Front-end)
- UUX App with Solution Builder Agent
Administrators use the Solution Builder to design Business Applications by means of defining various Solution Builder entities, such as Applications, Navigation Items, Actions, then design various forms in Layout Designer, and configure security by applying “Set Audience” for different Solution Builder objects. The Solution Builder App submits all changes to Solution Builder Web Services, and after validation and optimization, persists in Solution Builder Repository.
The Solution Builder uses a special module “Solution Builder Agent” integrated into the UUX Shell platform to present the designed Business Application to the end user. The purpose of this module is to transform all kinds of Repository metadata to artifacts acceptable by the UUX application.
The Solution Builder back-end is a Web Application hosted on IIS or any other Web Server which supports OWIN middleware. It could be installed as a dedicated Web Application or be integrated as a module into another Web Application, like in Workspace Management product where Solution Builder modules are hosted in Business Application (M42Services).
Functionally back-end represents a set of stateless REST services which could be grouped into the following categories:
Managing Solution Builder Repository
A bunch of services for managing the state of the Solution Builder Repository and transformation of the Repository metadata to the format understandable by the client application.
Services: Action, Application, Audience, ContentWidget, DataQuery, Navigation, ControlDescriptor.
The article is still under construction. Please check back later.