This article was co-written by the following IBM authors;
Ajay Ponnappan, Asheesh Tiwari, Gobi Sankaranarayanan, James Jose, Sindhu Balakrishnan, Uma K Korukonda, Amar Shah, Nilima Srivastava, Garima Sharma, Preetha Ghosh

Scenarios

  1. Migrating an IIB V9/V10 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 V9/V10 node with multiple integration servers to ACE V11 SIS using mqsiextractcomponents
  3. Migrating an IIB V10 integration server with Apps and Shared Library
  4. Migrating an IIB V9/V10 node from an OS platform not supported by ACE V11
  5. Migrating an SAP Integration flow running on IIB V10 to ACEv11

In this article we will demonstrate each of the migration scenarios by creating a simple representation of IIB flows and apps in V9 and V10 and then migrating it to ACE V11 Fix Pack 02.

1. Migrating an IIB V9/V10 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 V11, 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 V11 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\[IS]\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 error message below 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 V11 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 V9/V10 node with multiple integration servers to ACE V11 SIS using mqsiextractcomponents

  1. Create an application with a few message flows in the IIB V9/V10 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 V11 server for migration
  7. Open the ACE V11 command console and use the mqsiextractcomponents command to create three separate Standalone Integration Servers (SIS)

    C:\Program Files\IBM\ACE\11.0.0.2>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.

    C:\Program Files\IBM\ACE\11.0.0.2>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.

    C:\Program Files\IBM\ACE\11.0.0.2>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.

  8. 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 V11 requirement to have all resources as part of an App.

  9. Start the SIS using the Integrationserver command

    C:\Program Files\IBM\ACE\11.0.0.2>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.

  10. To demonstrate that the configurable services defined under the IIB V9/V10 nodes also get copied along with the newly migrated SIS :

  11. 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

  12. Modify your message flow to use the FTP configurable service

  13. Save the message flow and re-deploy the application to MigrationServer1
  14. 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.

  15. Go to ACE V11 and execute the command below;

    C:\Program Files\IBM\ACE\11.0.0.2>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.
  16. Verify the folder C:\temp\MigrationServer4\run\DefaultPolicies for the FTP configurable service policy under ACE V11 SIS

  17. FtpServer01 configurable service is available as a new policy
  18. Open the FtpServer01.policyxml and verify your configurations, it should match with your actual FTP Server configurations

  19. Try to start the SIS using the IntegrationServer command and verify the flow execution

    C:\Program Files\IBM\ACE\11.0.0.2>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 V9/V10 node from an OS platform not supported by ACE V11.

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

  • Take the backup of your IIB V9/V10 integration node from your current distributed platform
  • Move it to the target ACE V11 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

    • Configure settings for the discovery agent


    • Provide the JAR and .DLL files that come with SAPJCo. Attached the 64-bit jar files


    • Select the type of connection required, the example shown below shows the Outbound connection


    • Configure the SAP system connection settings


    • On Service Discovery, select ‘RFC’ and set a filter for BAPI bank as shown below


    • Select the Parameters to import the Objects




    • 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 V11 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

    O/p 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 V11 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 V11 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 V11 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.

4 comments on"ACE V11 migration scenarios"

  1. Hi,
    I would like to know if IBM ACE FP 11.0.0.4 is compatible with database connection to Oracle 11g? From the software compatibility report, i could see that the minimum version of oracle DB is 12c.

    https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=9305DA803ED511E7BE8E09C6CE305F89&osPlatforms=Linux%7CWindows&duComponentIds=D002%7CS001&optionalCapIds=341%7C7%7C47%7C9%7C1%7C131%7C39%7C8%7C184%7C27%7C186%7C15%7C26#!

    Does it mean Integrations connecting to older versions of database(like 11g) would no longer be able to connect to the old database and it requires database migration to 12c? Please advise.

    • Amar@developerworks May 15, 2019

      The product (ACE V11) is tested (and hence supported ) with the listed software versions on software compatibility report. Hence it is strongly recommended to use the versions mentioned in the SOE pages.

  2. ACE version : 11 FP4
    OS: z/OS to Windows
    I tried to extract backup from Mainframe to windows both node and IS options and get below errors:

    mqsiextractcomponents.exe –source-integration-node MQSIBRK –source-integration-server DEVEG01 –backup-file MQSIBRK_190417_135212.zip –target-work-directory “$MQSI_WORKPATH\components\ACE11FP4\servers\DEVEG01″
    mqsiextractcomponents –backup-file MQSIBRK_190417_135212.zip –source-integration-node MQSIBRK –target-integration-node MQSIBRKN
    BIP2135E: Source character ”f8” in field ”f8” cannot be converted to Unicode from codepage ‘1208’.
    The source character is an invalid code point within the given codepage.
    Correct the application that generated the message.
    BIP8081E: An error occurred while processing the command.

    • Hi,
      We discussed these errors with ACE development team and they advised that you may be hitting one of defects in this area. Can you please open a case (pmr) reporting this error so that a fix can be worked out and be delivered via the case.

      Thanks.

Join The Discussion

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