A12 follows a modular approach when it comes to creating business applications. While business logic, validation rules and the structural layouts of user interfaces are encapsulated in models, the following building blocks are responsible for bringing the A12 applications and their models to life.
Model driven components in the center of the client side application enabling declaration of core application aspects, modules, navigation, screens and major interaction patterns.
They take care of request handling, data retrieval and processing, state management and orchestration of lower level components like UI engines.
Model driven UI components based on Plasma UI/UX concept and the Widget library implemented in Typescript and React. This covers currently forms and overview, require configuration by models but also provide a programming API in Typescript.
Widgets are reusable, lower level UI components like grids, trees or datepickers that follow the Plasma Design conventions and UX concepts.
Definition of documents and document models along with modeling tools.
A domain specific language for model based computation and validation incl. parser, runtime components and a programming API in various languages.
Service API and implementations to deal with models and documents supporting creation, retrieval, update, deletion and querying.
This is provided in Typescript for the client side and Java for client and server side.
It comes along with client/server communication, authentication, authorization, computation, validation, persistence, indexing, versioning and locking.