Description
The purpose of creation is an implementation of the capability for users to participate in the APG process to make decisions without logging in ARIS by providing decision buttons in the e-mail body (“e-mail task”).
The solution consists of the following components:
- REST-API Web service – ensures receiving decisions from users, storing decisions, and providing them on request.
- APG-service for sending user operations “e-mail task” - provides sending e-mails in Html format with GUI elements for decision making.
- APG-service for receiving and processing user answers of “e-mail task” operations.
- ARIS-script for creating a graphic image of the model.
During setup a standard APG-service (contained in ARIS by default) is embedded in the ARIS Process Governance process to run the script (component 4). The script generates a graphic image of the context model, stores it in RAM as bytes to transmit back to the APG process.
Next an APG-service (component 2) is embedded in the process. It is necessary to transfer ARIS-users as well as a previously prepared graphic image to the input of the service. A separate e-mail with text, a graphic image of the model, and buttons for decision making are sent to each user.
After receiving an e-mail, the user transfers the decision to the Web service (component 1). For this, the user clicks one of the buttons in the e-mail. By clicking the button, the browser opens a link containing an e-mail task identifier and a decision. The Web service receives and stores this information, and the user sees a message in the browser that the decision has been considered. This user action can be performed either on a personal computer or a smartphone/tablet running on any operating system.
Then the next APG-service (component 3) is embedded in the process. This service is purposely separated from component 2, so receiving user decisions can be integrated into the process more differently, for example, in parallel with other operations. The component requests information regularly about the decisions taken from the Web service. When specified conditions are met (e.g., all users have made decisions), the component completes its execution. The output provides lists of users grouped by decision.
Example of the “e-mail task”:
Example of the link that provides sending user decision to the Web service:
http://<servername>:<port>/e-mailtask/p/89d19eb6-2097-4610-84a6-bf690a166e2e/positive
Example of the Web service answer about receiving information (can be customized):
Example of solution embedding in the APG process:
APG-service input and output specification of sending user operations “e-mail task” (component 2):
№ |
Input Name |
Mandatory |
Data Type |
Description |
Inputs |
||||
1 |
recipients |
+ |
user |
A user or users who need to be sent e-mail task |
2 |
tenant |
|
text |
Current tenant for reading variable values from the server configuration |
3 |
subject |
+ |
text |
E-mail subject |
4 |
text |
+ |
text |
Template of e-mail body text. It can contain marks for replacing with values |
5 |
replaceTargetList |
|
collection |
Mark array for searching and replacing in e-mail text template |
6 |
replaceValueList |
|
collection |
Value array for replacing marks in e-mail text template |
7 |
pictureBytesBase64 |
|
text |
Byte array of graphic image as a base64 string (from script) |
8 |
wsEndpoint |
+ |
text |
Web server Endpoint. Syntax: http://<servername>:<port> |
9 |
buttonPositiveName |
|
text |
Name of the user's positive decision button |
10 |
buttonNegativeName |
|
text |
Name of the user's negative decision button |
Outputs |
||||
1 |
emailTaskIdList |
|
text |
IDs of sent user task separated by a combination of characters "; ". It is required as an APG-service input of receiving information about user decisions |
2 |
userAccountList |
|
text |
Technical user names who have been sent user task separated by a combination of characters "; ". It is required as an APG-service input of receiving information about user decisions |
Example of the function data flow of sending user operations “e-mail task” (component 2):
APG-service input and output specification of receiving and processing user answers of “e-mail task” type operations (component 3):
№ |
Input Name |
Mandatory |
Data Type |
Description |
Inputs |
||||
1 |
emailTaskIdList |
+ |
text |
IDs of sent user task separated by a combination of characters "; ". It is an output from APG-service of sending e-mail task |
2 |
userAccountList |
+ |
text |
Technical user names who have been sent user task separated by a combination of characters "; ". It is an output from APG-service of sending e-mail task. |
3 |
wsEndpoint |
+ |
text |
Web server Endpoint. Syntax: "http://<servername>:<port>" |
4 |
checkingInterval |
|
text |
Interval for regularly checking the Web server for user decisions. Set in minutes. The default value is “30“ |
5 |
votePercent |
|
text |
Percentage of positive decisions relative to the total number of participating users indicating the final single positive decision. The default value is “100” |
6 |
deadlinePeriod |
|
text |
Maximum service execution time. Set in minutes. If the value is not set, the service will continue working until the condition for the required number of positive decisions is met |
Outputs |
||||
1 |
positiveAccountList |
|
text |
Technical user names who have made positive decisions separated by a combination of characters "; ". |
2 |
negativeAccountList |
|
text |
Technical user names who have made negative decisions separated by a combination of characters "; ". |
3 |
nullAccountList |
|
text |
Technical user names who have ignored to make decisions by the end of the service execution separated by a combination of characters "; ". |
4 |
positiveCount |
|
text |
Number of users who have made positive decision |
5 |
negativeCount |
|
text |
Number of users who have made negative decision |
6 |
nullCount |
|
text |
Number of users who have ignored to make decisions by the end of the service execution |
7 |
totalDecision |
|
text |
Final single decision. It is calculated as positive if the percentage of positive decisions relative to the number of participating users is higher than or equal to votePercent |
Example of the function data flow of receiving and processing user answers of “e-mail task” type operations (component 3):
Example of further use of the results:
Component functionality
Functionality |
Realization level |
|
Solution Prototype |
Ready to Use Solution |
|
REST-API Web service |
||
Main target functionality |
Sufficient to demonstrate |
In full |
Support of configuration file |
Partially |
In full |
Ensuring continuous running of Web service: checking the running of Web service with the restart function |
No |
Yes |
Saving user decisions |
Only in RAM (lost after restart) |
Support of the saving in ROM (is not lost after restart). Realization is can be discussed with the customer: to save in DBMS, local files, etc. |
Capability to change the user’s decision (enabled option) |
No |
Yes |
Prohibition to change the user’s decision (enabled option) |
No |
Yes |
Support of secure Https protocol |
No |
Yes. The necessity is discussed with the customer |
APG-service of e-mail task sending (emailTaskSender) |
||
Main target functionality |
Sufficient to demonstrate |
In full |
Support of e-mail sending from ARIS Connect Server (according to server configuration) |
Sufficient to demonstrate |
In full |
Support of text message template |
Yes |
Yes |
Capability to change button names in the message |
Yes |
Yes |
APG-service of e-mail task answer processing (emailTaskObserver) |
||
Main target functionality |
Sufficient to demonstrate |
In full |
Checking the answers with a defined frequency |
Yes, every 5 minutes |
Yes, can be set |
Capability to set maximum execution time of the service |
No |
Yes |
Capability to specify % of user positive decisions as a condition for completing the execution of the service |
No |
Yes |
ARIS-script of creating a graphic model image |
||
Main target functionality |
Sufficient to demonstrate |
In full |
Essential working conditions of REST-API Web service
Since Web service is developed in Java, the installation of JRE (Java Runtime Environment) is required to run the service on OS Windows. It is also possible to use a portable version of JRE.
To pass requests to the Web service from the users and the APG-service, the network must be configured accordingly. To do this, define a free standard Http port (e.g., 80) in the Web service configuration file and/or open it in the firewall:
Server with Web server - rule for inbound connections;
Servers (nodes) with APG - rule for outbound connections;
User PCs – rule for outbound connections.
If you have interest or questions how integrate this solution to your APG processes infrastructure, please, contact us to discuss details and further cooperation.