Concepts
The following sections describe the main concepts of the Ianus architecture.
Job
The Job is the set of task to be performed by each Ianus run. A job is composed by one or more Tasks and corresponds to a single XML script.
The job is identified by a user defined name. The result of the job is a status code affected by the result of the tasks executed by the job.
By default, a job executes all the tasks assigned, independently of their result. Optionally a job may be instructed to stop at the first failing task.
Task
Task is the smallest unit of work for Ianus. The task is a specific action on one or more data entities, namely:
- RDBMS table comparison
- RDBMS stored procedure comparison
- Data file comparison
- RDBMS table copy
- File copy
- Log messages
- JCL submission
- User code and PowerShell execution
- Run SQL commands
- Import/export RDBMS data from/to Excel files
A task is identified by a user defined name. The result of the task is a status code, affecting the job status code.
It is also possible for users to code their own custom task.
Environment
The Environment is the set of definitions and configuration parameters used by Ianus when executing a Job.
An environment is an XML file containing:
- Datasources definitions
- Configuration parameters
Environments are totally decoupled from Job scripts, allowing to execute the same job in different environments.
Datasources
A datasource is a generalized resource describing a generic data repository. There are three types of data sources:
Type | Description |
---|---|
Databases | Relational databases such as SQL Server, DB2, Oracle, etc. |
Repositories | Local or remote file repositories |
Regions | Batch processing systems, such as z/OS JES2 or MFES for LUW |
Databases connections
The Database is a RDBMS connection definition. It is the entity referenced in the Database Tasks and it is identified by:
- A unique name (ID)
- A RDBMS type identifier, indicating the database type and host
- An ADO connection string
Linked Servers
When IBM Data Drivers and/or DB2 Connect licenses are not available, DB2 databases can be accessed thru SQL Server Linked Servers, defined using the Microsoft OLE DB Provider for DB2.
To use DB2 over linked servers, the connection must be defined as linked and the name of the linked server and catalog must be provided as well.
Important
Stored Procedure comparison task is not supported through Linked Servers.
File repositories
The File Repository is a file staging area definition, indicating where files are located and a set of default characteristics for the files stored in the repository.
There are two types of repositories:
- Local: files are directly accessible through the file system of the machine where Ianus is executed.
- Remote: files are not directly accessible through the file system of the machine where Ianus is executed. There are two sub-types of remote repositories:
- luw: the host system is either a Linux, Unix or Windows system
- zos: the host system is a z/OS mainframe system
With Local repositories, files will be directly accessed by Ianus. With Remote repositories, a (temporary) cache copy of the files will be downloaded via FTP and accessed by Ianus.
The repository is the entity referenced in the File Tasks and it is identified by:
- A unique name (ID)
- A repository type (local or remote)
- Default encoding (ASCII or EBCDIC)
- Default codepage (for EBCDIC/ASCII conversion)
- Default endianness (Big Endian or Little Endian)
- Default variable length record format (IBM, Micro Focus, etc.)
- For local repositories only:
- Local path
- For remote repositories only, the connection details for the host containing the actual files:
- Hostname
- Port
- Username
- Password
- Remote path
- Local path (for cache copies)
Regions
The region holds the connection details for rehosted JES subsystem. It is referenced in the Jcl Submit Task and it is identified by:
- A unique name (ID)
- Region name
- Region type
- Hostname of the region
- TCP/IP Port number of the region
- Username of the user used to login to the region (where supported)
- Password of the user above
Resources
Resources are data items available for user plugins.
Status codes
Jobs and tasks are characterized by a status code that changes during their execution.
Jobs status codes
Status | Description |
---|---|
Ready | job is ready to be executed |
Running | job is running |
Success | job is terminated and all steps reported a Success status code |
Warnings | job is terminated and one or more steps reported a Warning status code |
Errors | job is terminated and one or more steps reported an Error status code |
Tasks status codes
Status | Description |
---|---|
Ready | task is ready to be executed |
Running | task is running |
Success | task is terminated without Warnings or Errors |
Warnings | task is terminated and reported one or more Warnings |
Errors | task is terminated and reported one or more Errors |
Aborted | task encountered a major failure preventing the conclusion of the task |