Skip to main content

Development

Proxy Mechanism for testing IIB Migration Projects

Introduction

Migration of EAI solution has become inevitable because of the new features coming in and badly designed products and solutions in the past.
Migration must be taken as an opportunity to redesign the existing solution by making use of the latest technological developments. It is necessary to ensure the business functionality is not lost and is adapted as-is from the existing legacy system.
Extensive testing of the To-Be-Migrated application and the Migrated application is very important to make sure there is no gap/missing functionality during the entire Migration process.

Problem Statement

For migration projects, testing involves running test cases in the to-be-migrated system, in the migrated system and finally comparison of the results to ensure as-is migration.

Overheads involved in Migration Testing

  • Prior knowledge on both the to-be migrated system and the migrated system.
  • Execution of the same test cases twice.
  • Archiving, Data collection and Tracking of test results twice.
  • Triaging of lost/missing test data in case of error scenarios.

Suggested Solution

The above mentioned overheads can be greatly avoided/reduced by using the Proxy mechanism for end-end testing.
Let’s take the example of eGate to IIB migration to better explain the concept.

Proxy Services

Proxy services are reusable intermediate services designed in IIB to ensure easy and effective testing of both eGate and IIB systems.
Taking example of Pub-Sub integration which needs to be migrated, we will need 3 proxy flows namely PubIn proxy, PubOut proxy and SubOut proxy.

PubIn Proxy

PubIn proxy is the starting point of the testing framework.

  • Acts as a single point of input and takes user test data via a MQ Input.
  • Routes the inbound message downstream to both the eGate and IIB Publisher services.
  • Writes the inbound message to a File destination for tracking of the inbound test message which can also be used to retry in case of any error.
  • Necessary logging and error handling involved.

PubOut Proxy

PubOut proxy is introduced after the Publisher processing in both eGate and IIB.

  • Additional subscriptions are created to the Publisher services from both eGate and IIB to provide input to the PubOut Proxy service.
  • MQ Input takes the Publisher Outbound message as input from eGate and IIB system.
  • Writes the inbound message to a File destination for tracking of the Publisher Outbound data which aids in the comparison of both the system’s Pub Out results.
  • Necessary logging and error handling involved.

SubOut Proxy

This forms the last point of the proxy framework and is placed at the end of Subscriber processing.

  • After the Subscriber processing, the outbound messages from the eGate and IIB Subscribers are placed on the respective MQ input of SubOut proxy flow.
  • An IIB_Active flag is set to true if the downstream service is available in IIB and set to false if the downstream service is available in eGate.
    When IIB_Active = True:
    o Data Capture is done using the eGate Subscriber’s Outbound Data.
    o Routing to the External Target is done using the IIB Subscriber Outbound Data.
    When IIB_Active = False:
    o Routing to the external target is done using the eGate Subscriber Outbound Data.
    o Data Capture is done using the IIB Subscriber Outbound Data.
  • Data Capture involves writing the message to a File destination for tracking of the Subscriber Outbound data which aids in comparison of both the system’s Sub Out results.
  • Necessary logging and error handling involved.

Common to all Services

  • Sufficient logging to ensure the throughput of the message.
  • Error handling via posting of failed message on error queue.
  • File directories maintained with consistency to ease the comparison.
  • MQ names and File directories are promoted so that the proxies can be reused at Bar level.
  • Archiving on a daily basis so that new files are created for daily testing.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Surendhar Palani

More from this Author

Categories
Follow Us