Scenarios

In this article we demonstrate some migration scenarios by creating a simple representation of flows and applications in IBM Integration Bus(IIB) version 9 and 10 and then migrating them to IBM App Connect Enterprise (ACE) 11.

  1. Migrating an IIB 9/10 integration node which has configurable services defined for external resources and also has a specific user ID and password associated with one or more resources using mqsisetdbparms to an ACEV11 node
  2. Migrating an IIB 9/10 node with multiple integration servers to ACE 11 independent integration servers by using mqsiextractcomponents
  3. Migrating an IIB V10 integration server with apps and shared library
  4. Migrating an IIB 9/10 node from an operating system platform not supported by ACE 11
  5. Migrating an SAP Integration flow running on IIB 10 to ACE 11

1. Migrating an IIB 9/10 integration node which has configurable services defined for external resources and also has a specific user ID and password associated with one or more resources using mqsisetdbparms to an ACEV11 node

  1. If you have deployed a simple flow (FileInput–>FileOutput node) to an integration server and then to an IIB broker and subsequently defined a configurable service such as FtpServer.
    mqsicreateconfigurableservice MigrationNode -c FtpServer -o FtpServer01 -n serverName,scanDelay,transferMode,connectionType,securityIdentity -v one.hursley.abc.com:123,20,Binary,ACTIVE,myftp
  2. To migrate such a broker to ACE 11, take a backup of the V10 broker using the mqsibackupbroker command.
    mqsibackupbroker IntegrationNode -d  directory

    A file with the pattern intNodeName_yyMMdd_HHmmss.zip is created under the specified directory.

  3. On the ACE 11 command prompt, create a new integration node using the mqsicreatebroker command.
    mqsicreatebroker IntegrationNode
  4. Start the broker
    mqsistart IntegrationNode
  5. Manually create a directory structure servers\IntegrationServer under the broker work path ($MQSI_WORKPATH). For example, on Windows:
    C:\ProgramData\IBM\MQSI\components\IntegrationNode\servers\IntegrationServer
  6. Stop the broker
    mqsistop IntegrationNode
  7. Migrate the IIB V10 integration server and resources to ACEV11 using the mqsiextractcomponents command
    mqsiextractcomponents.exe --source-integration-node V10Broker --source-integration-server <V10EG> --backup-file V10Broker_BackupZip --target-work-directory '$MQSI_WORKPATH\components\IntegrationNode\ servers\IntegrationServer'
    All the deployed resources will get migrated under the /run directory.
    C:\ProgramData\IBM\MQSI\components\IntegrationNode\servers\IntegrationServer\run
  8. During migration, the configurable services from V10 get converted to policies in V11. The policy project resides in the /run subfolder in the work directory. Since we didn't specify any value for the policy_project_name, policies are created in a policy project called DefaultPolicies.
    For example, if the FTPServer configurable service name is 'ftpbroker', a policy file with name ftpbroker.policyxml will get created under the run\DefaultPolicies folder in the work path as illustrated in the figure below.


    The contents of the policy file are as shown below.

  9. Now, start the broker
    mqsistart V11BRK
  10. You may notice the following error message in the event viewer:

    File node "File Output" in message flow "FileInOutFlow". The remote user identifier supplied as "myftp" is invalid.
    The user identifier supplied by a securityIdentity is not valid. Either the user identifier is missing, or no securityIdentity definition exists, or the securityIdentity registry information could not be read due to a permissions problem. FTP processing for this node has been disabled.
    Ensure that the securityIdentity is correctly defined using the mqsisetdbparms command.

    Presently the mqsiextractcommand does not migrate the credentials that are set using mqsisetdbparms from the previous IIB versions. Hence you would need to set the security identity and other credentials by running the mqsisetdbparms again at ACE 11 level.

    mqsisetdbparms V11BRK -n ftp::myftp -u user -p password
  11. Restarted the broker
    mqsistop V11BRK
    mqsistart V11BRK

    This time, no error would be reported in the event viewer.

    We can see the application and the policy files listing under V11 broker in the toolkit.

