Configuration and Deployment
Message Configuration
The following table lists the files that are located in the directory: test_messages/MT103 of the 'FTM ODM Sample' project.
Amount | Currency |
---|---|
3.34 | USD |
1500000 | EUR |
2500000 | EUR |
3500000 | USD |
4500000 | USD |
Simulator Configuration
The following table lists the service simulators, and the configuration values that are being used by the sample application.
Name | AMOUNT_MAX value |
---|---|
Svc1Simulator | 4000000 |
Svc2Simulator | 2000000 |
Svc3Simulator | 2750000 |
Svc4Simulator | 3000000 |
Svc5Simulator | No max value |
Rules Configuration
The sample is using the three rules tables that are detailed in Decision Tables Design.
Message Deployment
The test messages should be written to the ODM sample payment origination queue, resulting in the following behaviors:
- 3.34 USD transaction
A routing slip is generated by the decision node, two activity groups are created ('Wait For Svc 1' and 'Wait For Svc 2,3'), with service requests are made to simulators 1, 2 and 3. All three will acknowledge positively, resulting in both activity groups completing, and then the transaction itself will complete successfully.
- 1500000 EUR transaction
A routing slip is generated by the decision node, four activity groups are created ('Validate Payment', 'Wait For Svc 5', 'Wait For Svc 1' and 'Wait For Svc 2,3'), with service requests made to simulators 1, 2, 3 and 5. All four service simulators will acknowledge positively, resulting in the three service request activity groups completing, as well as the 'Validate Payment' activity group, and then the transaction itself will complete successfully.
- 2500000 EUR transaction
A routing slip is generated by the decision node, four activity groups are created ('Validate Payment', 'Wait For Svc 5', 'Wait For Svc 1' and 'Wait For Svc 2,3'), with service requests made to simulators 1, 2, 3 and 5. Service simulator 2 will negatively acknowledge as the currency amount exceeds it's AMOUNT_MAX parameter. This will cause the fourth activity group to fail, prompting a second trip to the decision node to generate a second routing slip. The failed activity group will trigger the creation of a new activity group ('Wait For Svc 4'), which contains two activities - a service request to simulator 4, and also a roll back request to service 3 simulator which had previously responded positively, while the service 2 sibling activity in the activity group 'Wait For Svc 2,3' had failed. The service 4 simulator will respond positively, allowing the transaction to now complete successfully.
- 3500000 USD transaction
A routing slip is generated by the decision node, three activity groups are created ('Validate Payment', 'Wait For Svc 1' and 'Wait For Svc 2,3'), with service requests made to simulators 1, 2 and 3. Service simulators 2 and 3 will each acknowledge negatively as the transaction currency amount exceeds both AMOUNT_MAX parameters. This will cause the third activity group to fail, prompting a second trip to the decision node to generate a second routing slip. The failed activity group will trigger the creation of a new activity group ('Wait For Svc 4'), which contains a service 4 simulator request, but no roll back requests as in the previous example, as neither service 2 or 3 had responded positively in this case. The service 4 simulator will also respond negatively, as the currency amount still exceeds the simulators AMOUNT_MAX parameter. A final trip to the decision node to generate a third routing slip, results two raised activities (without an activity group), a request for operator intervention and re-raised service 4 simulator request.
- 4500000 USD transaction
A routing slip is generated by the decision node, three activity groups are created ('Validate Payment', 'Wait For Svc 1' and 'Wait For Svc 2,3'), with service requests made to simulators 1, 2 and 3.In this example, the service 1 simulator will acknowledge negatively before service simulators 2 or 3 have been processed and responded, which can be seen in the updated routing slip 1.The failure of 'Wait For Svc 1' will prompt a second trip to the decision node to create a second routing slip, which will contain a new activity group ('Wait For Svc 4'), and a service 4 simulator request within it. The service 4 simulator will also respond negatively, as the currency amount still exceeds the simulators AMOUNT_MAX parameter. A final trip to the decision node to generate a third routing slip, results in two raised activities (without an activity group) - a request for operator intervention and re-raised service 4 simulator request.