yemelyanchikov's picture

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.

Tags: ARIS Process Governance