2. Migrating the IIB 9/10 node with multiple integration servers to ACE 11 SIS using mqsiextractcomponents

  1. Create an application with a few message flows in the IIB 9/10 toolkit
  2. Create an integration node called MigrationNode
  3. Create three integration servers : MigrationServer1, Migrationserver2 and MigrationServer3
  4. Deploy the application to all of the three integration servers.
  5. Take a backup of IntegrationNode using the mqsibackupbroker command:
    mqsibackupbroker MigrationNode -d C:\temp\
    BIP1252I: Creating backup file ‘C:\temp\MigrationNode_181114_120112.zip’ for integration node ‘MigrationNode’.
    BIP8071I: Successful command completion.
  6. Copy the broker backup file C:\temp\MigrationNode_181114_120112.zip to the ACE 11 server for migration
  7. Open the ACE 11 command console and then use the mqsiextractcomponents command to create three independent (Standalone) integration servers (SIS):
    mqsiextractcomponents --source-integration-node MigrationNode --source-integration-server MigrationServer1 --backup-file C:\temp\MigrationNode_181114_120112.zip --target-work-directory C:\temp\MigrationServer1 --default-application DefApp
    BIP8071I: Successful command completion.
    
    mqsiextractcomponents --source-integration-node MigrationNode --source-integration-server MigrationServer2 --backup-file C:\temp\MigrationNode_181114_120112.zip --target-work-directory C:\temp\MigrationServer2 --default-application DefApp
    BIP8071I: Successful command completion.
    
    mqsiextractcomponents --source-integration-node MigrationNode --source-integration-server MigrationServer3 --backup-file C:\temp\MigrationNode_181114_120112.zip --target-work-directory C:\temp\MigrationServer3 --default-application DefApp
    BIP8071I: Successful command completion.
    Note: We specify the –default-application DefApp option so that if there are any message flows deployed as independent projects , then they will be moved into the default application 'DefApp' as per the ACE 11 requirement to have all resources as part of an App.
  8. Start the SIS; for example, by using the Integrationserver command:
    IntegrationServer --name MigrationServer1 --work-dir C:\temp\MigrationServer1
    2018-11-14 07:00:57.155836: .2018-11-14 12:30:57.204188: Integration server 'MigrationServer1' starting initialization; version '11.0.0.2' (64-bit)
    ....................................2018-11-14 12:31:08.690423: About to 'Initialize' the deployed resource 'Migration' of type 'Application'.
    2018-11-14 12:31:08.872079: File node 'File Output' in message flow 'FileNode' has no valid filename specified as property ''.
    2018-11-14 12:31:09.047675: About to 'Start' the deployed resource 'Migration' of type 'Application'.
    2018-11-14 12:31:10.852566: IBM App Connect Enterprise administration security is inactive.
    2018-11-14 12:31:10.896807: Integration server has finished initialization.
    2018-11-14 12:31:10.993264: The HTTP Listener has started listening on port '7600' for 'RestAdmin http' connections.
  9. To demonstrate that the configurable services defined under the IIB 9/10 nodes also get copied along with the newly migrated SIS:
    1. Create a configurable service
      mqsicreateconfigurableservice MigrationNode -c FtpServer -o FtpServer01 -n serverName,scanDelay,transferMode,connectionType,securityIdentity -v one.hursley.abc.com:123,20,Binary,ACTIVE,secId
    2. Modify your message flow to use the FTP configurable service
    3. Save the message flow and re-deploy the application to MigrationServer1
    4. Create a new backup using the mqsibackupbroker command from the IIB V10 console
      mqsibackupbroker MigrationNode -d C:\temp\
      BIP1252I: Creating backup file C:\temp\MigrationNode_181114_125348.zip' for integration node 'MigrationNode'.
      BIP8071I: Successful command completion.
      
    5. Go to ACE 11 and run the command below;

      mqsiextractcomponents --source-integration-node MigrationNode --source-integration-server MigrationServer1 --backup-file C:\temp\MigrationNode_181114_125348.zip --target-work-directory C:\temp\MigrationServer4 --default-application DefApp
      BIP8071I: Successful command completion.
    6. Verify the folder C:\temp\MigrationServer4\run\DefaultPolicies for the FTP configurable service policy under ACE 11 SIS

      FtpServer01 configurable service is available as a new policy

    7. Open the FtpServer01.policyxml and verify your configurations, it should match with your actual FTP Server configurations
    8. Try to start the SIS using the IntegrationServer command and verify the flow execution
      IntegrationServer --name MigrationServer4 --work-dir C:\temp\MigrationServer4.....2018-11-14 07:40:46.816920: .2018-11-14 13:10:46.863852: Integration server  'MigrationServer4' starting initialization; version '11.0.0.2' (64-bit)

3. Migrating an IIB V10 integration server with Apps and Shared Library

  1. In IIB V10, create a shared library to contain a simple subflow. Create an application with a simple message flow that uses the subflow from the shared library.
  2. Deploy the shared library to the IIB V10 node IIBV10
  3. For migrating the V10 node IIBV10 take a backup of the node
  4. Create a new ACE node ACEV11
  5. Start the ACE node ACEV11 so that the work directory is correctly set up.
  6. Stop the ACEV11 node
  7. Create a blank work directory for the integration server IS1 to be migrated to ACEV11
  8. Run the mqsiextractcomponents command for migrating the V10 integration server IS1 to ACEV11 and then start the integration node ACEV11
  9. After starting the node, connect to the integration node from the ACE toolkit. The application and shared library resources that were migrated from the IIBV10 node appear under the integration node ACEV11
  10. The contents can also be verified from the Web Admin UI
  11. Test the migrated flow

4. Migrating an IIB 9/10 node from an OS platform not supported by ACE 11.

The backup from any distributed platform of IIB 9/10 is recognized by ACE 11.
Hence the same procedure listed above can be followed to migrate your IIB topology to ACE 11. In short,

  • Take the backup of your IIB 9/10 integration node from your current distributed platform
  • Move it to the target ACE 11 platform
  • Migrate the broker using the mqsiextractcomponents command.

