Tubame - helper for application migration to JBoss EAP 6 / AS 7 / WildFly
Posted by ozizka in Ondrej Zizka's Blog on Jan 8, 2014 10:57:00 AMBesides Windup, there's a
nother tool which may help you migrate your applications from WebLogic, GlassFish or older JBoss servers to JBoss EAP 6: Tubame. (Github project here).
I have tried this tool recently. Here's some info.
Features
- Tubame is an Eclipse plugin. No Eclipse, no fun.
- Tubame doesn't perform any active migration. It only highlights certain parts of the source code and resources and adds valuable information. All this in the form of Eclipse windows.
- The findings are based on simple regex or XPath matches. Do not expect any complex code analysis and architectural advices.
- The project is originally japanese, so you may be presented with a UI or docs in japanese, especially if you decide to contribute. (Fill an issue if that blocks you on something.)
Installation
Installation is a bit tricky:
- Install Python 2.7. Not 2.6, not 3.0+. Try running `python --version`. I have 2.7.5.
- You need to unzip the files to Eclipse's plugin/ directory.
- Then edit .../eclipse/plugins/tubame.portability_1.0.0.201310021343/resources/properties/application.properties
- Change PYTHON_RUNTIME_PATH=C:/Python27/python.exe to whereever your Python 2.7 interpreter executable resides. Try `which python` on Linux to find out.
- If you write it wrong, Tubame will not complain anywhere except Eclipse stdout / log.
- Check out the migration-knowledge Git repository.
Usage
When done, you should be able to find the right windows in Eclipse.
One is a tree with complex structure of chapters, categories and subcategories. Here you may edit the rules.
The other is the results window where Tubame shows the matched results.
To fill it, open a legacy web project and right-click on a project and in the menu, choose Tubame -> Knowledge base search / Dependency search.
A dialog will open. Depending on what are you migrating from, choose a .xml file from the migration-knowledge.
But - it has to be under your project's dir, so first copy e.g. git-migr-know/WLS9ToEAP6/Japanese/ to your project.
Then right-click your project and Refresh, and repeat the step with the dialog. Choose the .xml rules file and Next.
The sources will be scanned and finally, you'll see a table with the results.
Clicking on a table shows some documentation regarding migraton of that item.
Conclusion
Tubame appears to be an experimental project which may evolve into something generally useful. Currently, the best it can offer is quite a lot of simple rules which match JBoss EAP 4 or WebLogic 9 specific FQCN's and resources. When you get it running.
Feedback & contribute!
Tubame is an evolving project, open-sourced just recently, and needs your help. If you decide to try it for migration of your apps, please go to the Tubame project Github page, fill an issue if something doesn't work, suggest improvements, and at best - add your rules & make a pull request! Or just add them as an issue in the user-knowledge issues. Thanks!
Comments