ibm-cloud-architecture / refarch-jee

This project provides a Reference Implementation for migrating existing Java EE applications from on-premise to cloud-based deployments, as well as migration to a microservices-based architecture.
Apache License 2.0
18 stars 21 forks source link

apache wink client .. #12

Open dhvines opened 7 years ago

dhvines commented 7 years ago

Again, I'm pretty sure that the apache wink api's were in the application and you removed them. So, if you would not have removed them then I am pretty certain that you would not be seeing this error.

We have to be careful and thoroughly review each of the errors and warning either of the toolkits report since there might be some that actually do not apply due to the possibility of having WebSphere Application Server fixpacks or feature packs installed. For instance, in our case, both toolkits report an error because we are using the org.codehaus.jackson packages that are exposed as a third-party API in JAX-RS 1.1 but are not part of the new JAX-RS 2.0 version WebSphere Application Server V9.0 comes initially with. However, we find out that our WebSphere Application Server V9.0 comes with such packages possibly because of later fix packs installed as we are really using the 9.0.0.3 version of WebSphere Application Server:

jesusmah commented 7 years ago

@dhvines the apache wink client was not include with the application and therefore it was not removed. I've imported the app before doing the libraries refactoring and yet I got errors due to apache wink client not present:

screen shot 2017-06-21 at 12 05 13

Once I add the IBM WebSphere Application Server traditional v7.0 JAX-RS Library the error goes away as this library comes with the apache wink client libraries in it:

screen shot 2017-06-21 at 12 13 41

I believe the refactoring of the app is raised in a different issue so I will leave the refactoring discussion to that other issue.

FYI, this monolith app was designed by Roland for some WebSphere labs where the dev environment was supposed to have the JAX-RS, OSGI and JPA Feature packs for WAS 7 installed.

dhvines commented 7 years ago

Missing classes is a typical case and a good one to highlight for folks that will be delivering migrations. It generally occurs because the app is using some open source library that was exposed by WAS. This is a bad practice because as you can see newer versions of WAS can remove or replace those open source libraries. Another reason this can occur is because the app was using a shared library that is outside of the WAR or EAR. In this case, you would ask the customer for the location of that shared library or you can investigate the WAS 7 configuration to see if it defined any shared libraries. Again, this is a good example to highlight.

So to resolve this problem you should try to figure out what version of apache wink that is required by the existing application and download that exact version from the web. if you can't figure that out then download whatever version you think highest potential for being compatible and go from there. It is probably the version of wink that was included with WAS 7.

Anyway, here's the link to the apache wink download site. It shows the current version but also has a link so that you can download earlier versions https://wink.apache.org/downloads.html. Again, remember that the app worked with the libraries that it had so always try to keep it using those same libraries and only diverge from them if you discover via testing that is is absolutely necessary to do so in order to make the app run on was 9

dhvines commented 7 years ago

Please see previous comment. I meant to post the comment; not close the issue. Thanks!