Service for implementing user operations via email without using Process Board in ARIS Process Governance
Description
The purpose of the service is to implement the user participation in the APG process for decision-making without logging in to ARIS by providing decision buttons in the body of an email ("e-mail task").
The solution consists of the following components:
- REST API Web Service – ensures that user decisions are received, stored and provided upon requests.
- APG Service for sending user operations "e-mail task" – ensures sending emails in HTML format with GUI elements for decision-making.
- APG Service for receiving and processing of user answers from "e-mail task" type operations.
- ARIS script for generating a graphical image of a model.
During configuration the standard APG Service (contained in ARIS by default) is embedded in the process of ARIS Process Governance to run the ARIS script (component 4). The script generates a graphical image for the context model, stores it in RAM as bytes for transferring back to the APG process.
Then, the APG Service (component 2) is embedded in the process. As an input to the service, it is necessary to transfer the ARIS users, as well as the previously prepared graphic image. A separate email is sent to each user with a text, a graphic image of the model and buttons to make a decision.
After receiving the email, the user transfers their decision to the Web Service (component 1) by clicking one of the buttons in the email (Fig. 1). When clicking, the link containing the ID of e-mail task and the decision is opened in the browser. The Web Server receives this information and saves it, and the user sees a message in the browser that the decision has been considered (Fig. 2). This user operation can be performed both on a personal computer and on a smartphone/tablet running any operating system.
Figure 1. An example of "e-mail task"
An example of the link that provides sending a user decision to Web Service: http://:/emailtask/p/89d19eb6-2097-4610-84a6-bf690a166e2e/positive
Figure 2. An example of the Web Service response that the decision has been considered (can be customized)
After that, the next APG Service (component 3) is embedded in the process. This service is separate from component 2 to be able to embed user decisions in a more diverse way, for example, in parallel with other operations. The component regularly requests information from the Web Service about the decisions made. When certain conditions are met (for example, all users have sent their decisions), the component completes the execution. The output provides lists of users grouped by decision.
An example of using the Service
Figure 3. An example of embedding the solution in the APG process
Input and output specifications of the APG Service for sending user operations "e-mail task" (component 2):
№ | Input/Output name | Mandatory | Data type | Description |
Input | ||||
1 | recipients | + | user | Users who receive e-mail task |
2 | tenant |
| text | A current tenant for reading variables from the server configuration |
3 | subject | + | text | An email subject |
4 | text | + | text | An email text template. It can contain target marks for replacing with values |
replaceTargetList |
| collection | An array of target marks for searching and replacing in the email text template | |
replaceValueList |
| collection | An array of values to replace target marks with them in the email text template | |
7 | pictureBytesBase64 |
| text | An array of bytes of graphical image as a base64 string |
8 | wsEndpoint | + | text | Web Server Endpoint. Syntax: http://: |
9 | buttonPositiveName |
| text | A button name for a positive user decision |
10 | buttonNegativeName |
| text | A button name for a negative user decision |
Output | ||||
1 | emailTaskIdList |
| text | IDs of usertask sent that are separated by a combination of characters "; ". The output is needed for the APG Service (component 3) to receive information about user decisions |
2 | userAccountList |
| text | Technical user names who usertask has been sent to, separated by a combination of characters "; ". The output is needed for the APG Service (component 3) to receive information about user decisions |
Figure 4. An example of data flow of function for sending user operations "e-mail task" (component 2)
Input and output specifications of the APG Service for receiving and processing user answers from "e-mail task" type operations (component 3):
№ | Input/Output name | Mandatory | Data type | Description |
Input | ||||
1 | emailTaskIdList | + | text | IDs of usertask sent that are separated by a combination of characters "; ". It is an output from the APG Service of sending e-mail task (component 2) |
2 | userAccountList | + | text | Technical user names who usertask has been sent to, separated by a combination of characters "; ". It is an output from the APG Service of sending e-mail task (component 2) |
3 | wsEndpoint | + | text | Web Server Endpoint. Syntax: http://: |
4 | checkingInterval |
| text | An interval for regular check of user decisions in the Web Server. It is set in minutes. The default value is "30" |
5 | votePercent |
| text | A percentage of positive decisions relative to the total number of participating users, indicating the final positive decision. The default value is "100" |
6 | deadlinePeriod |
| text | Maximum time of the service operation. It is set in minutes. If the value is empty, the service will continue to work until the condition for the required number of positive solutions is met |
Outputs | ||||
1 | positiveAccountList |
| text | Technical user names who have made a positive decision, separated by a combination of characters "; " |
2 | negativeAccountList |
| text | Technical user names who have made a negative decision, separated by a combination of characters "; " |
3 | nullAccountList |
| text | Technical user names who have ignored making a decision by the end of the service operation, separated by a combination of characters "; " |
4 | positiveCount |
| text | A number of users who have made a positive decision |
5 | negativeCount |
| text | A number of users who have made a negative decision |
6 | nullCount |
| text | A number of users who have ignored making a decision by the end of the service operation |
7 | totalDecision |
| text | A final decision. It is positive if the percentage of positive decisions relative to the total number of participating users is equal or more than votePercent |
Figure 5. An example of data flow of function for receiving and processing user answers from "e-mail task" type operations (component 3)
Figure 6. An example of further utilizing user answers in the process
Component functionalities
Functionality | Degree of implementation of the service | |
Prototype of solution | Final solution | |
REST-API WebService | ||
Main target functionality | Partly, sufficient to demonstrate | Full |
Configuration file support | Partly | Full |
Ensuring the continuous operation of the Web Service: checking the operation of the Web Service with the restart function | No | Yes |
Storing of user decisions | In RAM only (lost after restart) | Support of storing in permanent memory (not lost after restart). Implementation can be discussed with customers – storing in DBMS, local files, etc |
Ability to change the user's decision (enabled option) | No | Yes |
Prohibition on changing the user's decision (enabled option) | No | Yes |
Support of secure protocol https | No | Yes. The necessity can be discussed with customers |
Logging of processed requests | No | Yes |
APG Service for sending e-mail task (emailTaskSender) | ||
Main target functionality | Partly, sufficient to demonstrate | Full |
Support of sending emails from ARIS Connect Server | Partly, sufficient to demonstrate | Full |
Support of text message template | Yes | Yes |
Ability to change names of the buttons in a message | Yes | Yes |
APG Service for processing e-mail task answers (emailTaskObserver) | ||
Main target functionality | Partly, sufficient to demonstrate | Full |
Checking for answers with the specified regularity | Yes, every 5 minutes | Да, настраивается |
Ability to set the maximum service operation time | No | Yes |
Ability to specify % of positive user decisions as a condition for completing the service operation | No | Yes |
ARIS-скрипт формирования графического изображения модели | ||
Main target functionality | Partly, sufficient to demonstrate | Full |
Required working conditions for the REST API Web Service
- Since the Web Service is developed in Java, it is necessary to install JRE (JavaRuntimeEnvironment) to run on OS Windows. Also, there is an option to use portable versions of JRE.
- In order for the Web Service to receive requests from users and the APG Service, network must be configured accordingly. It is necessary to specify a free standard HTTP port (e.g., 80) in the configuration file of the Web Service and/or open it in firewall:
- Server with Web Service – inbound rules;
- Servers (nodes) with APG – outbound rules;
- User’s PC– outbound rules.
If you have any questions about this service, please, contact us by the contact form or at info@dainovaro.com and we provide you with more information.