Porting Applications from WebSphere to WebLogic? 33
JFP queries: "I work for a division of a manufacturing company. We're currently running IBM WebSphere 3.5. We are considering a switch to BEA WebLogic 6./7. Has anyone had luck with IBM's upgrade path? Has anyone else ported a WebSphere 3.5 application to WebLogic? If so, how much of code did you have to rewrite? Are there any 'gotcha!'s that you ran into that you would care to pass along?"
Two pieces of advice (Score:2, Interesting)
If you decide you need a consultant, remember that the only thing worse than an expensive consultant is a cheap one.
Re:Two pieces of advice (Score:1)
Advice On Moving From JBoss to WebLogic (Score:1)
Re:Advice On Moving From JBoss to WebLogic (Score:3, Informative)
Java is write once run anywhere, but only if you stick to the standard. The standard doesn't do everything (yet) so the vendors have pushed the envelope (Just like the browser war)
If you write to the standard you are fine. If you need/want the advanced features, be prepared for migration re-writes.
Re:Advice On Moving From JBoss to WebLogic (Score:1)
AFAIK, most app-server vendors provide different levels of support, and even when they support the same standards they have differing interpretations or tools to work with. Sounds like a pain at best. At least for J2EE components. My guess is that simple WAR files will be easily transportable.
Silverstream - WebSphere (Score:2)
Re:Silverstream - WebSphere (Score:2)
WebSphere 3.5x is one of the most painful, convoluted, and just plain evil products ever developed. First off, you are out of luck if you need to use any JDK1.3 or higher features, as WS 3.5x ONLY run's on a specially enhanced version of the IBM JDK 1.2x. While this may not seem like a huge deal, it eliminates the possibilities of using proxy objects in your J2EE apps, which in my experience makes things much more difficult.
Additionally, you will have a hard time maintaining deployment procedures since WS 3.5 uses its own deployment tools and descriptors.
Finally, there are more "undocumented" features in the J2EE support than IBM cares to admit. The best piece of advice I can give regarding that is to first assume the problem is with the app server, then your code. Google will be your best friend during debugging.
If you are stuck with WS3.5, good luck.
Of course, I'm an unemployed Java architect, so what would I know? :-)
Re:Silverstream - WebSphere (Score:2)
But we're using 4.0.3 - and possibly moving to 5 when it is released here soon [tm].
Java Hype (Score:2, Redundant)
-Bill
Re:Java Hype (Score:1)
TheServerSide.com (Score:4, Insightful)
My question is wrt the form processing: How much of your code is written using IBMs custom libraries. This is the point that is going to burn you. And BEA has there own, different solution to the same problem. You may want to look into Struts or Velocity instead, to avoid being locked in to the Vendor.
Why are you switching away from IBM?
WebSphere slooow (Score:1)
The fact that I am not a fan of Java or JSP in the first place didn't help that I was taunting the professional support the whole time.
But from what I saw and heard the developers said it was trivial to go from ASP to JSP though.
Cacheon (Score:2)
Disclaimer: Don't work for them, but my company is evaluating their product.
My experience (Score:4, Insightful)
I haven't done that, but I did the opposite: migrating from welogic to websphere (and also jboss/tomcat)
Besides some minor problems (easily solvable) on the jsp tags, the main difference between the app servers are the features that are not defined in the J2EE specification yet, and so are implemented in different ways by each app server. In particular:
- authentication mechanism (this is a PITA if you are implementing your own authentication, like we do
- custom services (jboss supports MBeans, which might be the standard in the future, but websphere and weblogic have their own way to do that)
- how to start/stop/restart the app server
- how/where to define JNDI objects (like user transacation and data sources)
Overall, I think moving from websphere to weblogic would be easier than the opposite way (websphere is a powerfull tool, but in my opinion it is pretty hard to configure/mantain).
Felipe
Re:My experience (Score:2)
So... take this as a lesson on not taking anything at face value in the world of J2EE product comparisons!
upgrade problems (Score:2, Informative)
Upgrading from 3.5 to 4.0 is not a great process, The server config comes across okay and most of your DDs will come over, but you are required to make sure all your code is supported on the new platform. if you've got old JSPs (.91 or lower) or use EJB 1.0 you will need to hand edit them, the upgrade will fail. Also, if you are using deprecated IBM APIs you need to figure out which ones those are and stop using them. In the end when all is said and done, you are now stuck on websphere 4.0. Its fairly stable, but a beast to administer.
Upgrading to BEA is pretty good. I haven't worked with 7.0 but 6.1 works like a champ. Its really standards compliant. As long as you've got to do some rework I would reccomend this option.
Also, you may wish to check out Cacheon [cacheon.com] I saw their demo at Java One and I was pretty impressed. I don't know if they handle your particular problem, but they definitely do automated J2EE Migration.
Re:upgrade problems (Score:2)
- WebSphere defines classloaders differently than Weblogic
- Weblogic 6.1 (non-J2EE 1.3 version, or prior to SP2) does not interpret or load EAR files properly
- WebSphere lets you get away with bad deployment descriptors if you change the classloader visibility to "Application"--the other developers has been using Together/J and it took me a few days to clean up the deployment descriptors
- And the custom realm was definitely a PITA. I have to agree with Alayne on that.
I actually had about 13 issues on the list, but most dealt specifically with the way the project was architected. Deployment and installation of the app was easier under Weblogic, simply because ant included tasks to deploy to Weblogic, and I didn't have to write several Tcl scripts like I did for WebSphere. Scripting batch files on Win2K sucks. Installing the app into a clean Weblogic installation was also easier, as I could take the Weblogic config file, load it into a DOM tree, and rewrite the file with the application settings.
(Please note that Tcl is only available in WebSphere 4.0 Advanced Edition--not the one you download for free.)
In the 3.5 installations I've seen, there aren't that many issues unles you're using some of the vendor-specific features of WebSphere. Clean those out, make sure your JSPs are 1.0+ compatible, and that you have properly configured WAR files. If you've done that, your WAR should deploy without any real issues. WS 3.5 is a real pain to keep up, though some clients still insist on using it. I would expect that you'll enjoy being able to use JDBC 2 data sources in Weblogic 6.1+.
Remember, it could be worse: you could have all your developers writing and testing against JRun, while trying to deploy to ATG or Weblogic. And be forced to do development in Windows 95. On old hardware. That crashes all the time.
HA! Be wary of BEA! (Score:1)
BEA is so kind as to put there own interpertation of standards (M$ anyone?) inside of their app servers. The custering configuration is awkward and limiting (try restarting a VM if you are serving real traffic. The listener starts before the VM is ready oops.) They don't allow a component architecture, the JMS implementation is dog slow (not to mention that it will only run on one VM).
I think it's a great product for $10K a CPU. But then again we're serving 2 million transactions a day on a pair of Tomcat servers.
Why not do a real port and go to c#?
Beware....
Oracle 9iAS anyone? (Score:1)
Re:Oracle 9iAS anyone? (Score:1)
How is this for ports. (Score:2, Funny)
1) Perl
2) ATG Dynamo
3) MS
All in about 2.5 years.
I think the site would best be served from Perl creating static web pages, sorta how Salon does it. Oh well.
Why the upgrade? (Score:2)
Watch out for J2EE Classloading problems! (Score:1)
J2EE Classloading [theserverside.com]
Will give you a good overview of the issue. Note that there are different MODES for Websphere that means it works differently for classloading between versions. I think that the Websphere 3.51 version is different to most servers in classloading.
You will get ClassDefNotFound errors in most situations that this problem is seen.
We support 8 J2EE servers with our product and we find that server configuration is the biggest headache when getting the same application working on all the servers.