Migrating from WebSphere Lombardi to IBM Business Process Manager

This article describes the steps to migrate a WebSphere Lombardi Edition V7.2 (Lombardi) installation that has process applications deployed to IBM Business Process Manager V8 Advanced (BPM), and provides tips to avoid potential issues along the way. This article assumes the product migration is to occur on a Windows (or Linux) operating platform with all relevant prerequisites.

This article is intended for practitioners who have good working knowledge of Lombardi, but limited working knowledge of BPM and WebSphere Application Server.

Benjamin TM Yee (benyee@au1.ibm.com), WebSphere Technical Specialist, IBM

Ben Yee photoBenjamin Yee is a WebSphere Application Server and WebSphere Process Server Infrastructure Specialist with the Australia Development Lab (ADL) Software Lab Services team in Melbourne, Australia. He is involved in the implementation of WebSphere Application and Integration Middleware with a focus on process integration. You can reach Benjamin at benyee@au1.ibm.com.



John Kim (jkim@nz1.ibm.com), WebSphere Technical Specialist , IBM

John Kim photoJohn Kim is part of the IBM Software Services for WebSphere team at the Australia Development Lab. He provides implementation services to a variety of customers using the WebSphere products, including WebSphere Process Server, WebSphere Lombardi Edition, WebSphere Application Server, and IBM Business Process Manager.



11 December 2013

Overview of the migration approach

The migration approach described in this article is akin to a runtime migration exercise, where the target environment replaces the source environment. The runtime migration approach encompasses both configuration and database migration where an existing database for Lombardi is used to support the target BPM environment. This method of migration is very error-prone and can pose many challenges if not done correctly. This article assists you in navigating through any potential pitfalls. It focuses on migrating Lombardi V7.2.0.4 with a standalone Process Center server to BPM V8.0.1 with a standalone Process Center server.


BPM migration roadmap

Figure 1 illustrates the tasks associated with migrating Lombardi to BPM.

Figure 1. Migration process flow
Migration process flow

Prerequisites

It is important to review the prerequisites for the target environment, as there is a significant difference in the software requirements between Lombardi and BPM. Please refer to IBM Business Process Manager Advanced detailed system requirements for the full list of BPM system requirements.

The migration exercise described in this article was performed with the following configuration:

Table 1. Source environment
Operating System Windows Server 2008 R2 Enterprise 64-bit
Database DB2 Enterprise Server Edition V9.7.0.5
Disk Space 70 GB
Memory 6 GB
CPU 2 Cores
Software WebSphere Lombardi Edition V7.2.0.4 standalone Process Center environment
Table 2. Target environment
Operating System Windows Server 2008 R2 Enterprise 64-bit
Database DB2 Enterprise Server Edition V9.7.0.5
Disk Space 70 GB
Memory 6 GB
CPU 2 Cores
Software IBM Business Process Manager Advanced V8.0.1 standalone Process Center environment

Pre-migration activities

You must complete the following steps before starting the migration exercise.

  1. Verify that there are no configuration or runtime errors in the JVM log files of the existing Process Center server. By default, the underlying JVM log files are located in the <Lombardi_INSTALL_ROOT>\AppServer\profiles\<profile name>\logs directory.
  2. The passwords of the default Lombardi users will be changed during the migration, so you should note the passwords for the following users: tw_admin, tw_user, tw_author and tw_webservice, in the event you would want to reset the said passwords upon completion of the BPM environment.
  3. The same Process Server and Performance Data Warehouse databases will be used in the target BPM environment. Therefore, you should note the Lombardi database names, usernames and passwords to be used during profile creation in the BPM environment.
  4. Stop the Process Center server running in the source system.
  5. Back up the Lombardi environment, including the entire Lombardi installation directory. Use appropriate operating system commands to back up and compress the entire directory coupled with running the out of the box backupConfig utility to back up the configuration files for the Process Center server, as shown here:
    <Lombardi_INSTALL_ROOT>\AppServer\bin>backupConfig.bat
    <BACKUP_FOLDER>\<profileName>.zip -profileName
    <profileName>
  6. If you made any changes to the configuration settings for Process Center, back up the customization files. The best practice is to only change 100Custom.xml. If files with a filename prefix below 100 are changed, it is possible for those files to be overridden when a fix pack is applied.
  7. Back up the databases that are used by Lombardi and any other databases that are used for the deployed applications. The Lombardi environment described in this article utilizes two databases: Process Server and Performance Data Warehouse.

