by Emily Brand (Red Hat)

Starting research on how to migrate your applications to JBoss can be an overwhelming process. Taking the migration in small steps will help manage expectations and increase the success of the effort. The major steps for planning include creating a project management office, completing a current state analysis, and creating a diagram specifying how applications interface with each other throughout your organization. With that information in hand you are ready to create a project plan and begin the migration.

Create a Project Management Office (PMO)
Decide which project managers will be the overall leads of the project. If you are missing resources that are capable of project managing, Red Hat Consulting can help augment your PMO and train your project managers for migrations.

The PMO will handle scheduling by creating a project plan. The project plan should originally be a high level document specifying the list of applications and the project start and end date. Managing and mitigating risks is the number one goal of the project manager. The PMO will also be in charge of holding individuals accountable for sticking to the project plan after achieving buy-in as well as coordinating communication throughout all of the necessary parties including infrastructure, database, and application teams.

Current State Analysis Using JBoss Cake
After the list of applications is compiled as mentioned above, collect the locations of the source code and deployment artifacts for the stated applications. Collection of the locations of the source code is necessary to ensure a quick start to the migration process once the project kicks off. Place all of this information in a spreadsheet for future reference. Collection of the deployment artifacts (EARs, WARs, JARs) is necessary to run a Red Hat Consulting product called JBoss Cake.

JBoss Cake is only available through Red Hat Consulting at the moment, though in the future it will be offered as a Software as a Service (SaaS) through the Red Hat Customer Portal.

Once all of the applications are run through JBoss Cake, it will output:
•A level of effort number in hours (LOE) to estimate the migration effort
•The frameworks used within the application
•Hints on how to migrate the code

This information can then be used in the project plan for the migration effort.

Diagram of Application Communication
Once all of the frameworks for the applications are identified including EJB Remoting, Web Services, and Messaging, it is necessary to create a comprehensive system diagram of all the applications which will migrate to JBoss. The purpose of this diagram is to show which applications interface with each other and how. The system diagram should also include the current messaging queues, databases and other infrastructure that would need to be accounted for as well. Double checking the JBoss Cake output to ensure no communication channels were missed is a recommended step after the diagram is completed.

Depending on the amount of applications migrating, a complete diagram may not be feasible, but filling in as much of the blanks as possible will help improve the project plan. The benefit of creating the system diagram is the servers, queues and databases can be set up in parallel to the migration effort so by the time the testing and the production push occur, the infrastructure is already configured to allow for a seamless transition.

It is highly recommended to migrate interfacing applications in parallel with the same deployment date since the communication framework may need to be upgraded or changed completely. This will reduce the headache of trying to support deprecated interfacing technologies since you can strip them out all at once.

Create a Project Plan and Begin the Migration
Use a project planning tool to input the information previously gathered, such as LOE's and which applications should push to production in parallel. After the migration dates and testing dates are finalized, check with all parties involved that the developers/QA have the bandwidth to work on the migration during the specified timeframe and that all individuals necessary will be available on the production push date.

Pitfalls
Complete the following to ensure your organization avoids the common pitfalls:
•Give padding in all migration and testing time
•Give time for documentation after the fact
•Ensure unit, regression, integration and load & performance testing are all completed
oIf any of these steps cannot be completed, especially for very
large, complicated applications, allow for a fall back strategy in
case the production push does not go as planned
•Ensure there's enough memory on the server hosting the JBoss instance (should be caught in load & performance testing, but give padding either way)
•Ensure all resources have enough time allocated to the work needed for the migration

To get more information or to receive access to Cake through Red Hat Consulting, contact us: https://www.redhat.com/consulting/

Follow JBoss Cake on Twitter: @jbosscake

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.