modernize your-java ee-app-server-infrastructure

24
Modernize your Java EE App Server Infrastructure Srinivasan Ranganathan Head Enterprise Architecture (Aug 16, 2011)

Upload: zslmarketing

Post on 01-Nov-2014

437 views

Category:

Technology


1 download

DESCRIPTION

Modernize your Java EE App Server Infrastructure

TRANSCRIPT

Page 1: Modernize your-java ee-app-server-infrastructure

Modernize your Java EE App Server Infrastructure

Srinivasan Ranganathan Head Enterprise Architecture

(Aug 16, 2011)

Page 2: Modernize your-java ee-app-server-infrastructure

Introduction to ZSL and Practice Area

JEE Application Server Migration - Trends

Business Challenges

Technical Challenges and Best Practices

ZSL Value addition

Q & A

Agenda

Page 3: Modernize your-java ee-app-server-infrastructure

15+ years Global Technology Integrator & Business Solutions Provider, Headquartered

in Edison, NJ

State-of-the-art Technology Research & Development Centers in US, Canada and

India

4000 employees with offices in US, UK, Canada, France, Germany, Malaysia,

Singapore, Middle-East and India

Dedicated R&D Division to Offer Value Added R&D Services & Product Development

Services to the ISVs and SPs

Emerging Technologies Specialization with the leading technology vendors alignment

Pioneer in Industry Solutions Development (Insurance, Finance, E-Governance,

Consumer Electronics, Pharmaceutical & Telecom)

Award Winning & Proven Partnership Program “Get IT Together” Partnership for ISVs,

VARs, SPs and SIs

ISO and CMM Certified Solution Provider

Company Overview

Page 4: Modernize your-java ee-app-server-infrastructure

Practice Area’s Specialization

Practice

Area’s

Specialization

Based out of

Edison, NJ

and Chennai,

India

Enterprise

Modernization

IDEA Lab –

Value-added

R&D, Product

Development/

Engineering

• Legacy Application

Migration

• Application Server

Migration

• Database Migration

• OS Migration

• Application portfolio

management

Page 5: Modernize your-java ee-app-server-infrastructure

What is Application Server Migration

Migrating from One JEE Application

Server to Another JEE Application Server

Example

Websphere

Weblogic

Weblogic

Websphere

Websphere

JBOSS

Etc

Page 6: Modernize your-java ee-app-server-infrastructure

Cost - Increase in Licensing fees, support or capacity expansion

Changing Application Server landscape

Support issues

Long term strategic objectives

Architecture Changes

Acquisition

Business Drivers

1

2

3 4

5

6

Page 7: Modernize your-java ee-app-server-infrastructure

Choosing the Right Application Server

Cost – License / Operational cost. Administrative Cost

Support Stability Middleware support

Deployment features Scalability Industry trends.

Expertise available in the market

Monitoring

Page 8: Modernize your-java ee-app-server-infrastructure

Why do I Migrate. Current application is

doing the job and its Java

Disruption in business

Effort/Cost and Time taken to Migrate

Performance SLA

ROI

Integration points

Skill required for Migration

Training

Business Concerns

Page 9: Modernize your-java ee-app-server-infrastructure

Migration Requirement

Functional Requirements

Non Functional Requirements

Similar Functionality

Minimum Disruption while migration

Similar or Better Performance

Better Deployment and monitoring

Risk Mitigation. Ex - Roll back option

Cut over plan with minimum disruption to business

Page 10: Modernize your-java ee-app-server-infrastructure

Technical Planning

Effort Estimation

Note – Typical Migration also includes Java Version upgrade and an OS Upgrade or OS Migration

Page 11: Modernize your-java ee-app-server-infrastructure

Application Assessment

Understanding the current architecture/design of the existing application

Deployment Architecture

Metrics Calculation – Like third party utlities , EJB, Servlet, Webservices etc.

Inbound and outbound interfaces

Build and Deployment

Non Functional Requirements

Future Architecture/Design needs/vision

Page 12: Modernize your-java ee-app-server-infrastructure

Effort Estimation Collect Metrics based on Application assessment

Example

Identify the migration points

Calculate the Effort Estimation based on the facts

Add Buffer to the above estimate for unknown risks

• Number of

• All third party

