Best Practices for Appian developers
Appian best practices are like a check list, use these checklists at different stages of your development cycle as described to ensure application success and reduce technical risk. Each section provides guidance for when and how often you should use these.
15.Best practices for Application Performance and Scalability Standards :-
Use utility and task process models as much as possible and keep the main (long-running) process models lightweight and simple.
Since Appian uses an in-memory database, memory usage should always be considered when designing an application. The goal is to keep only the information required for reporting active in the system. Data that is required for long-term reporting can be exported to an external database then purged from Appian (assuming a third-party reporting tool is available).
Utility and task process models allow the bulk of the work to be done outside the main model. The result is less memory usage for the longest-running models since they have fewer PVs, fewer nodes, and a shorter process history.
Aggressively archive utility and task process models.
Most utility and task process models can be archived shortly after completion. If a task model is required for reporting, consider creating a task history process model that stores only the data required for the reports. The task history process model would consist of a start event connected to an end event. This simple task history model will consume less memory then the original task model.
Avoid activity chaining through long running nodes, or large number of running nodes.
Use exact() function
Especially when comparing predefined strings. exact() is three times faster but will be case sensitive. = operator is not case sensitive but take longer. Best use case is to use constants for button labels and use exact function inside XOR gateway to determine with button is clicked.
Do not overuse if (condition, true, false) logic.
If same logic is used more than twice, start using rule instead.
For example, to display vendor name if you are coding vendor.lastname & “, “ & vendor.firstname, consider moving the logic to rule and pass either individual arguments or CDT itself (AnyType).
Before querying a database for data, make sure the same data is not available in process variables of current process or parent process.
No comments:
Post a Comment