WebSphere® Services
WebLogic® Services
  Application Development
  Administration Services
  Business and Application Integration
  E Business Solutions

Contact Us

 

 

  OVERVIEW OF THE ASSESSMENT PROCESS

The first step in the migration of applications to the WebSphere platform is to perform a
migration assessment. The WebSphere Migration Assessment will document all work to be
performed in converting the target applications to the WebSphere platform. This will allow
us to create a detailed project plan for performing the conversions.

The Noospherics team has extensive experience in helping clients migrate applications to
WebSphere. Our process for performing the migration assessment has been refined and
encapsulated into a Migration Assessment Workbook.

An enterprise architect will perform the assessment by answering the questions contained in
the workbook and thereby documenting the applications to be migrated and any collateral
information that may be required to plan the migration in detail.
The output of the assessment is a Migration Assessment Report which documents all work
required to migrate the target applications to WebSphere and a detailed project plan for carrying
out the full migration of all target applications.

Step 1: Define Migration Requirements
The enterprise architect will document in detail each application to be migrated. This includes
documenting the current hardware and software environment for each application and the
external interfaces which must be maintained to/from each application.

We will also define any required training for personnel to support the migrated application on
the WebSphere platform.

Step 2: Identify Unused Code and Code To Be Re-Factored
We will minimize the amount of code to be migrated, and we will identify and remove any
code that is not currently being used. We also want to identify code that needs to be re-factored
(e.g. code that includes both business logic and display logic will be re-factored based
on the Struts framework).

Step 3: Identify Required API Changes
The bulk of the work in migrating to WebSphere is due to differences in Java features and
APIs that the application servers support. As part of the assessment, the project delivery team
will review the source code to be migrated and identify what code modifications need to be
made related to the differences in feature support. Below is a summary of the areas we will
investigate to identify required changes:

Feature/API Description of Assessment Work
  Logging
Document required logging functionality. Assess alternatives for
performing logging. Recommend a solution.
 
 
 Struts
We want to decouple business logic from presentation and will use the
MVC design pattern as implemented in the Struts framework to do so.
Sketch out how Struts will be used to deliver the target applications. For
each application, identify JSPs and ActionMappings of URLs to actions for each page of each application.
 
 
 Session Facades
Determine whether time permits adding a layer of Session Facade objects to create loose coupling between the Presentation Tier and the Application or Business Services Tier.
  EJBs
Document EJBs contained in the application. Identify lifecycle changes
required due to different levels of EJB support. Document required changes to EJB deployment descriptors.
 
 Casting vs. Narrow Look for instances where casting was used on home and remote interfaces to EJBs. Replace cast with use of .narrow, which makes the EJB client code portable between J2EE application servers.
   
 Pages and Servlets
Convert to JSPs, Servlets, and Struts. Document Servlets contained in the
application and identify code modifications required due to Servlet API
changes. Document required changes to Servlet deployment descriptors.
   
 Session Management
Determine what information will be needed in the Session object during
each user session. Determine whether session affinity or session persistence will be required.
   
 UserProfile
Determine whether the Servlet User Profile API is used in the
application and what changes are required.
 
 JSP
Document JSPs contained in the application and identify code
modifications required due to Tag Library usage changes. Document
required changes to JSP deployment descriptors.
 
 JNDI
Document required changes to JNDI names.
 
 JDBC
Identify areas where JDBC calls are made in application code. Determine
required changes for equivalent WebSphere driver. Document required
changes in DataSource to WebSphere. Determine whether changes are
required due to API changes.
   
 Security
Document use of Security APIs and changes required to work in WebSphere
4.0/5.0
 Transactions Document any required mapping of Transaction Management Extensions in use to equivalent WebSphere transaction declarations.
 
 
 XML
Document use of XML APIs and what changes are required to work in
WebSphere 4.0.cations. For each application, identify JSPs and
ActionMappings of URLs to actions for each page of each application.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Assessment Step 4: Resolve Architecture and Standards Issues
The next step in the assessment is to resolve any architecture differences/issues that must be
agreed on prior to beginning the actual migration.

Assessment Step 5: Identify Configuration Changes Required
The next step in the assessment process is to perform a detailed examination of what work
must be performed to configure the target application(s) in a WebSphere environment. We will
identify what prerequisite software (e.g. HTTP Server or database) must be installed prior to
installing WebSphere and configuring it for the target application(s).

We document what must be done in the WebSphere administrative database to configure the
target application(s). We identify what security configuration must be done to equate to the
security settings. We also identify any required configuration changes to the JDBC Providers
and Datasource names.

We then assess the cluster configuration environment and determine what model/clone configuration
must be done to provide an equivalent clustered WebSphere environment. We also
check the web server plug-in configuration to determine what changes are required.

Step 6: Identify Administrative Script Changes
There may be existing command scripts which were used to perform recurring tasks.
WebSphere Administrators use two utilities to help automate and simplify the administration
of complex WebSphere environments – XMLConfig and WSCP. Both utilities provide a scripting
language for configuring and administering the WebSphere domain. In a typical corporate
environment, scripts have been developed for these tools to automate some of the routine
tasks required to administer the environment. During the assessment, we will identify what
scripts exist and what work is necessary to migrate them to the WebSphere environment.