Warning: Passwords of the Lombardi users will be changed to the WebSphere Application Server administrator password that is specified in the response file during the creation of the BPM Process Center profile in the target environment.


Migration activities

This section describes the steps to migrate Lombardi to BPM. The following steps assume that all pre-migration activities mentioned have been completed successfully and all prerequisites are met.

  1. Perform the installation of the BPM binaries. During the installation, ensure that the custom install option is selected because the default installation process does not have an option to delay the database configuration step.
  2. Install all the required interim fixes (refer to this flash for more details). To verify that the installation is successful, use the following command to view all installed packages, as shown in Figure 2:
    <IBMIM_INSTALL_ROOT>\imcl.exe listInstalledPackages
    Figure 2. List installed packages
    List installed packages

    Click to see larger image

    Figure 2. List installed packages

    List installed packages
  3. Create a new Common database using the sample script located at <BPM_INSTALLATION_MEDIA_ROOT>/dbscripts/CommonDB/DB2/createDatabase_CommonDB.sql. Update the script with the appropriate database name and database user name.
  4. Create a response file for Process Center using the sample below, which is an updated version of <WAS_INSTALL_ROOT>\BPM\samples\manageprofiles\PCAdv_StandAlone_DB2.response). This response file will be used to perform the silent profile creation for the target BPM environment.
    create
    templatePath=<WAS_INSTALL_ROOT>/profileTemplates/BPM/default.procctr.adv
    serverName=ProcCtrServer
    profilePath=<WAS_INSTALL_ROOT>/profiles/ProcCtr
    profileName=ProcCtr
    cellName=ProcCtr_Cell
    nodeName=ProcCtr_Node
    hostName=IBMBPM
    enableAdminSecurity=true
    adminUserName=admin
    adminPassword=admin
    dbJDBCClasspath=<WAS_INSTALL_ROOT>/jdbcdrivers/DB2
    dbType=DB2_DATASERVER
    dbName=CMNDB
    dbUserId=db2admin
    dbPassword=passw0rd
    dbCommonUserId=db2admin
    dbCommonPassword=passw0rd
    dbHostName=IBMBPM
    dbServerPort=50001
    dbCreateNew=false
    dbDelayConfig=true
    procSvrDbName=PROCDB
    dbProcSvrUserId=db2admin
    dbProcSvrPassword=passw0rd
    perfDWDbName=PERFDB
    dbPerfDWUserId=db2admin
    dbPerfDWPassword=passw0rd
    applyPerfTuningSetting=standard
    configureBPC=true

    Tip: It's important to specify the existing Lombardi databases in the response file because the databases will be migrated to the target BPM environment. In this scenario, the existing databases are PROCDB (the Process Server database) and PERFDB (Performance Data Warehouse database). The attributes procSvrDbName and perfDWDbName should be set to those database names. To minimize the number of steps required to configure the Business Process Choreographer, be sure to set configureBPC to true.

  5. Create the Process Center profile, as shown in Figure 3 by running the manageprofiles command from <WAS_INSTALL_ROOT>/bin directory, as follows:
    <WAS_INSTALL_ROOT>\bin>manageprofiles.bat –response 
    <WAS_INSTALL_ROOT>\BPM\samples\manageprofiles\PCAdv_StandAlone_DB2.response
    Figure 3. Create Process Center profile
    Create Process Center profile

    Click to see larger image

    Figure 3. Create Process Center profile

    Create Process Center profile
  6. Verify the BPM Process Center profile has been created successfully by reviewing the <WAS_INSTALL_ROOT>\logs\manageprofiles\<profileName>_create.log file for the INSTCONFSUCCESS message. If an INSTCONFFAILED message is logged, review the error details to find the root cause and attempt to rectify the said error or re-create the profile.
  7. Run createTable_BusinessSpace.sql located at <WAS_INSTALL_ROOT>\profiles\ProcCtr\dbscripts\BusinessSpace\ProcCtr_Node_ProcCtrServer\DB2\CMNDB against the Common database (CMNDB), as shown in Figure 4. This will create tables required to run the Business Space component (if necessary).
    Figure 4. Create Business Space tables
    Create Business Space tables
  8. Ensure that all SQL commands complete without errors.
    Figure 5. Verify successful completions of SQL commands
    Verify successful completions of SQL commands
  9. Run configCommonDB.bat from <WAS_INSTALL_ROOT>\profiles\ProcCtr\dbscripts\CommonDB\DB2\CMNDB against the Common database (CMNDB). This will create tables that are required to run the core BPM components.

    Warning: If you do not run the configCommonDB.bat tool, required tables will be missing. The consequence of this is that you will not be able to use the WebSphere Process Server components, although the Lombardi components of BPM will still function.

    Figure 6. Configure the Common database
    Configure the Common database
  10. The script will prompt for the schema name. You should specify a schema name that adheres to your organization's naming convention. Figure 7 depicts the successful completion of the configCommonDB.bat tool.
    Figure 7. Verify successful completion of the Common database setup
    Verify successful completion of the Common database setup
  11. Apply the customization settings for Process Center using the files backed up in step 6 of the Pre-migration activities section.
  12. Ensure that the database user has sufficient privileges to create, alter and drop tables and indexes for the Common (CMNDB), Process Center (PROCDB) and Performance Data Warehouse (PERFDB) databases before running the migration tool. Alternatively, you can grant administrative privileges as depicted in Figure 8.
    Figure 8. Verify database user privileges
    Verify database user privileges

    Warning: If the database user does not have sufficient privileges to create and alter tables, the migration utility will fail to create the messaging engine tables.

  13. Run the migration tool upgradeProcessData.bat located at <WAS_INSTALL_ROOT>\BPM\Lombardi\tools\upgrade\UpgradeProcessData against the BPM Process Center profile as follows:
    <WAS_INSTALL_ROOT>\BPM\Lombardi\tools\upgrade
    \UpgradeProcessData>upgradeProcessData.bat -profileName ProcCtr

    Tip: If you are migrating to BPM V8.0.0 and using DB2 ESE 9.7 Fix Pack 4, you will get a SQL error when you run the upgrade_7x command. You can fix this by editing the SQL scripts as described in this technote.

    Figure 9. Run the upgradeProcessData tool
    Run the upgradeProcessData tool

    Click to see larger image

    Figure 9. Run the upgradeProcessData tool

    Run the upgradeProcessData tool
  14. Ensure that the message "All upgrade steps have been completed successfully." is displayed when the tool completes.
    Figure 10. Verify successful completion of the upgradeProcessData utility
    Verify successful completion of the upgradeProcessData utility
  15. Start the BPM Process Center server as follows:
    <WAS_INSTALL_ROOT>/profiles/ProcCtr\bin>startServer.bat ProcCtrServer
    Figure 11. Start the BPM server
    Start the BPM server

