Deferred Service Features

Serial Number Management

The source table or target table can be changed by the serial number initializing condition. These are the methods of initializing the serial number provided by the deferred service.

Serial Number Initialization Condition

  • Not in use(unconditionally Increases)
    • Since there's no serial number initialization, the serial number continues to increase.
  • Change by the system date.
    • If a system date is modified, initialize the serial number.
  • Change by the business date.
    • If a date is modified in a specific condition, initialize the serial number.
  • Change by the maximum serial number.
    • Initialize the serial number if it reaches the maximum value.
  • Change by the job completion value.
    • If a a value of a specific field is correspond to the condition, initialize the serial number.

Not in use(unconditionally increases)

The serial number continues to increase.

Change by System Date

When a system date is changed, the serial number is initialized by the system date. The changeable information on the serial number initialization is as below. These are applied to all initialization conditions.

  • Source table name
    • The table name is changed by source table name management class. When the source table name included on query is registered to the rule, include #TABLE_NAME# parameter to replace it.
  • Target table name
    • The table name is changed by the target table name management class. When the target table name is registered on rule, include #TABLE_NAME# parameter to replace it.
  • Date
    • The information is included in data verification condition.
    • Define the date management class and include #DATE# on inquiry query, then it replace the execution result of the date management class on date changing to verify the data.
    • If additional date management class isn't defined, use the system date instead.

Change by Business Date

Define the date management class to initialize the serial number. If there's no date management class, use the system date as the standard. By verification of the date of the data process, if a different date is returned not the current date, initialize the serial number. Configurable information on initialization of the serial number is the same as the change condition of the system date.

Change by Maximum Serial Number

When the serial number of the inquired data reaches to the maximum serial number, initialize the serial number. By comparing the value of the column registered as key field on data verification, if there's the maximum serial number included on the inquired data, initialize the serial number. Configurable information on serial number initialization is the same as the change condition of the system date.

Change by Finishing Job Value

If a specific field value is corresponding to the finishing job value, initialize the serial number. The configurable information is the same as the change condition of the system date.

Date Management Class according to the condition of the serial number initialization

