Synchronizing loosely coupled systems at a target system
Synchronizing loosely coupled systems where a target system receives a data record from a source system, the target system determines a target evaluation based on a data record, and the target system receives from source system a source evaluation of the validation function based on a data record. The target system compares the source evaluation to the target evaluation and, in response to a mismatch, the target system executes a predefined action for synchronizing the data record at the target system with the data record at the source system. The predefined action may comprise the target system sending to the source system a request to resend the data record to the target system.
1 . A method, comprising:
receiving, by a target system from a source system, one or more data records;
determining, by the target system, a set of target evaluations for a set of validation functions based on the one or more data records;
receiving, by the target system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on the one or more data records;
determining, by the target system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and
executing, by the target system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.
2 . The method of claim 1 , wherein at least one of the validation functions comprises:
an aggregation operation.
3 . The method of claim 1 , wherein at least one of the validation functions comprises at least one of:
a summation operation;
an average operation;
a count operation;
a minimum operation; or
a maximum operation.
4 . The method of claim 1 , wherein the executing of the predefined action comprises at least one of:
instructing the source system, by the target system, to resend the one or more data records to the target system;
instructing the source system, by the target system, to resend a subset of the one or more data records to the target system; or
sending, by the target system, an error message.
5 . The method of claim 1 , further comprising:
delaying the executing of the predefined action by a predefined duration.
6 . The method of claim 1 , further comprising:
determining, by the target system, a criticality of at least one of the mismatches; wherein
the executing of the predefined action is in further response to the criticality exceeding a predefined threshold.
7 . The method of claim 1 , further comprising:
determining, by the target system, a count of the at least one mismatch; wherein
the executing of the predefined action is further responsive to the count exceeding a predefined threshold.
8 . The method of claim 1 , further comprising:
determining, by the target system, the set of target evaluations at a predefined interval.
9 . The method of claim 1 , further comprising:
receiving, by the target system, the set of source evaluations at a predefined interval.
10 . A non-transitory computer-readable medium storing instructions operable to cause one or more processors to perform operations comprising:
receiving, by a target system from a source system, one or more data records;
determining, by the target system, a set of target evaluations for a set of validation functions based on the one or more data records;
receiving, by the target system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on the one or more data records;
determining, by the target system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and
executing, by the target system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.
11 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:
executing, by the target system, a software-as-a-service application that processes at least one of the one or more data records.
12 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:
determining, by the target system, the set of target evaluations at a predefined interval; and
receiving, by the target system, the set of source evaluations at the predefined interval.
13 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:
receiving, by the target system from the source system, the set of validation functions.
14 . The non-transitory computer-readable medium of claim 10 , wherein at least one of the validation functions comprises at least one of:
a summation operation;
or a count operation.
15 . The non-transitory computer-readable medium of claim 10 , the operations further comprising:
determining, by the target system, whether the respective validation function has a priority that exceeds a predefined threshold; wherein
the executing of the predefined action is in further response to the priority exceeding the predefined threshold.
16 . A system, comprising:
one or more memories; and
one or more processors configured to execute instructions stored in the one or more memories to:
receive, by a target system from a source system, one or more data records;
determine, by the target system, a set of target evaluations for a set of validation functions based on the one or more data records;
receive, by the target system from the source system, a set of source evaluations for the set of validation functions determined by the source system based on the one or more data records;
determine, by the target system, at least one mismatch between a respective target evaluation of a respective validation function and a respective source evaluation of the respective validation function by comparing the set of source evaluations to the set of target evaluations; and
execute, by the target system, in response to the at least one mismatch, a predefined action for synchronizing the one or more data records at the target system with the one or more data records at the source system.
17 . The system of claim 16 , wherein the one or more processors are configured to execute the instructions to:
receive, by the target system from the source system, the set of validation functions;
receive, by the target system from the source system, an indication of a predefined interval;
determine, by the target system, the set of target evaluations at the predefined interval; and
receive, by the target system from the source system, the set of source evaluations at the predefined interval.
18 . The system of claim 16 , wherein the one or more processors are configured to execute the instructions to:
determine, by the target system, the at least one mismatch at a predefined interval.
19 . The system of claim 16 , wherein:
the at least one mismatch comprises at least two mismatches.
20 . The system of claim 16 , wherein the one or more processors are configured to execute the instructions to:
determine, by the target system, a criticality of the at least one mismatch; and
determine, by the target system, whether the respective validation function has a priority that exceeds a predefined priority threshold; wherein
executing the instructions to execute the predefined action is in further response to either the criticality exceeding a predefined criticality threshold or the priority exceeding the predefined priority threshold.