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:

  1. REST-API Web service – ensures receiving decisions from users, storing decisions, and providing them on request.
  2. APG-service for sending user operations “e-mail task” - provides sending e-mails in Html format with GUI elements for decision making.
  3. APG-service for receiving and processing user answers of “e-mail task” operations.
  4. 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 using the solution

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.

 or register to reply.

Notify Moderator