Online Servie Features

Synchronous Type Interface

Synchronous type interface can be divided into two types according to the ways of response.

Sync Request/Sync Response

Both of the source and the target system conduct the interface in synchronous way. The source system sends the request and wait the response, and the target system returns the result value.

If the number of the target system is more than one, the response message can be generated by combining the request message and the response of the target system. In this sentence, "combine" means to generate new message by extracting specific field of each message not putting them together.

Sync Request/Asynchronous Response

Response from the target system returns in asynchronous response. The source system waits until the asynchronous return in the designed timeout. Asynchronous response is the same as response transaction in the perspective of application. It is marked in response exclusively on the contents of the message.

Asynchronous Way Interface

Both of the source and the target system conduct the interface in asynchronous way. While the source system sends the message, the target system processes the received message. Asynchronous type interface is available in two ways. The first is the way to send one-way, and the other is to send each request and response asynchronously in two way.

One-way Transfer

One-way transfer means that the transfer system sends the message and never receive the response. One-way transfer is processed sequentially by default. Each target system processes the message sequentially supporting parallel processing. The sequential process isn't guaranteed on parallel processing.

Asynchronous Request/Response

Both of the source and target system system send the request asynchronous way and receive the response in asynchronous way. Request transaction is marked in request in the contents of the message, and the response transaction is displayed response to the contents of the message.

Asynchronous Request/Response

Source system sends the request and receives the response in asynchronous way. The target system returns the request in synchronous way.

Routing

Send the request to the target system which meet the condition among other target systems according to the field value included on the requested message. As a method to find the condition, calculation result of the combination of the fields or specific field values or patterns can be used. A data structure must be registered to use the routing function. The routing method available on routing function is as follows.

  • Value
    • Determine the target system according to a specific field value.
  • Pattern
    • Determine the target system according to a value of a specific field. The same pattern of regular expression is used.
  • All
    • Send the request to the target system regardless of the value.
  • Method
    • Carry out the routing function with specific field value(s) as input and determine the target system according to the result value.

Load Balancing Policy

When an application is on running on more than a server, apply the load sharing- call distribution rules. ISM provided load sharing rule is as follows.

RoundRobin

Distribute the request according to the load-balancing weight(load weight) to the registered systems. Load weight ought to set the same value to all servers to distribute calls at the same weight. If the different weight is assigned, the call is distributed differently. The server which has a failure among registered systems is not included on calculation of call weights.

Failover

Send the request exclusively to the to the server which is registered as a master. If any failure occurs, send the request to the server which is registered as a backup application. Once the master server normalized, send the request to the master server again.

Master

Send the request to the server which on the return in request message parser. Even if any failure on the server returns in the parser Parser, send the request to that server.

Dedicated

Send the request to the server which is registered as a master. Even if any failure occurs, send the request exclusively to the masters.

System Detection and Failover

If a failure occurs at a specific server of the target system, the target interface process carry out the restoration detecting activity. It periodically send the health checking telegram to the pertinent server until the normal return come back so that it is considered to the normalized server. Normalization status detecting activity is conducted by the health check period. It determines whether to conduct the activity according to the status of the pertinent server. In addition, it also determines it according to the auto restoration status.

Server Status

Each server can have a status as follows.

  • Running
    • The current server is running normally.
  • Backup
    • A maintenance operation is going on.
  • Not in Running
    • The server isn't the object of the health check. If it isn't the object of the health check, send the request to the current server despite of any failure.
  • Down
    • The current server is in failure.

Failure Detection/Restoration

Each flag can be set per the interface target system.

  • Use of Health Check
    • The purpose is to detect the failure.
    • Default setting is to use it.
    • If it is set not to use, the server status may be the same as "not in run".
  • Use of Auto-Restoration
    • The purpose is to detect auto-restoration.
    • Default setting is to use it.
    • If it is set not to use, the failure status won't go away even after the restoration is completed.

Domain Failover

The function is available only on BusinessWare environment.

There is a process for each source interface and target interface in online service, and each service request is involved to a source interface process and at least one target interface process. Online service has a default active-active way of configuration. If any failure occurs in the process of service request, failover the request to the target interface at the backup domain which is conducting the same function. If the target interface process is normalized, the service request is also sent to the target interface process of the current domain. Backup domain should be at least one. When the source process is in failure, the source application should conduct failover.

System Interface Pattern

The patterns which is able to interface against the source and the target system are as follow.

Sync Category Request/Sending Category Note
Sync Request Send the request synchronously and wait the response.
Async Request Send the request asynchronously and receive the request asynchronously.
ACK Request Send and receive the request asynchronously. Receive ACK to verify the normal receiving status for the asynchronous request.
Async Transfer Send the message asynchronously.
ACK Transfer Send the message asynchronously. Receive ACK to verify the normal receiving status for the asynchronous request.

ACK is used as a communication rule not the job processing result. If ACK is assigned, ISM generate and return the ACK message, and wait for the return the ACK message from the target system.

Variable Length Data Process

Overview

The definition of the Variable Length Data Field is that the field which the length of it isn't predefined but is defined on running by another field value which has a different length.

Setting

Because it is unable to know the length of the Variable Length Field at the point of data structure definition, the field length is set to be '0' when generating field. In addition, define the information about the length field which shows the length of the field when generating field group includes Variable Length Field. The information of the length field comprises of data index of the field group which has the length field, the field index of the field group's length field, and the corrective value of the pertinent length field.   To describe this process by exemplifying a picture above, Variable Length Field is 'Field 10; and the field which has the length information is 'Field 5'. To use the Variable Length Field, the length value of the 'Field 10' is set to be '0'. And the configuration information of the Field 10 in organizing FieldGroup C is as follows.  

1. Length Field Data Index

  • Because the length field which has the pertinent length of field 'Field 5' exists at the first master of the Data, set '0' which is the index of the pertinent data. If it is on header, set ‘-1’ to refer the length at the field of header.

2. Length field detail index

  • Because the length field is on master, set it to ‘-1’. If the pertinent length field is on detail not master, set the index of the pertinent detail.

3. Length field field index

  • Set the index of the 'FieldGroup B’ of the pertinent length field. Because the ‘Field 5’ is on the second in the order, set to ‘1’. (Every index starts at 0. )

4. Difference Value

  • Set the difference between the value on the length field and the one on the actual field. For example, in the case that the length value except 'Field 10' is '100' and the full length value of 'FieldGroup C' is on 'Field 5", the actual length of 'Field 10' should be 'the value of Field 5 - 100'.

For the correction like this, set 100 for the difference value. If the value of 'Field 5' has the length value of 'Field 10', set nothing or 0 in that case.

Repetitive Data Process

Overview

Block repetition means the case that some fields which are part of the message are repeated in certain number of times. The repeated number can be predefined when the data structure is registered, or it could change whenever a new message is generated.

Setting

The repeated part is defined by the detail of the data structure. In a variable repeating case, the pertinent repeated number must be set on the master field. The field that shows the repeated number should be existed before the repeated data comes up.