Concept of Task Templates and Tasks

This section describes all task types that exist in XDM and explains which task type is the best choice depending on your requirements.

Differentiation of Task Template, Task and Task Execution

Every copy or analyze process in XDM is executed by a task. It is a central object in XDM. A task is defined in two steps. First, a task template is created to define a blueprint for the task. Afterwards one or more tasks with specific configurations is created.

Task Template

A task template is a blueprint for a specific XDM task. The task template consists of rules and settings specifying the specific work the task should do. Based on a task template there can be one or many tasks.

A task template need not be fully configured, it is possible to leave some properties empty. These properties must be specified in every task using this template.

A task template can not be executed directly. If it is executed indirectly, for example when executing a workflow, or a data shop, an implicit task will be created and executed.

Task

Tasks are the concrete objects that can be executed to perform the work. A task uses all rules and settings from the task template. However, it can also define additional rules and settings or overwrite the settings from the task template. The task must specify any required settings and rules which are not defined in the template. Combining task templates and tasks makes it possible to use general settings for several tasks and define specific settings which are unique for each task.

For example, the template can specify the source database connection and leave the target database connection unset. Two tasks can then be defined for this template, which copy from the same database but specify different target database connections.

A task can be executed directly via user interface, scheduler, or REST interface. It can also be executed by executing a workflow, or a data shop.

When executing a task, it can be executed at once or in more than one step. Executing in more than one step allows checking selected data or modification results before inserting in the target. For this purpose, a task execution is divided into up to six stages, which can be executed independently of each other. However, all stages must be executed in ascending order. When a task execution fails, it can be resumed starting with the stage, where it fails.

Every task template and its corresponding tasks are of a pre-defined task type. This type defines, what is done during the task execution. The different task types are described in the following sections.

Task Execution

A task execution is defined by the execution of a task.

Detailed information can be found in the chapter Task Execution.

Row Level Processing

The row level processing components do not directly work with database objects. These components work on data models. It is possible to process one or more specific records in a table together with all records related to these records, spread over many tables or even multiple databases. The relationships between the data are specified in a meta model which represents the data model of a typical application in a company. The meta model is built with XDM’s application models, versions, environments, and installed applications. It can be split into several parts representing a sector of the complete data model of the company. The parts can be used for several row level processing tasks.

Row Level Processor Task

An XDM row level processor task template is a template for a task that copies dependent rows from one database to another. It examines the relationships between the tables in the source environment to determine the rows to be extracted. It does not directly reference connections, but rather source and target environments.

XDM honors referential integrity constraints when extracting rows if these have been described in the form of data relation rules. This ensures that for every row that is extracted from a table, all related child and parent rows are also extracted if the relation is included in the list of data relation rules in the version entities of the environment. The XDM row level processor task template and the corresponding tasks can be used to transport all rows that constitute a test case from a set of tables into another, without affecting unrelated rows in those tables.

Row level processor tasks create a subset of the source data in the target environment. The user defines a start table, a selection condition, and data relation rules. The data relation rules define which rows in related tables are to be included in the selection. Data relation rules also allow the selection of data in tables only indirectly related to the start table. The selected data is copied to corresponding tables in the target database. A row level processor task can also mask the data inserted into the target database.

Detailed information can be found in the chapter Row Level Processor Tasks.

Row Level Processor Tutorial explains how a basic row level processor task is created and executed.

Row Level to Icebox Task

An XDM row level to icebox task template is a template that produces a task that can extract dependent rows from a database and store the data in a file for later use. It uses data relation rules to identify the relations between the rows to extract. As such it does not reference a connection, but rather an environment.

XDM honors referential integrity constraints when extracting rows if these have been described in the form of a data relation rule. This ensures that for every row extracted from a table, all related rows in child and parent tables are also extracted, provided the relationship is defined by a data relation rule in the version entities of the source environment.

The XDM row level to icebox task template can be used to extract all rows that constitute a test case from a set of tables into tagged and versioned XDM icebox generation storage.

Detailed information can be found in the chapter Row Level to Icebox Tasks.

Row Level from Icebox Task

An XDM row level from icebox task template is a type of task template that is designed to copy dependent rows from a previously created icebox generation into a set of target tables.

A row level from icebox task does not reference a connection, but an environment.

XDM honors referential integrity constraints when applying rows if these have been described in the form of a data relation rule in the corresponding row level to icebox task. The XDM row level from icebox task template can be used to transport all rows that constitute a test case from an XDM icebox generation into a set of tables in a database without affecting unrelated rows in those tables.

Detailed information can be found in the chapter Row Level from Icebox Tasks.

Row Level Delete Task

An XDM row level delete task template is a type of task template that is not designed to copy data, but to remove specific rows from a set of tables. It uses relations between the rows to identify the rows to delete.

An XDM delete task template is not defined on a connection but rather on an environment.

XDM honors referential integrity constraints when deleting rows, if these have been described in the form of a data relation rule. This ensures that for every row that is removed from a table, all dependent child rows are also removed. Information about the relationships between tables is extracted from the source RDBMS catalog, or manually defined by data relation rules in the version entities of the environment. Data relation rules reflect relationships defined by the applications that use the tables. Delete tasks can be used to remove all rows that constitute a test case from a set of tables in a development or quality assurance environment without affecting unrelated rows in those tables.

Detailed information can be found in the chapter Row Level Delete Tasks.

Table Copy

