Open dhvines opened 7 years ago
@dhvines to me the inventory report is a very good tool in order to understand your projects structure in terms of libraries, technologies and versions. I would agree with you that the safest would be not to touch any of these libraries since the application is working as it is.
However, some of the libraries included in the projects were duplicated, others unused and others provided by WAS or some of its feature packs included. From a migration pov I agree that the least you touch the safest but from a software development best practices pov, the structure we initially had for the project was simply very bad. Having duplicated and unused libraries is not only a bad practice but it might introduce problems long term (specially if you have more than a bunch of problems)...
I do agree that we should not remove libraries and repackage the app only based on the inventory report but also applying intelligence to what the inventory report suggests and, above all, executing an exhaustive test process for these changes on your current WAS version and dev/test platform before moving on to migrate to a newer WAS version or IBM platform...
As I said, the inventory report has brought up an image of the project structure very valuable to me which I did not have just by looking at the code and testing the app before. Would it not make sense to recommend to leave libraries and packages as they are for migration but suggest to use the inventory report to look at potential 'not good software development practices' if you want to call it that way?
Thanks for your feedback beforehand.
Agreed that the binary scanner is a good tool to introspect the archives and show you some information about their content without you having to unzip those archives to manually inspect it. Definitely create those reports and refer to them while you are doing the source code migration with WAMT.
But do not make any changes during the assessment for "good software development practices". Of course, I'm only talking about the lift and shift pattern or the like for like migration strategy. Some customers may require that you remediate a certain well-defined set of "technical debt" (e.g. wink); however that is not the classic "lift and shift" pattern.
Having said that, we always produce a report after we have completed a migration of the problems and the solutions that we encountered and the changes (to make post migration) to follow "good software development practices"
The following paragraph is too strong and in some sense misleading and there is a typo higly => highly
Although it is nice to see these jar's there is really nothing that you can do with this information except to store it away as potential problems. It would not be advisable at all to simply start removing duplicate or unused classes. Remember that application worked with this collection or jars. So its best to keep these jars unless you discover some class loading issues during testing.
AND
I would never recommend changing any jars based on this report ... you can only change the jars during the testing phase. For instance, there are many frameworks that do dynamic class loading. So the report may give incorrect information regarding unused jars .... Also, as mentioned remember that this app did work with the "as is" classes and packaging ... do not change it! the more you move away from the working app the more chances you have of introducing a crit sit ... again, only repackage or change jars based on resolving defects during testing ...
AND
Never ever do that ...
AND
No, no, no, Never do that ...
AND
Don't repackage and refactor the app base on the unused libraries, etc.