ANSWERS MARKED A+
✔✔Three Anti Patterns to avoid - ✔✔1. Custom Task Management
2. Custom User Interfaces (Third party UX)
3. Avoid Data only applications
(Extracting, Transforming and Loading)
✔✔Appian Task Plugins - ✔✔1. Task Reassignments
Allow users to reassign multiple active tasks
2. Task Functions
Allow developers to retrieve most task details and attributes by using a set of functions
with Task ID as input.
3. Task Management Smart Services
Contains smart services to manipulating tasks in-process and custom functions for
getting task metadata.
✔✔Data-only processes can slow the system. Particularly if they are running during
business hours when most users are acitve - ✔✔Yes, True.
✔✔Mitigation strategies to reduce the impact of data-only processes on performance for
other active users. - ✔✔1. Data management (Delete the process instance immediately
after the process completed)
2. Make process variables "hidden" to limit data replication for reports
3. Avoid load bulk data to system during business hours
4. Do not store the data to process variables
✔✔Record Centric Design - Benefits - ✔✔1. Faster to build
2. Easier to maintain
3. Incorporate simpler and short-lived processes
4. Make better use of system resources
✔✔Record Centric Design - Steps - ✔✔- Start with key building blocks of data in a
relational database
- Use an entity-backed record type that allows users to list, search, filter, and drill down
into data in that entity.
- Attach an action to allow users to create new records
- Use related actions to enable record update and status changes
- Repeat this process for each key resource that needs to be managed.
✔✔Query Anti Patterns to avoid - ✔✔1. Should not keep "batchSize" as -1. (This will try
to fetch all data)
2. unsorted query results (Keep primary key as the sort id)
3. "ends with" filtering conditions.
4. using 50 or more operators using "in" operations, will result very slow query.
, ✔✔When Query will break with error - ✔✔Query breaks if the data returned is > 1MB or
takes >10 Seconds
✔✔DB Design practices to follow - ✔✔1. Implement locking mechanism for DB updated
to avoid race conditions
2. Load test your applications with roughly three times the anticipated first year's worth
of data.
3. Avoid designing queries that are unbounded or slow
✔✔In addition to entity locks table to resist concurrent table update aatempts,
"Optimistic locking" can be used to prevent the writing of stale data. using the following
annotations - ✔✔@version and @column
✔✔What are process related information stored in memory - ✔✔1. Process Variables
2. Task Properties
3. Process Properties
4. Process History
✔✔Process Data management best practices - ✔✔1. Processes with task data : 3 Days
2. Processes that are automated/utility : delete after completion
✔✔Running the sub processes as "sub process" node will always run in the same
process execution engine - ✔✔true
✔✔Running the sub processes as "Start Process" node will always run in different
process execution engine - ✔✔true
✔✔Process Management Best Practices - ✔✔1. Build record-centric processes that are
short lived and set to archive after three days
2. Use sub-processes to break up larger workflows into segments that can be archived
or deleted, Which use the "Start Process" smart service where practical
3. Look to repeatable design patterns into multi purpose workflows.
✔✔Plug-in guidelines - ✔✔1. Use OOTB if requirements are nearly met
2. Build off existing plug ins
3. Try to use an existing plugin before building your own
4. Throughly test every plug-in, before each release
✔✔Plug-in Risks - ✔✔1. Higher chance of support incients
✔✔3rd Party plug-ins must be watched for - ✔✔1. Thread safety
2. Performance at scale
3. Extra resource consumption