vendor jar files

used

• Technology

mapping after

migration

Page 13: Modernize your-java ee-app-server-infrastructure

Migration

Upgrade Java

Use Tools provided by the target application server

for assisted semi automated migration

Solve Compile Time Issues ( jar files, refactoring etc )

Solve Deployment Issues

Look for class loading issues

Solve Runtime Issues

Page 14: Modernize your-java ee-app-server-infrastructure

Migration – Easy Ones

Migration – Easy Ones

XML Config Files Migration

Java Up gradation

API Mismatch/Interface

Mismatch

Compile time issues

Deploy time issues

Page 15: Modernize your-java ee-app-server-infrastructure

Migration – Medium Ones

Vendor Up gradation Application Refactoring.

That is EJB converted into Spring or POJO classes

Class Cast Exception, Class Not Found

Exceptions , Null Pointer Exception and other Runtime Exception

Interfaces to other application

Web services

Page 16: Modernize your-java ee-app-server-infrastructure

Migration – Hard Ones

Vendor Bugs – Example icefaces and weblogic

Application throwing exception in the server side but not affecting the application functionality. Ex –

Memory leaks

Application have no exception but calculations are performed wrong. That is

Functional Bug

Class Loading issues. Example – Icefaces and Websphere

Other unknowns

Example Pass by

reference/Pass by Value

Session handling

etc

DB2 JDBC Driver issue

Page 17: Modernize your-java ee-app-server-infrastructure

Make it vendor neutral. Sometime it is not possible

Have interfaces for intermodal interaction

Modular SOA design

No Inter coupling of Modules. Switch it using callback

interfaces or clean separation of concern

Do not modernize and migrate at the same time to

reduce risk

Design Suggestions

Page 18: Modernize your-java ee-app-server-infrastructure

Non Functional Testing

Fix Issues

Complete Functional Test

the whole application. No

functionality should be left out.

Do not do just smoke testing

Load Testing

Performance Testing

Test

Page 19: Modernize your-java ee-app-server-infrastructure

Maintain/enhance/ Modernize the

application

Monitor the application closely for few weeks

Train users if needed

Backup Plan

Plan your deployment and

cutoff

Deploy and Maintain

Page 20: Modernize your-java ee-app-server-infrastructure

What are your software team capabilities

Can they handle it apart from the current work

How critical is the application to your business.

How complex is your application? Is the team

that developed the application intact

What is your Budget

Can you hire consultants for a short period in

need if you face issues

Can you test the entire application including

load , stress testing etc.

Outsource or Do it yourself?

Page 21: Modernize your-java ee-app-server-infrastructure

• Lot of experience in Application Migration and building

java application for various application servers

• Off shore / near shore for cost savings with the right

customer support

• A Consistent framework that guarantees success.

• Fixed Cost/Fixed Time for the right project

• Set of tools to assist migration/ detect migration issues

• Responsive team for Customer Support during UAT,

deployment and Production

ZSL Offering

Page 22: Modernize your-java ee-app-server-infrastructure

Zylog Framework

Phase 1

Assessment Phase 2

Discovery

Phase 3

Plan

Phase 4

Migration

Phase 5

Test

Phase 6

Deployment

Phase 7

Maintenance

Application Architecture

and Design

Deployment Architecture

Frameworks and

technology used

Inbound and Outbound

Interfaces

Build and Deployment

Non Functional

Requirements

Future Vision

Ear and War file analysis

Configuration Analysis • web.xml

• Ejb.xml

• Spring xmletc

Class Loading and class

names

Code Scanning

• Class Path Review

• Java Code Review

• JSP Code Review

Target Application Server

& Capabilities

Target Deployment

Architecture

Framework Mapping

Version Upgrade

Non Functional

Requirements

Potential Migration risks

Action Plan

Automatic Migration • Config Files

• Code Fixes

Manual Migration • Config

• Code with errors

Refactor

Unit test and Fix Issues

Build Deploy Changes

Functional Testing

Integration Testing

Performance Testing

Capacity Planning

Stress, Endurance

Testing

Application Server

Configuration

Build and Deployment

Monitor

Test

Support

Support

Monitoring

Training

Enhancement

New Development

Page 23: Modernize your-java ee-app-server-infrastructure