Defining the application business logic through processes
Before you begin
Before you create a process, make sure that:
- You understand the process objective, required inputs, and desired output.
- You have all the elements required to create or modify your process. If the required element is not available, request that your developer create and deploy it.
For more information about process elements and an example of a process created in BMC Helix Innovation Studio, see Process-designer-elements.
Best practices for designing a process
The following best practices are a few that you must follow when designing a process:
- Do not create processes with many steps and actions. Process definitions represent a business procedure virtually. When the process definition becomes too big, it loses the benefit of a visual workflow. Instead, use a modular approach to divide the steps into smaller subprocesses. By using the Sub Process or Call Activity element.
- Make sure that you have planned adequately between writing code by using @Action and creating a process definition. Consider the following scenarios when selecting the correct option to write code or use the Process designer:
- Design a process using the Process designer if the business logic needs to be visually described or if your users can configure it.
- Use service tasks to perform a self-sustained unit of work and let the process manage states.
- Write the code if it is faster to implement a complicated logic than using the Process designer.
- When creating a new process, concentrate on laying out the flow first. Do not focus on configuring each element. When the flow is completed, save the process and then continue to configure each element one by one.
Workflow for defining the business logic
The following table lists the different tasks that are involved in defining a business logic:
Task | Action | Reference |
---|---|---|
Basic workflow | ||
1 | Start creating a process by accessing the process designer and adding permissions and elements to the process. | |
2 | Add variables to the process to define the current value of a part of the process. | |
3 | Perform the following actions:
| |
4 | View the process dashboard and manage the process execution, such as starting, stopping, or resuming a process. | |
Adding capabilities to your process | ||
5 | Integrate with other applications, enhance process readability, and model a user performing a task so that a process resumes after the task is complete. | |
6 | Perform the following actions:
| |
7 | Create or update record instances and define a relationship between the record instances in a process flow. | |
8 | Create a document instance and an array node in the document instance. | |
9 | Analyze the tone of a written document, email, or chat conversation. | |
10 | Manage errors in a process. |