Criteria of the application code review
Glossary Item Box
Seamless update
- Applications should extend the base functionality and not replace it; therefore, you should not replace the modules. When you need to override non-abstract classes, call base methods while replacing schemas.
- Users do not work with SQL constructions but use ORM instead.
Performance
- The number of objects stored in RAM, as well as the number of flows, are limited. They do not depend on the number of users or DBMS volume (per page layout and buffering).
- Creatio performs processing operations in the background if users do not require the instant result of processing for continuing their work.
Integrations
- The application is protected against bulk incoming requests of the third party systems using light-weight gates and queues.
- When the external service is unavailable, users should still be able to work in the system. The integration process, though, might remain unavailable.
- In specific cases of the unavailable Creatio service, the operation of integration logic should be provided.
Data volume
- Archiving mechanisms should be implemented for data created automatically (e.g., logging).
- When working with large data volumes in tables, the database should limit users’ arbitrary data operations and force working with the optimized data structure, using indices and denormalization.