ibm rational software development conference 2008 · pdf fileca endevor. ibm rational software...

17
EM15 IBM Rational Software Development Conference IBM Rational Software Development Conference 2008 © 2007 IBM Corporation ® Enterprise Modernization in ICBC (Industrial and Commercial Bank of China) Best Practice of VAGen EGL Migration and ClearCase Integration Jim Li SWITA for ICBC, IBM SWG GCG [email protected] Paul Pilotto CTO, ASIST [email protected] IBM Rational Software Development Conference 2008 EM15 2 Agenda ICBC Overview and As-Is Challenges VAGen to EGL Migration To-Be Architecture and EGL Lifecycle Management After Migration

Upload: truongthu

Post on 19-Feb-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

EM15

IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© 2007 IBM Corporation

®

Enterprise Modernization in ICBC (Industrial and Commercial Bank of China) Best Practice of VAGen EGL Migration and ClearCase IntegrationJim LiSWITA for ICBC, IBM SWG [email protected]

Paul PilottoCTO, [email protected]

IBM Rational Software Development Conference 2008

EM15 2

Agenda� ICBC Overview and As-Is Challenges

� VAGen to EGL Migration

� To-Be Architecture and EGL Lifecycle Management After Migration

IBM Rational Software Development Conference 2008

EM15 3

ICBC Overview� The largest retail bank in China and the largest bank worldwide in terms of assets.

Established in 1984. IPO(HK & SH, China) on Oct.27, 2006.�Total Revenue