5. Migrating an SAP Integration flow running on IIB V10 to ACEV11.

  • A) Creating an SAP Integration flow on IIB V10.

    Step 1: Create an SAP outbound adapter to fetch BAPI_BANK_GETDETAILS

    1. Configure settings for the discovery agent
    2. Provide the JAR and .DLL files that come with SAPJCo. Attached the 64-bit jar files
    3. Select the type of connection required, the example shown below shows the Outbound connection
    4. Configure the SAP system connection settings
    5. On Service Discovery, select ‘RFC’ and set a filter for BAPI bank as shown below
    6. Select the Parameters to import the Objects
    7. Configure the Objects

    Step 2: Create a simple SAP application to fetch BAPI BANK GETDETAILS

    Step 3: Configure the Integration Node with SAP JCo libraries using the mqsichangeproperties command

    mqsichangeproperties IIBNODE -c EISProviders -o SAP -n jarsURL -v C:\SAP_JARS
    mqsichangeproperties IIBNODE -c EISProviders -o SAP -n nativeLibs -v C:\SAP_JARS

    Verify that the properties have been set up correctly:

    mqsireportproperties IIBNODE -c EISProviders -o SAP -r

    Step 4: Deploy the resources to the Integration Server:

    Step 5: Create a configurable service for the SAP adapters connection:

    SAP nodes can get SAP connection details from either the adapter component or a configurable service. By using configurable services, you can change the connection details for adapters without the need to redeploy the adapters.

    To change the Hostname which is set in the adapter file, we can set it using a configurable service without redeploying.

    Use the SAPConnection configurable service to change connection details for an SAP adapter.

    mqsicreateconfigurableservice IIBNODE -c SAPConnection -o SAP_BAPI_BANK_GETDETAILS_OUT.outadapter -n applicationServerHost,client -v wmbsap.hursley.ibm.com,001

    To display all SAPConnection configurable services using mqsireportproperties:

  • B) Migrating an IIB V10 integration node to an ACEV11 integration node

    Step 1: Take a backup of the IIB V10 integration node using the command mqsibackupbroker

    Step 2: Migrate the IIB V10 integration node and resources to ACEV11 using the mqsiextractcomponents command

    mqsiextractcomponents --source-integration-node IIBNODE --target-integration-node ACENODE --backup-file "C:\SAP_JARS\IIBNODE_190712_083247"

    If the integration node already exists, the mqsiextractcomponents command fails unless you specify –delete-existing-node in which case the existing integration node is deleted and a new integration node with the same name is created.

    The above mqsiextractcomponents command creates a new Node and Server.

    All the deployed resources will get migrated under the /run directory of the created IntegrationServer. For example, on Windows:

    C:\ProgramData\IBM\MQSI\components\IntegrationNode\servers\IntegrationServer

    All the deployed resources will get migrated under the /run directory.

    During migration, the configurable services from V10 get converted to policies in V11.

    The policy project resides in the integration node's work directory. Since we didn't specify any value for the policy_project_name, policies are created in a policy project called 'DefaultPolicies'.

    The policy file created is the same name as the name of the adapter. The contents of the policy file are as shown below.

    Step 3: Start the ACE 11 integration node

    mqsistart ACENODE

    We can see the application and policy files listing under the V11 node in the toolkit:

    Run mqsireportproperties on the ACE node to confirm the location of the jar files migrated from v10

    mqsireportproperties ACENODE -c EISProviders -o SAP -r

    Step 4: Test the integration flow by sending a message to fetch the record for BAPI BANK GETDETAILS

    Output message obtained:

  • C) Migrating an integration flow from an IIB V10 integration node to an ACEV11 Independent integration server

    Step 1: Using the mqsiextractcomponents command to migrate an IIB V10 integration server to an ACE 11 independent integration server.

    Open the ACEV11 command console and use the mqsiextractcomponents to create the independent Integration Server(SIS) as shown below;

    mqsiextractcomponents --source-integration-node IIBNODE --source-integration-server default --target-work-directory "C:\temp\ACESIS" --backup-file "C:\SAP_JARS\IIBNODE_190712_083247.zip"

    If the work directory already exists, the mqsiextractcomponents command fails unless you specify –clear-work-directory in which case the configuration and resources are written to the work directory, overwriting any data that might be present in the directory.

    Step 2: Start the ACE 11 integration server using the IntegrationServer command

    IntegrationServer --name default --work-dir C:\temp\ACESIS

    All the deployed resources will get migrated in the /run subfolder in the work directory of the independent IntegrationServer.

    During migration, the values set using mqsichangeproperties at IIB V10 get added to the server.conf.yaml file in the /overrides subfolder in the work directory of the ACE 11 integration server as shown in the figure below.

    The content of the server.conf.yaml file is shown below:

    During migration, the configurable services from V10 get converted to policies in V11.

    The policy project resides in the /run subfolder in the work directory in the case of the integration server. Since we didn't specify any value for the policy_project_name, policies are created in a policy project called DefaultPolicies.

    The name of the policy file that got created is same as the name of the adapter

    The content of the policy file is shown as below.

    We can see the application and the policy files listing under V11 Integration Server in the toolkit:

    Note: The scenario described above shows the configuration steps for an SAP outbound scenario. The same steps apply to an SAP inbound scenario.