Data shop
Data shops are simplified configurations for ordering test data. They are designed for users, who need test data for a specific application. A data shop defines the necessary parameters, that the user must specify, in order to copy valuable test data. These can be application specific terms, such as contract numbers, customer numbers, bank accounts, or other data like the target test environment.
A data shop itself is not executable, but it will start executing an XDM task template or a workflow template. A data shop represents a facade for a template, that is a customized and simplified representation for the end user. We will call it the data shop user from now on.
For more details refer to the data shop description in the reference.
Execution
A data shop is typically started by an end user. There are different ways, in which to execute a data shop:
-
A user can place an order and the data shop will be directly executed.
-
A data shop can be requested and must be confirmed by another user before it is executed.
-
The data shop execution can be scheduled for a later point in time.
Direct execution
In this case, the execution of the underlying process is started directly. Depending on whether the data shop is based on a task template or a workflow template, a task or a workflow is created. The name of the created object is computed with the task name pattern setting. The executable object (task or workflow) contains all parameters that the user entered on the order screen. After clicking on Place order and view, the direct execution will be displayed. After clicking on Place order, the data shop list is displayed.
The execution can be seen in the task execution overview. The process is started with the user’s permissions. This user needs READ permission to access the involved XDM objects.
Request an execution
In this case the execution is not started directly. The execution request must be reviewed by another user who either approves or rejects the execution. The execution can be rejected if preconditions are not fulfilled, or for any other reason.
The reviewing user needs the EXECUTE permission on the data shop. After a request has been approved, a task or workflow is created and directly executed. The executable object contains all the parameters that the requester entered on the order screen. The execution runs with the permissions of that user. This user needs READ permission on all involved XDM objects.
If the reviewing user rejects the execution, the request is still in the Requested Data Shop Orders list. The reviewer can enter a message that explains the reason of the rejection.
Scheduling an execution
The previously described methods can be combined with the schedule option. In which case, the start time of the execution can be set to a future point in time. If the execution is requested and the specified point in time has already passed after a reviewer approved the request, the execution starts immediately after the request is approved.
Some shops have a dedicated batch processing window, in which task executions must be scheduled. For example, some data shops must be executed in the night shift. A data shop can be configured to automatically move executions to a specified period. Please have a look at scheduling window for more details.
Permissions
The user that executes a data shop, either directly or by requesting the execution, needs to at least have READ permissions on all involved objects. These include the data shop, the underlying task or workflow template, and all objects that are used by the respective template. This includes environments, application models, connections, credentials among other possible objects.
The permissions are always checked on the user that triggers the execution. To avoid the requirement of a large number of permissions the concept of a technical user exists.
Usage of a technical user
Data shop users are typically end users, that only need test data fitting their specific requirements. Data shop creators may want to limit access to underlying technical objects, so they can reject access to XDM objects for data shop users and only allow access to the data shop.
This use case requires the configuration of a technical user for the data shop. A technical user represents an XDM user, under whose authorization all data shop executions run. The technical user needs READ and EXECUTE permissions on the involved objects.Data shop users however, only need access to the list of data shops, the relevant data shops and the task execution overview.
Scheduling window
If a data shop is allowed to run over a specific period, the time window setting must be specified. A time window can be specified in combination with week days.
Each time a data shop is started outside this window, XDM takes care of scheduling the execution within the bounds of that window.
A typical use case is to move the workload of production databases to the night shift. The users who need test data can order the execution within the working time and XDM ensures that these requests are queued and processed in the night shift.