Are you using TIBCO BusinessWorks 5? Do you want to benefit from the new TIBCO BusinessWorks 6 features? You want to reuse already existing BW5 code, with minimal migration effort? I have spent some time in figuring out the best solutions to project migration from BW5 to BW6. Find the story of my journey here.
First off, I started rather optimistically, using a quite elaborate BW5 project. Some details of this project can be viewed on the screenshot below. Nothing too fancy, but it is a fair representation of a typical production grade project. It uses a Java code activity (which is using external Java code) and some Design Time Libraries (DTLs).
Lowering expectations
My first attempt was to retrieve this project from my source repository and start the migration, without any alterations to the original. Basically I started up my design environment for TIBCO BusinessWorks 6, which is completely Eclipse based, and used the build-in migration tool. Unfortunately, this gave a number of errors, the most obvious ones were related to the DTLs in the project. I thus manually got rid of the DTL references and reran the migration. To no avail, as now a number of Java code related errors occurred, but also a number of invalid references to schema files. Looking at the latter, I realized that the most important reference from a WSDL file to the schemas was incorrect. Therefore, I decided to lower my expectations and start a migration on a much simpler project.
A reference for building a new project
The second attempt was with a very, very simple “Hello World” project, which basically only accepts an input string and replies with a different string value. Not something I would ever build in production. I created this project in BW5, saved it, and then opened up my BW6 designer. I proceeded as before. Too bad that after importing the “Hello World” project into TIBCO BusinessWorks 6 workspace I immediately noticed a number of errors, some of which were non-ignorable (like collision between activity name and service/operation name). I concluded that the migration of a BW5 project to a BW6 project could be used as a reference for building a new BW6 project: the migration in itself does not work directly, but it will provide you with some valuable references for setting up the new project. One of the elements that are reusable is the mapping between activities. Based on the results of this exercise, I can state again what I already mentioned in one of my previous blogs: BW6 is a totally new tool and not an upgrade of previous version of TIBCO BusinessWorks.
To get the most benefit out of the migration tool, I found an approach that works for me, that I would like to share with you.
- First of all: Use two different workspaces in BW6! One temporary workspace (workspace1) to be used for temporarily storing the migrated project(s) for reference. And another workspace (workspace2) for building the actual production project.
- Secondly: migrate the BW5 project using the migration tool, to the workspace1. From now this workspace1 should be considered read-only, only to be used as a reference.
- Thirdly: Rebuild the shared libraries manually to workspace2. However, you can also use the migrated shared libraries from workspace1, since they are already based on the original DTLs of your BW5 project.
- Fourth and final step: build your operations/services/logic in workspace2 manually while referencing (or reusing) to what has been migrated to workspace1. Luckily the very time-consuming mapping activities can almost always be copy-pasted directly (provided you set up your inputs and outputs correctly beforehand).
My conclusion, given the current state of the migration functionality available in TIBCO BusinessWorks 6 (version 6.3.3), is that this part of the tool is not fully functional yet. It does provide useful functionality that needs to be complemented by manual work. Some validation rules need to be applied before actually migrating the BW5 project.
One more thing which I found interesting and may be of benefit to you when migrating projects, is: how to start the migration tool?
I used two different ways to start the migration tool:
- Using the menu “File > Import” and select “Migrate BW Project”. Another popup menu will open and ask you to provide the folder for the BW5 project and the target folder for BW6 project. This option never worked for me. It kept hanging without a proper error message.
- Using the project menu, where you select “Project > Migrate BW Projects …”. Then a popup menu will appear that also asks you about the old project folder, the new project folder, the DTLs and the external Java classes, if applicable. Then the migration tool will ask to confirm the selections and ask to press start to begin. The outcome of this will be a new project imported to the selected workspace. Ideally this project should work as a TIBCO BusinessWorks 6 project.
Good luck with migrating your projects! If you have questions, leave them in the comments below. Thanks for reading!
Devoteam: the #1 partner when it comes to Tibco BusinessWorks
Due to our background in Integration and DevOps, we are the #1 partner for well-known Dutch organizations when it comes to Tibco BusinessWorks. Curious to learn more? Read all of our success stories, use cases, and technical blog-posts.