Step 7: High-Level Sketch of Upgrade Solution
The Assessment Report will provide a high-level sketch of the recommended Solution
Architecture for converting the target applications to WebSphere. The solution sketch will
show the hardware and software platforms, the upgraded application, and any external interfaces
which must be maintained. We will also document any major risks involved in the conversion to
WebSphere and provide a plan for mitigating the risks as early as possible during the conversion
process.

Step 8: Develop Version Upgrade Project Plan
The final section of the Assessment Report will contain a detailed project plan for executing
the WebSphere conversion for all required applications. This will identify all tasks required to
convert the target application(s) and deliver them to a production-level WebSphere environment.
It will include tasks for tackling the risk factors identified during the assessment.

The project plan will adhere to a modified version of the Rational Unified Process for executing
the project. It will identify a short Inception phase where the requirements to make the
WebSphere conversion successful will be clearly identified and a detailed Test Plan will be
developed. It will contain a short Elaboration Phase where any design work required to convert
the application(s) to WebSphere will be performed.

The bulk of the work will be performed in the Construction Phase – making required configuration
and coding changes to get the application(s) working in a WebSphere environment.
There will also be a Transition Phase where QA testing is performed and the application(s) are
prepared for production deployment.

Elaboration Phase – Resolving Design Issues
Since this is a conversion of existing code, there will be little new design work performed.
Any unresolved design issues will be addressed in the Elaboration Phase and we will proceed
immediately to the Construction Phase for all applications and vertical slices of applications
as soon as possible.

Construction Phase – Code Conversion
During the Construction Phase, we will perform the code conversion for each application
based on vertical slices of the application. Each vertical slide roughly corresponds to a use
case. We will identify the full set of vertical slices which together comprise the complete
application. We will begin the migration focused on the vertical slice which is most difficult
or contains the most risk factors. When that vertical slice is completely migrated and working properly
on WebSphere, we will move to the next most difficult vertical slice and will continue
until the entire application is converted.

During the Construction Phase, the project delivery team will develop Ant build scripts to automatically
build and package the full applications to be converted to the WebSphere platform.
Application Server Upgrade and Configuration.

During the Construction Phase, we will set up three WebSphere environments – System
Integration Testing, QA Testing, and Staging environments. The first two environments will
be set up where the code migration work is performed. The staging system will be on existing
hardware at the client site.

The System Integration Testing environment will be used to perform integration testing during
the migration. We will be migrating code in piecemeal to this environment to ensure that it
works as part of the integrated application.
The QA Testing environment will be a clean environment where we run applications that have
been completely migrated and built from scratch via Ant build script.
The Staging environment will be considered the “Production” environment for this migration
effort. We will deploy the QA tested code to it and will perform factory acceptance tests on
applications as they are delivered to this environment.

For all three environments, we will install the WebSphere Application Server, after first
installing prerequisite software packages (e.g. http server, dbms for admin database, etc). We
will convert the configuration file to the equivalent entries in the WebSphere administrative
database. We will also implement any required web server plug-in changes.

We will make any required changes to the WebSphere Application Server’s security configuration.
Then we modify all JDBC Provider and DataSource names as necessary.

Next, we clone the initial configuration of the WebSphere Application Server in order to configure
a cluster of Application Servers to support the target applications. We also convert any
scripts that were created to automate admin tasks in the applications environment to the
equivalent scripts in the WebSphere environment (this may mean creating new XMLConfig or
WSCP scripts).

Application Code Changes
At this point, the configuration of the WebSphere Application Server and associated prerequisite
software is complete and we then focus our attention on coding changes to the target
application(s). We search for JNDI look-ups and change the target names as required. We then
examine the views of the applications and determine what equivalent Struts JSPs should be
developed to produce equivalent views. We then create deployment descriptors for deploying
all JSPs to WebSphere.

Next we focus on Servlets and make any required API coding changes and then modify the
Servlet deployment descriptors as required. We then make any required changes to
UserProfile API calls and then make changes required by Session Management API changes.
Then we move on to Business Objects used in the applications and convert them. Then we
work on EJBs, first making any necessary changes to EJB lifecycle API calls and then adjusting
the EJB deployment descriptors as required.

The next step is to review all code repairing as required due to changes in the corresponding
J2EE APIs:
• JDBC – changes to WebSphere equivalent.
• Security APIs
• Transaction Management – migrate use of transaction management extensions
to WebSphere equivalent.
• XML APIs

When all coding changes are completed, we perform rigorous integration testing to ensure that
the application works as it did prior to the upgrade.

Unit, System Integration, and QA Testing
We will perform continual and extensive testing throughout the migration process. During the
Construction Phase, code will be continually unit-tested as code is migrated. For model,
domain object, and EJB code, we will use unit test harnesses – JUnit and Cactus. As each vertical
slice of each application is migrated, we will perform system integration testing to verify
that the application functions as required.

When integration testing is complete, we move to the Transition Phase of the project, where
we perform extensive QA testing and performance testing. Performance testing will include
simulating 5 concurrent users for 30 minutes.

Transition Phase – Deployment To Production
As we finish System Integration Testing on each application to be migrated, we will turn it
over to QA testing in the client staging environment. We then define production deployment
procedures and deliver the application(s) to the production environment. We also develop a
maintenance document to aid customer personnel in making maintenance changes in the
future.