� $36.8 Billion, 2007 (Ranking #26 in WW banks)�2.5M corporation accounts; 180M retail customers (about 500M accounts). �346,094 employees; branch offices 16,807 local, 98 oversea; - by Jun.2007

� The leading IT infrastructure in China�The first bank in China consolidating all core transactions into enterprise Data Center. 38

provincial Data Centers consolidated into two data centers located in Beijing and Shanghai from 1999 to 2002.

�Merged two production data centers into one data center located in Shanghai in Oct. 2004. The largest production data center and the largest Disaster Recovery center in China. The largest transaction volume worldwide in one production center.

� Use VAGen to develop core banking CICS programs since 1996�500,000 VAGen parts, 20,000 programs�3 distributed development centers, 6 departments, 450 developers

IBM Rational Software Development Conference 2008

EM15 4

As Is Architecture

VAGen COBOL Code Generation

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

VAGen Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

CA Endevor

IBM Rational Software Development Conference 2008

EM15 5

VAGen Code

CA EndevorVAGen COBOL Code Generation

VAGen assets in one package has become bigger and bigger with 10 years’ accumulation. E.g. there are more than 70,000 parts in one package. Serious performance issues with the developers growing.

As Is ChallengesVAGen Asset Organization

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

IBM Rational Software Development Conference 2008

EM15 6

VAGen Code

CA Endevor

As Is ChallengesCommon Code Maintenance

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

VAGenEach department has their own VAGen repository, hard to share assets across departments. The common modules are not well maintained, have to be synchronized manually.

VAGen COBOL Code Generation

IBM Rational Software Development Conference 2008

EM15 7

VAGen Code

CA Endevor

As Is ChallengesNo Unified Build Process

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

The VAGen code is managed with ENVY, while the generated COBOL is managed with CA Endevor, synchronizing the 4GL VAGen source code with the generated COBOL code has being a problem.

VAGen COBOL Code Generation

IBM Rational Software Development Conference 2008

EM15 8

VAGen Code

CA Endevor

As Is ChallengesNo Impact Analysis

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

No automatic impact analysis for the incremental build, the program list need to be rebuilt is submitted by developers manually.

VAGen COBOL Code Generation

IBM Rational Software Development Conference 2008

EM15 9

VAGen Code

CA Endevor

As Is ChallengesHard to support parallel development for multiple releases

COBOL BatchAnd other mainframe

programs

ENVY Repository 1

ENVY Repository 2

Common Code

Common Code

ENVY Repository 3

ENVY Repository 4

Common Code

Common Code

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

Changes on multiple releases have to be synchronized manually, error prone

VAGen COBOL Code Generation

IBM Rational Software Development Conference 2008

EM15 10

What were ICBC’s drivers to migrate� When looking at the “as is challenges” of ICBC’s development

environment� Code divided over 4 different repositories at 3 different locations

� Huge number of VAGen parts

� Redundancy of sources

� No unified Build Process, Build artifacts divided into 2 different platforms and tooling

� No impact analysis = big risks when doing changes

� No Parallel development support

� Extra driver was the EGL runtime being CICS threadsafe� Better performance and more safe when running generated Backend Transactions

� Thanks to this migration to EGL and Rational ClearCase� Consolidation of sources and common code

� Unified Build Process

� Extra functionality in :

– Parallel development

– Impact analysis

� Safer and better runtime performance

IBM Rational Software Development Conference 2008

EM15 11

Agenda� ICBC Overview and As-Is Challenges

� VAGen to EGL Migration

� To-Be Architecture and EGL Lifecycle Management After Migration

IBM Rational Software Development Conference 2008

EM15 12

VAGen assets in one package has become bigger and bigger with 10 years’accumulation. E.g. there are more than 70,000 parts in one package. Serious performance issues with the developers growing.

VAGen to EGL Migration planning

� Mass VAGen Migration Procedure� ASIST hacks IBM Migration Tool code to split “Stage 1” in 3 logical pieces

– 1 = Analyse the current VAGen Code– 2 = Reorganize (manually) the VAGen code based on 1

– 3 = feed the Migration Database

� Conclusion : too much of a manual process, needs lots of VAJava skills

� ASIST proposes to ICBC to create a “Stage 0”– Préreqs :

– Parallel execution by X resources of ICBC– Reorganization of Common Code and cross departments (Public and Private Commons)

– Reorganization of Common Code by alphabet– Reorganization by Department/Project

Oct 2006

Nov 2006

Dec 2006

Jan 2007

Feb 2007

Mar 2007

Apr 2007

May 2007

June 2007

July 2007

Aug 2007

Sep 2007

Oct 2007

Nov 2007

Dec 2007

Jan 2008

Feb 2008

Mar 2007

Apr 2008

Migration Planning

IBM Rational Software Development Conference 2008

EM15 13

ASIST Stage 0 Migration Tool

�Development of ASIST Stage 0 Migration Tool� Specifically to ICBC’s préreqs

� Préreqs :– Parallel execution by X resources of ICBC

– Reorganization of Common Code and cross departments (Public and Private Commons)

– Reorganization of Common Code by alphabet

– Reorganization by Department/Project

� Development in VAJava� Stage 0 – Part 1 = Add current Workspace to DB

� Stage 0 – Part 2 = Reorganize the Workspace in relation to the above Préreqs

� Stage 0 – Part 3 = Organize the Unused VAGen Parts

Oct 2006

Nov 2006

Dec 2006

Jan 2007

Feb 2007

Mar 2007

Apr 2007

May 2007

June 2007

July 2007

Aug 2007

Sep 2007

Oct 2007

Nov 2007

Dec 2007

Jan 2008

Feb 2008

Mar 2007

Apr 2008

Development ASIST Stage 0

IBM Rational Software Development Conference 2008

EM15 14

ASIST Stage 0 Migration Tool

� Implementation, test and training ASIST Stage 0 Migration Tool

� Implementation & test ASIST Stage 0� Installation @ ICBC

� Unit Testing on ICBC Code

� Training & dry run� Training of lead developers of 7 Departments

� Run and assist lead developers with the current code

Oct 2006

Nov 2006

Dec 2006

Jan 2007

Feb 2007

Mar 2007

Apr 2007

May 2007

June 2007

July 2007

Aug 2007

Sep 2007

Oct 2007

Nov 2007

Dec 2007

Jan 2008

Feb 2008

Mar 2007

Apr 2008

Implementation/Test/Training

IBM Rational Software Development Conference 2008

EM15 15

Detailed checklist for the Migration

IBM Rational Software Development Conference 2008

EM15 16

Final Migration

� Final Migration � ASIST gives support (2 peoples)

� 6 departments

� 3 weekends� Friday evening : Started with ASIST Stage 0

� Saturday : run IBM Stage 1 – 2 – 3

� Sunday : Import into ClearCase

� Average of 5 developers per department

Oct 2006

Nov 2006

Dec 2006

Jan 2007

Feb 2007

Mar 2007

Apr 2007

May 2007

June 2007

July 2007

Aug 2007

Sep 2007

Oct 2007

Nov 2007

Dec 2007

Jan 2008

Feb 2008

Mar 2007

Apr 2008

Final Migration

IBM Rational Software Development Conference 2008

EM15 17

Agenda� ICBC Overview and As-Is Challenges

� VAGen to EGL Migration

� To-Be Architecture and EGL Lifecycle Management After Migration

IBM Rational Software Development Conference 2008

EM15 18

Some Considerations

� Focus on the VAGen migration itself, keep the current Endevor based build process with little changes.

� Re-organize the migrated code and project structure during the migration, easy to maintain and reuse.�Based on the application architect the EGL code will be organized into data definition layer,

data access layer and business logic layer.

�Based on the reuse scope the EGL code will be organized into SDC (Software Development Center) common code, cross-application common code and application private code.

� Implement the SCM process in phases, EGL development team first, then the other distributed development team

IBM Rational Software Development Conference 2008

EM15 19

VAGen COBOL Code Generation

To Be Architecture After Migration

COBOL BatchAnd other mainframe

programs

EGL Code under ClearCase

DEVP

DEV

TEST

ST REL

BETA1

MIR1

PROD

PRODIT

CA Endevor

Department 1# Cross-App

Common Code

SDCCommon Code

Department 2# Cross-App

Common Code

Department 3# Cross-App

Common Code

Department 4# Cross-App

Common Code

Department 5# Cross-App

Common Code

Department 1# App Code

Department 2# App Code

Department 3# App Code

Department 4# App Code

Department 5# App Code

DEV1

DEV1

IBM Rational Software Development Conference 2008

EM15 20

EGL Project & CC UCM Component Organization Structure

Department Cross-App

Common Code

SDCCommon Code

Migrated EGL Code

Department App Code

Department #1 Common Code EGL ProjectDepartment #2 Common Code EGL Project

::Department #N Common Code EGL Project

SDC Common Code EGL Project

EGL Project Organization Structure

App #1 EGL ProjectApp #2 EGL Project::App #M EGL Project

SDC Common Code Component

ClearCase UCM Component

App #1 ComponentApp #2 Component::App #M Component

Department #1 Common Code ComponentDepartment #2 Common Code Component

::Department #N Common Code Component

IBM Rational Software Development Conference 2008

EM15 21

ClearCase UCM Project/Stream OrganizationPVOB Root Folder

System #1 Folder

App A Folder

App A 2007 Mainline Project

App A 2007 Feb Release Project

App B Folder

App B 2007 Mainline Project

App B 2007 May Release Project

System #2 Folder

App A 2007 May Release Project

:

Dev Stream 1

Dev Stream N

:

Integration Stream

Folder

Legend

Project

Stream

Bug Fix Stream

IBM Rational Software Development Conference 2008

EM15 22

Make Baseline

Developer

Dev Stream 1ClearCase Dev View

Dev Stream 2ClearCase Dev View

R&D Support

ClearCase Build View

Get Baseline

Application CM Admin

Integration StreamClearCase Int View

BETA1

MIR1

PROD

PROD

DEVP

DEV IT

TEST

ST REL

CA EndevorDEV1

DEV1

EGL & ClearCase Unified Build Process (One Release)

Code Generation& DeveloperUnit Test EGL Impact Analysis

EGL Unified Code Generation & Build

1

2

6

3 5

� Developers make changes in their own development view.

� Developers self-test.

� Developers deliver the changes to the integration stream.

� The application CM Admin makes baseline and recommend it.

� R&D support staff get the recommended baseline and launch the unified build, add generated COBOL and Load Modules into Endevor.

� Staging into existing Endevorprocess.

EGL Asset under ClearCase

1

2

3

5

44

6

IBM Rational Software Development Conference 2008

EM15 23

Dev Stream 1ClearCase Dev View

Developer

Dev Stream 2ClearCase Dev View

Dev Stream 1ClearCase Dev View

Developer Application CM Admin

Integration StreamClearCase Int View

ClearCase UCM Process (Multiple Release)

1

2

3

� Developers make changes in their own development view.

� Developers self-test, deliver changes to the integration stream, App CM Admin make baseline.

� App CM Admin deliver the verified baseline to the mainline project as the root baseline of the next release.

� App CM Admin create a new Monthly/Quarterly project based on the root baseline delivered from last release.

� App CM Admin create the development streams start from the rebased baseline.

� Repeat the above process for the latter releases.

1

2

Application CM Admin

Mainline Project Integration StreamClearCase Int View

4

1st Monthly/Quarterly Release

Dev Stream 2ClearCase Dev View

Application CM Admin

Integration StreamClearCase Int View

5

4

5

3

2nd Monthly/Quarterly Release

66

Make Baseline

IBM Rational Software Development Conference 2008

EM15 24

EGL Impact Analysis� Create the call matrix between EGL Parts,

which has been controlled in a Oracle based EGL reference system

� Support full and incremental analysis, the incremental analysis can be based on the differences between 2 CC baselines

� Analysis scope and role�The whole repository, by SDC CM Admin�Departmental repository, by Departmental

CM Admin�Application repository, by App CM Admin

� The output of the analysis result will be exported to ICBC’s homemade application & data relationship management system

Department 1# Cross-App

Common Code

SDCCommon Code

Department 2# Cross-App

Common Code

Department 3# Cross-App

Common Code

Department 4# Cross-App

Common Code

Department 5# Cross-App

Common Code

Department 1# App Code

Department 2# App Code

Department 3# App Code

Department 4# App Code

Department 5# App Code

Called Parts/ Calling Parts

Data

Item

Record Function Program

Data Item X Y X X

Record X X Y Y

Function X X Y Y

Program X X 0 X

X: No calling relationship

Y: With calling relationship

0: Dynamic call

IBM Rational Software Development Conference 2008

EM15 25

Best Practices about EGL and ClearCase Integration

� Isolate EGL projects into separate ClearCase VOBs or folders�Application architecture and/or design patterns

�Team roles and security requirement

�Access performance

� Only version control necessary files�EGL source code (.egl), EGL build file (.eglbld) and other text files

� Use a separate Rational Application Developer workspace for eachClearCase view

� Create a standardized development environment

IBM Rational Software Development Conference 2008

EM15 26

Best Practices about EGL Rollout� Build up a core SWAT (VAGen migration and EGL) team

� Lead developers from VAGen development departments

� 3 levels (organization/department/project) of ClearCase Admin

� Lead system engineers (COBOL runtime administration)

� Endevor administrators

� EGL Training/Certificate/Test� Train the trainer program (3-4 runs)

� Training for developers (run by each department)

� Around 200 questions (self-test and formal test)

� EGL developers are required to pass the test

� Establish the EGL Support/Upgrade Process with IBM support team

� Detail EGL/ClearCase Rollout Plan� Manage 3 releases at the same time during the migration

IBM Rational Software Development Conference 2008

EM15 27

Benefit for ICBC� The tight-coupled applications start to be decoupled after migration, SDC

common layer, department common layer (cross-application) and application layer (including application common and application private)

� The developer just need to load 3 types of EGL projects in his/her workspace, i.e. SDC common EGL project, my department’s common EGL project and the application EGL project he/she is working on

� Support parallel development for multiple release

� More accurate and automatic build process via EGL impact analysis and unified build tool

� Build up a holistic ClearCase based SCM process for EGL development

IBM Rational Software Development Conference 2008

EM15 28

Benefit for ICBC (Continued)� EGL pave a way for ICBC next generation core banking system

� EGL is very easy to learn, especially for the new campus hires with little knowledge about zOS, CICS, DB2, COBOL ……

IBM Rational Software Development Conference 2008

EM15 29

Next Plan

� EGL Batch

� Detail comparison between EGL and COBOL, consider the possibility to move more COBOL developers to EGL

� Further componentization with EGL

� Upgrade from EGL v6 to RBD v7.1

IBM Rational Software Development Conference 2008

EM15 30

DEMO

IBM Rational Software Development Conference 2008

EM15 31

QUESTIONS

IBM Rational Software Development Conference 2008

EM15 32

© Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

Learn more at:� IBM Rational software� IBM Rational Software Delivery Platform� Process and portfolio management� Change and release management� Quality management� Architecture management

� Rational trial downloads� Leading Innovation Web site� developerWorks Rational� IBM Rational TV� IBM Rational Business Partners

THANKYOU

IBM Rational Software Development Conference 2008

EM15 33

Backup

IBM Rational Software Development Conference 2008

EM15 34

ClearCase Deployment Topology

CC license Server

DS4300�

Raid 0+1 �

CC VOB ServerCC Registry Server

CC Backup RegistryCC VOB Server

Router

Client Work Station

CC Web Server LDAP Server

Unify Compile Server

CCRC Client