首页 > 老文章 > 正文

Meet the Experts: Wayne Beaton on WebSphere Application Server migration

Meet the Experts: Wayne Beaton on WebSphere Application Server migration

Meet the Experts: Wayne Beaton on WebSphere Application Server migration
发布时间:2006-03-10 03:13        来源:        作者:

Related information
About the author
Rate this article

Wayne Beaton (
Software Developer, IBM Software Services for WebSphere
3 March 2004

This question and answer article features Wayne Beaton, WebSphere migration expert, who answers top questions about migrating to WebSphere Application Server 5.0 or 5.1 from previous versions and from competitive products like BEA WebLogic Server, iPlanet Server, Tomcat, and JBoss.

IBM? WebSphere? Application Server is a Java-based Web application server, built on open standards, that helps you deploy and manage applications ranging from simple Web sites to powerful e-business solutions. IBM WebSphere Studio Application Developer is an integrated development environment for building, testing, and deploying J2EE and Web Services applications. For more information, see developerWorks WebSphere Application Server zone and developerWorks WebSphere Studio zone.

Question: Why we should go for IBM WebSphere, and how is it more efficient compared to Oracle? 9i AS, WebLogic?, or iPlanet??

Answer: This is a hard question for me to answer objectively for obvious reasons. I think you should go for IBM WebSphere because it is a good solid product backed by a good solid company that is going to be around forever. The second part of your question is even harder to answer. I assume by your use of the word "efficient", you are concerned with performance. If you want actual performance numbers, then I recommend that you use your favorite Internet search engine to find benchmark results.You will find that all of them show that WebSphere Application Server performs pretty well compared to the competitors you have listed. I will caution you, however, to be careful not to make your decision entirely based on performance. There are many reasons to select a particular application server, including performance, robustness, scalability, longevity, and faith in the vendor.

Your best bet is to go to an independent research organization, like Gartner, and pay for one of their studies that compares the various application servers. Look for an unbiased organization that is not sponsored by the vendors you are considering. You might also consider surveying some of the UseNet news groups ( for the various products to see issues people are having with the products and how they are being resolved.

If you are concerned about performance, I recommend the following links:

Question: Is there any white paper or Redbook available which talks about step by step migration from competitors products to WebSphere Application Server 5.x

Answer: Take a look at the following Redbooks or Redpapers:

The first Redbook provides a lot of insight into the migration process. It is written with migration from previous versions of WebSphere Application Server in mind, but most of the concepts presented are independent of the product you are migrating from. The other resources discuss migration from BEA? WebLogic? Server specifically, but many of the concepts also apply to other platforms. The developerWorks Web site has articles that discuss specific migration activities, including migration of J2EE resources and competitor's proprietary APIs to WebSphere Application Server. If you do not find an article that discusses exactly what you're trying to do, you'll likely find something that's close.

Unfortunately, the real answer is that there is no single step-by-step migration plan that works for everyone. The steps that you take when migrating from a competitor's product depends on the kinds of things that you are doing with the competitor's product. However, in broad terms, the most successful migration tends to involve the following activities:

  • Assessment of the existing environment to understand the particular migration challenges to develop a plan and estimate for the migration to WebSphere Application Server 5.x.
  • Training for the development staff on the use of WebSphere Studio Application Developer, WebSphere Application Server, and (if necessary) Java 2 Enterprise Edition (J2EE).
  • Training for the operations staff to install, configure, and maintain WebSphere Application Server; design, installation, and configuration of a new development environment, possibly including a new integrated development environment (IDE), migration of existing development test environments, and modification of existing source code hierarchies, build scripts, and deployment practices.
  • Developing, testing, and implementing a "rolling" migration plan for the pre-production and production environments (a rolling migration keeps the system active and responsive while it is being migrated).

IBM Software Services for WebSphere offers services to help you with your migration. For more information, see their Web site.

Question: I would like to know how to deselect the checkbox that force WSAD 5.1 to start always on the same workspace. How can I go about to use different workspace if I select the checkbox to use the same workspace every time WASD 5.1 is loaded?

Answer: Open up a command prompt and navigate to the WebSphere Studio installation directory. Execute the startup command for WebSphere Studio (wsappdev.exe) with the -setworkspace option.

For more information on this and additional configuration options for WebSphere Studio, open the help system by selecting Help -> Help Contents from the menu bar, and navigate to Getting Started -> Workbench basics.

Question: When I start my server1 (default server), I am getting the error message: "Exception caught during transaction service recovery! javax.transaction.SystemException: Inconsistent Transaction and XA Resource recovery logs." What could be the reason?

Answer: In general, these issues should be worked through the support system. However, what probably happened is that WebSphere Application Server was killed in the middle of one or more transactions. Now that the application server is restarting, it is trying to recover those transactions. The short term answer is to delete or rename the tranlog* files in the tranlog directory. This makes WebSphere Application Server stop trying to recover the transactions.

A fix has been created for this issue on WebSphere Application Server 5.1. Please see Cumulative Fix Pack 1, or Individual Fix.

Question: I've been working a lot with WAS 3.5 and it was not a big deal to rename machine with that. Now with WAS 5.0, I'm wondering if there is a good way or script to rename nodename (not just IP). Some people suggest recursively substitute string in <WAS_HOME>/config, but I'm not sure if that is the official supported way? I try to avoid reinstalling WAS and applications.

Answer: Sorry, changing the host name, node name, or server name after they are created is not supported for WebSphere Application Server 5.0.

Question: I get the following error message whenever login to LMS as a user listed in the LDAP (ActiveDirectory, IIS, WIN 2K SP4, Oracle 9i, WAS 5.1 trial). (submitted by Joe)

Learning Management System Application Error 2004-02-12 11:48:17 com.lotus.elearn.user.UserSystemBusinessException: LS_USR2008: Unable to find authenticated user due to LdapExceptionLS_USR2008

Answer: I did a little research and discovered that a very similar problem is currently being worked through our support system. Unfortunately, it does not appear to be resolved at this point so I don't have an answer for you. Your best bet is to register a PMR (Problem Management Record) through your IBM support channel.

Question: In WebSphere 3.5, we used the class to find names in our IBM LDAP server. When we moved to WebSphere Express 5.0.2, this class was no longer available. What should we be using that has the same functionality?

Answer: Try com.sun.jndi.ldap.LdapCtxFactory.

Question: We're porting an app over from JBoss, and I have noticed that WAS is a lot stricter in adhering to J2EE standards. That's not a bad thing, but the problem I'm having is how to configure WAS to tell my app to use my custom jaas login module. In JBoss, it was as simple as altering two xml files, one to turn on security and one to point just our app to our custom module. We need to be able to run two or more apps in WebSphere each with their own jaas module, as roles are also set with this. (submitted by David)

Answer: I have to admit that I'm no expert on JAAS. To be honest, most of the organizations that I work with on migration tend to have built their own custom security frameworks (many of the applications that we migrate are quite old and predate Java 2 and J2EE security). As part of a later development stag, after the migration has completed, I recommend that these organizations consider adopting the provided security infrastructure.

My colleague, Saravana Chandran, pointed me to the relevant page in the WebSphere Application Server 5.1 InfoCenter, Configuring Java Authentication and Authorization Service login.

Question: I have Websphere Application Server 4.0 in horizontal cluster sharing a single admin repository DB. But it gives a very frequent deadlocks in the repository DB. How to solve this problem?

Answer: Your best bet is to upgrade to WebSphere Application Server 5.1. Starting with version 5.0, the administration database is now gone and is replaced by XML file-based configuration. You should start thinking about migration soon anyway as the end of service date for WebSphere Application Server 4.0 is quickly approaching (September 2004). Alternatively, this sounds like a bug that you probably should work through the support system.

Question: We have developed our application in WSAD 4.0.3 and deployment in WAS 4.0.7 was successful. Now as our client wants to migrate to WAS 5, we have exported our EJB project from WSAD 4.0.3 and imported into WSAD 5.0. When we try to deploy the EJB project, we get deployment errors for CMPs, but our session beans deployment was successful.

Answer: You should be able to run the J2EE 1.2 application on WebSphere Application Server 5.1 without modification. The one recommendation that I've heard is that you should recompile your code on JDK 1.4.1; besides that, everything else should just work. I'm assuming that you've used the J2EE Migration Wizard to migrate your CMP entity beans. The J2EE Migration Wizard upgrades your entity beans to EJB 2.0, but it can only do part of the conversion. It cannot, for example, migrate select statements for your EJB 1.1 finder queries into EJB-QL. Also, the wizard does a good job on the beans themselves, but does not update any client code.

Without more specific information about what you've done and what errors you're receiving, it's difficult to provide a specific answer. I recommend posting a more complete description of what you've done and the errors you've received to the newsgroup on and I'll try to answer it there.

Question: I got the following exception on one of the computers when I started the Web server from WSAD and tried to connect to DB2 server. The DataSource implementation class "" could not be found. I did configure DB2 client access and data source for WSAD. I also did a reinstall of 5.0 and 5.1 version of WSAD and got the same exception. However, I did not get this exception on other computers.

Answer: Did you tell the WebSphere Application Server unit test environment how to find DB2? You need to open the configuration for your test application server instance and switch to the Variables page. Find the Defined variables (by default, WebSphere Studio will show you the Node Settings, which is fine for testing purposes) section and provide a value for the DB2_JDBC_DRIVER_PATH variable. This value should point to the file installed by DB2.

If you look at the data source settings, you'll see that the DB2 driver uses this variable in its classpath. If you don't provide a value for this variable, WebSphere Application Server won't be able to actually find DB2 (the drivers are not included with WebSphere Application Server).

With some versions of DB2, you have to explicitly put it into "JDBC2" mode. The DB2 documentation can help you. Try searching for "usejdbc2".

Question: I have downloaded WebSphere Application Server 6.0, and installed it on my PC. I have a J2EE application, with EJB and Web components. It runs fine on WAS 5.0, but when I deployed the same application on WAS 6.0, I get What am I missing? Is there any security issue?(submitted by Ali S)

Answer: Sorry, it's not possible to answer this question without more information. A stack trace, for example, would help to narrow down exactly where the error is occuring.

Related information

About Meet the Experts
Meet the Experts is a monthly feature on the developerWorks WebSphere Web site. We give you access to the best minds in IBM WebSphere, product experts and executives, who are waiting to answer your questions. You submit the questions, and we post answers to the most popular questions.

About the author
Photo: Wayne BeatonWayne Beaton is the global competency leader for migration for IBM Software Services for WebSphere. He helps some of IBM's largest customers migrate their applications.