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