In accordance with Systemic-technological application architecture, there are three logical levels:
- User interface
- Business logic
- Data, metadata, and data access
These logic levels can be implemented in different ways physically in a particular application system.
Flexberry PlugIns extend the class diagram
UML so that the system design was carried out in these logical and physical levels.
Data, metadata, and data access
To describe the structure of applied data systems serve data classes (classes with the stereotype
implementation or without specifying the stereotype, their attributes, methods) and the relationships between them (inheritance, Association, aggregation). Examples of data classes are: Account, Bank, Counterparty, etc.
Flexberry Platform and modules - code generators are arranged in such a way that a single data model occurs as generating data structures for storage (e.g., a relational table) and data structures programming language for data processing (the corresponding classes and relations between them).
To describe the business logic of the application system (system-wide business transactions) are the so-called business servers (classes with the stereotype
businessserver), with which can be created the so-called “stubs” to provide business servers as COM components or as a Web service, and a business facade.
For descriptions of the user interface are:
- Edit form (classes with the stereotype
- List form (classes with the stereotype
- Custom forms (classes with the stereotype
- Applications (classes with the stereotype
Common elements of models for all levels
To describe the model in any of the levels are used:
- Interfaces (classes with the stereotype interface)
- Data types (specified types of attributes, method parameters, etc.):
- Synonyms of types (classes with stereotype typedef), are introduced for readability of the models and ease of transformation into code. Examples: Strokovne, Number, Строка255;
- Enumerated data types (classes with stereotype enumeration);
- Data types (classes with the stereotype
- External classes/types (classes with stereotype external), not described in the charts, but known in the generated code (for example, in the case of C# from any of the connected Assembly);
- Event parameters (classes with the stereotype eventarg)
- Role in the system of reference (classes with the stereotype
In the description of the item belonging to any level can be used elements of other levels, as they all are, in the most General case, some “types”, both at the level of the modeling language, and object-oriented programming language. The principles of creating the structural parts of the object-oriented model and the source code to object-oriented programming language - similar. So, for example, forms can have methods that return or accept parameters that are declared as data classes. Business services will have methods, mostly working with the settings declared as data classes.
These levels are not regulated and not imposed in the simulation Flexberry. It’s just explaining a logical grouping that helps to understand the relation of stereotypes to logical levels system and technology architecture. Accordingly, it is possible to locate classes with any of the stereotypes on the charts as it is convenient. Location does not matter.