The table copy components are based on database objects like tables which are selected to be processed. To select objects the table copy components use a set of rules such as selection rules and exclude rules which are individual for each component. As the names suggest the selection rules define names or patterns of database objects, such as tables and indexes, to be processed, whereas exclude rules define names or patterns of database objects which should not be processed. The sum of these rules build a list of objects the task will process. Other task with the same configuration can get recent objects directly from the cache to accelerate the processing.

Native Table Copy Task Template

An XDM native table copy task template is designed to copy data using a database specific copy tool (e.g. Db2 Unload/Load, MSSQL Export, Oracle Data Pump).

When a native table copy task is executed, it examines the source and target environment by processing selection rules, exclude rules, mapping rules, and reduction rules. The structures of the source and target tables are compared in order to determine whether there are any conditions that would prevent a successful copy, and whether any special handling of the tables is required. If necessary, a native table copy task is able to re-create tables and dependent objects.

The source and target RDBMS of a native table copy task can be of different types. For example, a native table copy task is able to copy from DB2 for Linux to Oracle for Windows. In this case XDM uses a generic load format (CSV).

Native Table To Icebox Task Template

An XDM native table to icebox task template is designed to copy data and structural information from a database into regular files that exist outside the database.

When a native table to icebox task is executed, it examines the source environment by processing selection rules, exclude rules, and reduction rules. The structures of the source database tables are stored in order to determine whether there are any conditions that would prevent a successful copy, and whether any special handling of the tables is required in a subsequent native table from icebox task.

Native Table From Icebox Task Template

An XDM native table from icebox task template is designed to insert data, structures, and dependent objects from an existing icebox generation into a target database.

When a native table from icebox task is executed, it examines the source and target environment by processing selection rules, exclude rules and mapping rules. The structures of the target tables are compared with the structures stored in the icebox generation. This determines whether there are any conditions which would prevent a successful copy and whether any special handling of the tables is required. If necessary, a native table from icebox task is able to re-create tables and dependent objects.

Compatibility Table Copy Task Template

An XDM compatibility table copy task template is designed to copy data, structures and dependent objects from one database to another or within a single database.

When a compatibility table copy task is executed, it examines the source and target environment by processing selection rules, exclude rules, mapping rules, and reduction rules. The structures of the source and target tables are compared in order to determine whether there are any conditions that would prevent a successful copy, and whether any special handling of the tables is required. If necessary, a compatibility table copy task is able to re-create tables and dependent objects.

The source and target RDBMS of a compatibility table copy task can be of different types. For example, a copy task is able to copy from DB2 for Linux to Oracle for Windows.

Compatibility Table To Icebox Task Template

An XDM compatibility table to icebox task template is designed to copy data and structural information from a database into regular files that exist outside the database.

When a compatibility table to icebox task is executed, it examines the source environment by processing selection rules, exclude rules, and reduction rules. The structures of the source database tables are stored in order to determine whether there are any conditions that would prevent a successful copy, and whether any special handling of the tables is required in a subsequent compatibility table from icebox task.

Compatibility Table From Icebox Task Template

An XDM compatibility table from icebox task template is designed to insert data, structures, and dependent objects from an existing icebox generation into a target database.

When a compatibility table from icebox task is executed, it examines the source and target environment by processing selection rules, exclude rules and mapping rules. The structures of the target tables are compared with the structures stored in the icebox generation. This determines whether there are any conditions which would prevent a successful copy and whether any special handling of the tables is required. If necessary, a compatibility table from icebox task is able to re-create tables and dependent objects.

Analyse

These components are designed to compare structures and examine database tables. Structures in the source environment can be compared with structures in the target environment. In addition, the contents of specified tables can be examined with a PII Finder task.

Structure Compare Task

An XDM structure compare task template is designed to compare structures in the source environment with corresponding structures in the target environment.

When a structure compare task is executed, it examines the source and target environment by processing selection rules, exclude rules and mapping rules. The structures of the source and target tables are compared in order to determine structural differences between the source and target objects. If desired, a structure compare task can generate DDL statements with which the target environment can be modified, so that it conforms to the source environment.

Detailed information can be found in the chapter Structure Compare Tasks.

Structure to Icebox Task

An XDM structure to icebox task template is designed to store structures from an environment.

When a structure to icebox task is executed, it examines the source environment by processing selection rules and exclude rules.

Detailed information can be found in the chapter Structure to Icebox Tasks.

Structure Compare With Icebox Task

An XDM structure compare with icebox task template is designed to compare structures stored in an icebox generation with corresponding structures in the target environment.

When a structure compare with icebox task is executed, it examines target environment by processing selection rules, exclude rules and mapping rules. The structures of the target tables are compared with the structures stored in the icebox generation. This determines whether the structure of the environment has been changed since the generation was created. If necessary, a structure compare with icebox task is able to re-create tables and dependent objects.

Detailed information can be found in the chapter Structure Compare With Icebox Tasks.

PII Finder Task

An XDM PII (Personally Identifiable Information) finder task template is designed to analyze the contents of given tables in a single database.

When a PII finder task is executed, it examines the environment by processing selection rules and exclude rules.

PII finder tasks are used to find personally identifiable information, such as first and last names, email addresses, or birth-dates. A PII finder task checks which percentage of a column’s values match the criteria defined in a matcher object. A matcher object compares each value to a regular expression or to a list of reference values.

Detailed information can be found in the chapter PII Finder Tasks.