Date management class always have to return the current date. Refer to Custom Handlers Guide(ISM:Customs#Deferred Date Management Class) to look up how to implement this.

The Point when the Custom Date Management Class is requested

1. Initialization of the serial number by system date

  • No objects.

2. Initialization of the serial number by business date

  • When a job starts
    • Register the job.
  • When the job is cleared
    • Register the first date.
  • When the date is inquired
    • If the result of the data is 0, call to verify the business date change status.
  • When the data is applied
    • Call to compare the next business date and the current one after the data is applied.

3. Initialization of the serial number by maximum value

  • When a job starts
    • Register the job.
  • When the job is cleared
    • Register the first date.
  • When the data is inquired
    • Do not call.
  • When the data is applied
    • Call to aquire the next date after the data is applied and it reaches to the maximum value.

4. Initialization of the serial number by delimiter

  • When a job starts
    • Register the job.
  • When the job is cleared
    • Register the first date.
  • When the data is inquired
    • Do not call.
  • When the data is applied
    • Call to aquire the next date after the data is applied and it meets the delimiter.
  • If the first date is registered or on initialization, the null is sent to the date information.
  • If the date management class isn't defined at the first job starts, do not call until it reaches to the condition of initialization.

Initialization Number Automatic Generation

When no column exists corresponding to the serial number on the source table, a serial number can be generated by assigning a serial number column. The serial number column could be the column already exists, if not, additional column has to be added. The serial number is set according to the order the data is inquired by normal select query. In automatic generation of the serial number, the used column is a serial number column and a date column. If there's already a date column, the serial number is initialized by the system date unit.

Deferred Period Management

Deferred Period Management is determined by the Fetch Interval registered on rule.If no inquiry period is defined, use the default 30 seconds as the interval. If the data number is corresponding to the rule defined Fetch Count on data verification, consider it there's more data exist and adjust the date inquiry period to 1 second automatically. If the data number is less than Fetch Count after the inquiry, return it to the Fetch Interval registered on the rule..

  • For this, there must be Fetch Count registered on rule. If there's no Fetch Count defined, the actual process take the maximum number 1000 as its standard, but it doesn't change the Fetch Interval even if the inquiry result date reaches the 1000.

Sequential Process

Deferred service execute the sequential process if there are multiple target systems which has to reflect the inquired data from the source to process it as a single transaction. Sequential process process the data synchronously and the sequential process is the basic processing flow of the deferred service. Sequential process once inquire the data and reflect it to multiple target systems in order and process the next data.

Parallel Process

Among the data which has to be processed by the deferred service, there's data which has too much data and high requirements so that it can cause process delay by the sequential process. In this case, the parallel process can process this kinds of data. In parallel process, set the checkpoint to ensure the order of the data. Parallel process only able to permit a single target system. Parallel process handle the data asynchronously unlike the sequential process.

Setting the Checkpoint

Checkpoint is used to check the reception before it is applied to the target system; it has three locations as follow.

The location of the checkpoint Setting Description
Regardless of the order 0 Process the data which each process has received regardless of the order
Before the data application starts 1 Load the inquired data to send it to the target system and check the order.
Just before the data application 2 After completing the conversion task of the data and check the order before applying the data to the target system.
If the target system is file, check the order before sending the file to the target system after the conversion.
After the application of the data 3 Check the order after applying the data to the target system.
If the target system is DB, check the order before committing after the data application. If the target system is file, send the file and check the order.

Checkpoint is set on ism.xml and it is applied to the whole deferred service. To apply this to the whole deferred service, configure the setting as follows.

<deferred>
<multisequence checkpoint="2" committimeout="30000"   handler="com.ism.deferred.process.DefaultSequenceHandler" />
</deferred>

To apply the checkpoint to a specific service, configure the setting as follows.

<multisequence checkpoint="2" committimeout="30000" handler="com.ism.deferred.process.DefaultSequenceHandler">
<integrationservice_id checkpoint="0"/>
</multisequence>

The time waiting for the data to be processed right before the order uses committimeout value(millisecond) set on ism.xml, if it isn't defined, use the default value(60 seconds). In the parallel process, it segments the process target data into continuous sections. There shouldn't be missing number in this continuous numerical order. The continuous section number use the basic section division class(com.ism.deferred.process.DefaultSequenceHandler) if it isn't defined separately.

Post Task

When the following work is required after the the job in the deferred section is completed, the post task can be defined and used. The post task can be used to execute the script sending the file sent from DB-File service to the target DB, or DB operation to notify the file transmission, or etc. Available types and usages of the post task is the same as the task of batch service.

The post task of the deferred process is executed within the same transaction unlike the batch process. Since there's no guarantee that it can be executed by the same session, it is not possible to manipulate the data sent from DB-DB deferred type to the target system.

Post Task Parameter

The parameters available on the post task are as follow.

Name of the parameter Description
TGT_FILE_NAME Target filename It includes directory information.
SRC_TABLE_NAME Source table name
TGT_TABLE_NAME Target table name
PROC_START_TIME The time when the task starts. The time when the data verification starts
PROC_END_TIME The time when the task is completed. The time when the data reflection is completed
SERVICE_ID Integration Service ID
PROC_DT The date of the task. It is NOT the system date but the date information which is managed by the deferred service.
START_SEQ Serial number at the beginning
END_SEQ Serial number at the end
DATA_COUNT The number of data processed
FILE_SIZE The size of the target file
JOB_ORDER The order of the job. The job order is initialized by the date which is managed by the deferred service. The order of the job increase 1 for every successfully completed job. It starts from the number 1.
END_REACHED Whether it reaches the finishing job status. true/false

Deferred Task Control

Deferred task is controlled by the web console. The details of the deferred task regulation are as follow.

Task Contents

Task Start

Start the deferred task.

Task Pause

Pause the deferred task.

Task Resume

Resume the task paused.

Task Abortion

Abort the deferred task and delete the information. Because aborted task lose all the information, restarting the task means starting a new task.

Change the Serial Number

Change the serial number to the previous or latter number. Modification of the serial number is conducted when the task is paused.

Date Modification

Change the date which the task is executed. Modification of the date is conducted when the task is paused.

Reset

Initialize the task information,. Initialize the serial number to 0, and reset the date information too.

Procedure

Task is executed by the web console.. Deferred Task Management on Task Management menu, inquire current processing task and register the new one if there's no task.