Enterprise Modernization in ICBC (Industrial and Commercial Bank of China) Best Practice of VAGen EGL Migration and ClearCase Integration

Size: px
Start display at page:

Download "Enterprise Modernization in ICBC (Industrial and Commercial Bank of China) Best Practice of VAGen EGL Migration and ClearCase Integration"

Transcription

1 IBM Rational Software Development Conference 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 Paul Pilotto CTO, ASIST EM15 IBM Corporation Agenda ICBC Overview and As-Is Challenges VAGen to EGL Migration To-Be Architecture and EGL Lifecycle Management After Migration EM15 2

2 ICBC Overview The largest retail bank in China and the largest bank worldwide in terms of assets. Established in IPO(HK & SH, China) on Oct.27,. Total Revenue $36.8 Billion, (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. 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 Merged two production data centers into one data center located in Shanghai in Oct 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 ,000 VAGen parts, 20,000 programs 3 distributed development centers, 6 departments, 450 developers EM15 3 As Is Architecture Repository 1 Repository 2 Repository 3 Repository 4 VAGen VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 4

3 As Is Challenges VAGen Asset Organization 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. Repository 1 Repository 2 Repository 3 Repository 4 VAGen VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 5 As Is Challenges Maintenance Repository 1 Repository 3 Repository 2 Repository 4 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 VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 6

4 As Is Challenges No Unified Build Process Repository 1 Repository 3 Repository 2 Repository 4 The VAGen code is managed with, 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 VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 7 As Is Challenges No Impact Analysis Repository 1 Repository 3 Repository 2 Repository 4 No automatic impact analysis for the incremental build, the program list need to be rebuilt is submitted by developers manually. VAGen VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 8

5 As Is Challenges Hard to support parallel development for multiple releases Repository 1 Repository 2 Changes on multiple releases have to be synchronized manually, error prone Repository 3 Repository 4 VAGen VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEVP DEV IT TEST ST REL BETA1 MIR1 EM15 9 What were ICBC s drivers to migrate When looking at the as is challenges of ICBC s development environment 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 EM15 10

6 Agenda ICBC Overview and As-Is Challenges VAGen to EGL Migration To-Be Architecture and EGL Lifecycle Management After Migration EM15 11 VAGen to EGL Migration planning Oct Nov Dec Jan Feb Mar Apr May June July Aug Sep Oct Nov Dec Jan Feb Mar Apr Mass VAGen Migration Procedure 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. ASIST hacks IBM Migration Tool code to split Stage 1 in 3 logical pieces 1 = Analyse the current VAGen 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 and cross departments (Public and Private s) Reorganization of by alphabet Reorganization by Department/Project Migration Planning EM15 12

7 ASIST Stage 0 Migration Tool Oct Nov Dec Jan Feb Mar Apr May June July Aug Sep Oct Nov Dec Jan Feb Mar Apr Development of ASIST Stage 0 Migration Tool Specifically to ICBC s préreqs Préreqs Development ASIST Stage 0 Parallel execution by X resources of ICBC Reorganization of and cross departments (Public and Private s) Reorganization of 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 EM15 13 ASIST Stage 0 Migration Tool Oct Nov Dec Jan Feb Mar Apr May June July Aug Sep Oct Nov Dec Jan Feb Mar Apr Implementation/Test/Training Implementation, test and training ASIST Stage 0 Migration Tool Implementation & test ASIST Stage 0 ICBC Unit Testing on ICBC Training & dry run Training of lead developers of 7 Departments Run and assist lead developers with the current code EM15 14

8 Detailed checklist for the Migration EM15 15 Final Migration Oct Nov Dec Jan Feb Mar Apr May June July Aug Sep Oct Nov Dec Jan Feb Mar Apr Final Migration ASIST gives support (2 peoples) 6 departments 3 weekends Friday evening Started with ASIST Stage 0 Saturday run IBM Stage Sunday Import into ClearCase Average of 5 developers per department Final Migration EM15 16

9 Agenda ICBC Overview and As-Is Challenges VAGen to EGL Migration To-Be Architecture and EGL Lifecycle Management After Migration EM15 17 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 EM15 18

10 To Be Architecture After Migration SDC Department 1# Department 1# App Department 2# Department 2# App Department 3# Department 3# App Department 4# Department 4# App Department 5# Department 5# App EGL under ClearCase VAGen COBOL Generation CA Endevor COBOL Batch And other mainframe programs DEV1 DEV1 DEVP TEST BETA1 DEV IT ST REL MIR1 EM15 19 EGL Project & CC UCM Component Organization Structure SDC SDC EGL Project SDC Component Department Department #1 EGL Project Department #2 EGL Project Department #N EGL Project Department #1 Component Department #2 Component Department #N Component Department App Migrated EGL App #1 EGL Project App #2 EGL Project App #M EGL Project EGL Project Organization Structure App #1 Component App #2 Component App #M Component ClearCase UCM Component EM15 20

11 ClearCase UCM Project/Stream Organization PVOB Root Folder System #1 Folder App A Folder App A Mainline Project App A Feb Release Project App A May Release Project Integration Stream Dev Stream 1 Dev Stream N Bug Fix Stream App B Folder System #2 Folder App B Mainline Project App B May Release Project Legend Folder Project Stream EM15 21 EGL & ClearCase Unified Build Process (One Release) Developer Application CM Admin R&D Support Dev Stream 1 ClearCase Dev View Integration Stream ClearCase Int View 1 Developers make changes in their own development view. Dev Stream 2 ClearCase Dev View ClearCase Build View 2 Developers self-test. 1 Make Baseline Get Baseline 3 Developers deliver the changes to the integration stream. Generation & Developer Unit Test 2 DEV1 3 4 EGL Impact Analysis EGL Unified Generation & Build 5 EGL Asset under ClearCase CA Endevor 4 The application CM Admin makes baseline and recommend it. 5 R&D support staff get the recommended baseline and launch the unified build, add generated COBOL and Load Modules into Endevor. DEVP DEV1 6 TEST BETA1 6 Staging into existing Endevor process. DEV IT ST REL MIR1 EM15 22

12 ClearCase UCM Process (Multiple Release) Developer Application CM Admin Application CM Admin Dev Stream 1 ClearCase Dev View Integration Stream ClearCase Int View Mainline Project Integration Stream ClearCase Int View 1 Developers make changes in their own development view. 1 Dev Stream 2 ClearCase Dev View Make Baseline 3 2 Developers self-test, deliver changes to the integration stream, App CM Admin make baseline. 2 1st Monthly/Quarterly Release 3 App CM Admin deliver the verified baseline to the mainline project as the root baseline of the next release. Developer Dev Stream 1 ClearCase Dev View Application CM Admin Integration Stream ClearCase Int View 4 4 App CM Admin create a new Monthly/Quarterly project based on the root baseline delivered from last release. Dev Stream 2 ClearCase Dev View 5 App CM Admin create the development streams start from the rebased baseline nd Monthly/Quarterly Release 6 Repeat the above process for the latter releases. EM15 23 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 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 Analysis scope and role The whole repository, by SDC CM Admin Departmental repository, by Departmental CM Admin SDC Application repository, by App CM Admin Department 1# Department 1# App Department 2# Department 2# App Department 3# Department 3# App Department 4# Department 4# App Department 5# Department 5# App Program X X 0 X X No calling relationship Y With calling relationship 0 Dynamic call The output of the analysis result will be exported to ICBC s homemade application & data relationship management system EM15 24

13 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 each ClearCase view Create a standardized development environment EM15 25 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 EM15 26

14 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 EM15 27 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 EM15 28

15 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 EM15 29 DEMO EM15 30

16 QUESTIONS EM15 31 Learn more at IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management THANK YOU Rational trial downloads Leading Innovation Web site developerworks Rational IBM Rational TV IBM Rational Business Partners Copyright IBM Corporation. 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 ondemand 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. EM15 32

17 Backup EM15 33 ClearCase Deployment Topology Unify Compile Server CC VOB Server CC Registry Server DS4300 Raid 0+1 CC Backup Registry CC VOB Server Client Work Station CCRC Client Router CC Web Server LDAP Server CC license Server EM15 34