Post-migration verification

After the migration steps have completed successfully, it is time to verify that the target server has been migrated without errors. Perform the following verification steps to ensure the integrity of the newly created environment.

  1. Ensure there are no errors logged in SystemOut.log during the start up of the BPM Process Center server.
    Figure 12. SystemOut.log
    SystemOut.log
  2. Log on to the administrative console using the WebSphere Application Server administrative user account, which is the user account that was specified during profile creation, such as adminUserName and adminPassword.
    Figure 13. Log on to the administrative console
    Log on to the administrative console

    Click to see larger image

    Figure 13. Log on to the administrative console

    Log on to the administrative console
  3. Verify that the correct version of WebSphere Application Server (V8.0.0.5) and BPM (V8.0.1) are installed.
    Figure 14. WebSphere Application Server administrative console for BPM server
    WebSphere Application Server administrative console for BPM server

    Click to see larger image

    Figure 14. WebSphere Application Server administrative console for BPM server

    WebSphere Application Server administrative console for BPM server
  4. Select Servers => Server Types => WebSphere application servers and verify that the server ProcCtrServer is listed.
    Figure 15. Verify Process Center server
    Verify Process Center server

    Click to see larger image

    Figure 15. Verify Process Center server

    Verify Process Center server
  5. Select Applications => Application Types => WebSphere enterprise applications and verify that all applications have started successfully.
    Figure 16. Verify status of enterprise application
    Verify status of enterprise application

    Click to see larger image

    Figure 16. Verify status of enterprise application

    Verify status of enterprise application
  6. Select Resources => JDBC => Data sources and verify that all data sources have been created.
    Figure 17. Verify that data sources exist
    Verify that data sources exist

    Click to see larger image

    Figure 17. Verify that data sources exist

    Verify that data sources exist
  7. Test the connection to the data sources by selecting all data sources and clicking Test connection.
    Figure 18. Test data source connection
    Test data source connection

    Click to see larger image

    Figure 18. Test data source connection

    Test data source connection
  8. Select Servers => Server Types => WebSphere application servers => ProcCtrServer => Messaging engines and verify that all messaging engines are running.
    Figure 19. Verify status of messaging engines
    Verify status of messaging engines

    Click to see larger image

    Figure 19. Verify status of messaging engines

    Verify status of messaging engines
  9. Launch the BPM Process Portal verification page at https://<host>:<port>/ProcessPortal/web_test and verify that all seven components have passed the verification tests as shown in Figure 20.
    Figure 20. Verify the BPM Process Portal
    Verify the BPM Process Portal
  10. Figure 21 depicts artifacts present in the source Lombardi environment that will be migrated to the target BPM environment. In this scenario, three sample process applications, Sample1, Sample2 and Sample3, have been created. Following is a description of each application:
    • Sample1 is a simple process application that contains one business process definition (BPD) with a default human service.
    • Sample2 has a BPD that contains a human service as well as system service.
    • Sample3 has a BPD that consists of three swim lanes. Two swim lanes are for humans (Applicant and Manager) and one is the System Lane. The Coach asks for Name, Address and Phone. These details are captured by three tracking groups, with each tracking group capturing different fields.
    Figure 21. Lombardi process applications before migration
    Lombardi process applications before migration

    Click to see larger image

    Figure 21. Lombardi process applications before migration

    Lombardi process applications before migration
  11. Log on to the BPM Process Center and verify the migrated process applications. The three sample process applications should be present.
    Figure 22. Process applications after migration
    Process applications after migration

    Click to see larger image

    Figure 22. Process applications after migration

    Process applications after migration
  12. Open the migrated process application that contains tracking groups, such as Sample3 (SAM3) in Process Designer to verify that the said tracking groups have migrated successfully. In this process application, there are three tracking groups. The second tracking group, TG2 is highlighted in Figure 23, and depicts how it is capturing information on the tw.local.application.address variable. As shown in Figure 25, you will be able to see this detail by inspecting the Performance Data Warehouse database.
    Figure 23. Verify tracking groups from Process Designer
    Verify tracking groups from Process Designer

    Click to see larger image

    Figure 23. Verify tracking groups from Process Designer

    Verify tracking groups from Process Designer
  13. Connect to the Performance Data Warehouse database (PERFDB) to verify that all tracking groups have been migrated. In Figure 24, you can see that three custom tracking groups, TG1, TG2 and TG3, have been migrated from the Lombardi environment. These are generated by sending tracking group definitions to the Performance Data Warehouse.
    Figure 24. Verify tracking groups migration
    Verify tracking groups migration
  14. Inspect individual tracking groups to ensure that the data in each tracking group has been migrated. In Figure 25, all four entries of ADDRESS were migrated for the tracking group TG2.
    Figure 25. Verify data migration for tracking groups
    Verify data migration for tracking groups

Conclusion

This article walked you through the steps to migrate an IBM WebSphere Lombardi V7.2 environment to IBM BPM V8.0.1 with existing process applications deployed. It highlighted potential problems that practitioners may face when performing the migration and provided workarounds for these issues.


Acknowledgments

The authors would like to thank the IBM BPM Level 2 Support team for assisting them with issues faced during the writing of this article, and their colleague on the IBM Australia Development Laboratory WebSphere Services team, Raj Mehra, for reviewing this article.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management
ArticleID=956459
ArticleTitle=Migrating from WebSphere Lombardi to IBM Business Process Manager
publish-date=12112013