Date post: | 22-Dec-2015 |
Category: |
Documents |
Upload: | elisabeth-harmon |
View: | 223 times |
Download: | 1 times |
®
© 2008 IBM Corporation
IBM Software Group EGL Simplify Innovation
EGL International ConferenceZurich Oct 20-21 2008
Financial Services Application Modernization Using RBD & EGL - An IBM and Wipro Success Story
Brian NelsonAlliance Manager, IBM [email protected]
Prasanna HegdePractice Head, SOA &Legacy Modernization Practice, Wipro [email protected]
2
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Agenda
Introduction
Overview of Financial Services customer
Case Study Details EGL Evaluation
Interim Phase
Implementation Phase
Challenges & Considerations
Best Practices
Customer Benefits
Summary
3
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Existing Core
Business Applications
Application Modernization OptionsDELIVERYOPTION SOLUTION
EGL
COBOL
Java
Text UI Browser Portal
Rich Client Mobile
Build
SW Factory
Text UI Browser Portal
Rich Client Mobile
Transform
EGL
COBOL
Java
Reface
Browser Portal
Rich Client Mobile
HATS
EGL
Analyze
Text UI Browser Portal
Rich Client Mobile
EGL
COBOL
Java
SOA
Refactor
4
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Why is Rational Business Developer featuring Enterprise Generation Language (EGL) strategic? Skills: Learning and Adoption
Java – great language and technology; too difficult for many customers to learn and adopt
C# is an OO language same issues as Java plus many API’s
.NET
RPG/COBOL/
4GLs(Natural)
Comfortable languages, great capabilities, but graying staff, no new developers
“Re-training COBOL developers to Java/J2EE costs over $50K each, and only 12% may actually succeed” – Gartner Group
“The task force had an initial meeting and identified challenges to teaching Java based on the literature and our experiences.” – ACM Education Board Java Task Force http://www.sigcse.org/topics/javataskforce/
An insurance company spent approximately $250,000 to train 12 RPG developers. One out of 12 succeeded. This person had an MS in Computer Science and 8 years of C programming experience. – Bob Cancilla, IBM
5
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Customer Pain Points
Faced with language obsolescence due to legacy 4GL implementation of current system
Requirement to leverage existing talent pool with strong procedural language skills
System i platform specific implementation
Necessity to leverage other platforms including Solaris and Windows
Necessity to leverage existing assets in a modern web enabled environment
Need to standardize on SOA as a design principle
6
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
The Road to Choosing RBD/EGL - Customer Application Identification and Proof of Concept
POC with 10 5250 screens to be converted to a web based application was identified
Ecosystem team worked closely with the customer to identify requirements, and necessary functionality
An Ecosystem team resource was on the ground to help with Education and training for POC resources
Application architecture and best practices
Mentoring on the actual POC
Trouble shooting and optimization of code created for the POC
Efficient resolution of any potential issues or tooling problems
7
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
The Road to Choosing RBD/EGL - Proof Of Concept Conclusions and Results
Entire POC was implemented and all POC design points were successfully met within 1 month
POC resources learnt RBD/EGL and were able to create a reasonably sophisticated web application during the course of the POC including, Calls to backend System i COBOL programs through the use of a simple CALL statement
Access to data areas and data queues, and execution of CL statements
Deployment of an MVC compliant web application on WebSphere Application Server
Access to data on a DB2 database running on System i from the POC web application
Modularization and componentization of the new application artifacts, through the use of libraries and services
Net Result: Customer chose RBD/RGL as the strategic language of choice moving forward for all
development
Wipro validated EGL as the language of choice, let’s see how…
9
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Confidential © Copyright 2008 Wipro Ltd
Wipro Overview
CAGR of 37% in last 5 years
Part of NYSE’s Technology-Media-Telecom (TMT) Index, NSE Nifty Index & BSE Sensex
SUSTAINED
GROWTH
Billion in Revenues
$ 4.3
184 Fortune 1000/ global 500 clients
Over 170 clients among Forbes 2000
928 active clients as on March 31, 2008
928
Global Clients
PARTNER TO INDUSTRY LEADERS
95,000+
Associates
ATTRACTS THE
BEST TALENT
95,000+ associates from 57 nationalities
One of the top 3 recruiters in India
55 +
Centers of Excellence
55+ CoEs to develop domain specific framework and solutions
2600 + domain consultants
INDUSTRY EXPERTISE
54
Countries
53 Global Development Centers
25 global near- shore centers
GLOBAL PRESENCE
Leading global service provider of Consulting, IT Services, BPO and R&D Services Leading global service provider of Consulting, IT Services, BPO and R&D Services
10
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Confidential © Copyright 2008 Wipro Ltd
Integrated Service Offerings
Telecom, Media & Technology
Energy & UtilitiesManufacturing
& Healthcare
Retail, CPG, Transportation & Services
Financial
Services
Enterprise Application Services
Business Technology Services
Technology Infrastructure Services
Testing Services
Business Process Outsourcing (BPO)
Industry verticals
Serv
ice lin
es
Consulting
Product Engineering Services
11
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Case Study - Introduction
Dri
vers
End of support for the 4GL language on iSeries No separation between the presentation logic and the businesses logic in the application Enhancing User experience by migrating towards browser based GUIs Current functionality not designed as reusable service
End of support for the 4GL language on iSeries No separation between the presentation logic and the businesses logic in the application Enhancing User experience by migrating towards browser based GUIs Current functionality not designed as reusable service
Sco
pe
Migration of 1500+ screens
Migration of 1 M lines of code
Understand the business logic from the legacy code base
Enhance the functionality
Re - use the existing database
Migration of 1500+ screens
Migration of 1 M lines of code
Understand the business logic from the legacy code base
Enhance the functionality
Re - use the existing database
Cu
sto
mer
Large Financial Services Sector (FSS) client in North America
Customer has a mission critical application managing and trading in mutual fund products
Application built in a 4GL language running on ISeries
Large Financial Services Sector (FSS) client in North America
Customer has a mission critical application managing and trading in mutual fund products
Application built in a 4GL language running on ISeries
Ob
ject
ive
Rewrite the application to a 3 tier modern architecture that can leverage the principles of SOA Faster time to market yet a robust and scalable application Leverage existing developers
Rewrite the application to a 3 tier modern architecture that can leverage the principles of SOA Faster time to market yet a robust and scalable application Leverage existing developers
12
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Ch
allen
ges
Wipro’s Engagement steps
Due Diligence Interim Phase Implementation Phase
Understand the technical architecture / integrations points / infrastructure of the existing system
Understand business functionality of the trading system
Understand any enhancements in functionality on the target system
Provide an effort and cost estimate
Architectural/business drivers versus EGL feature mapping
Recommend a reference architecture for the target system
Refine the estimates
Understanding the business logic from the code base
Identify Services Screen prototypes Implementation planning Develop functionality in
EGL Test the functionality User acceptance testing
•Lack of documentation•Limited SME time
•Initial learning curve in EGL• Training arranged
on EGL• IBM Experts invited
to ODC
• Major release of EGLs to be accommodated
13
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Interim Phase
14
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Key Architectural Drivers considered
Business Drivers Support in EGL
• Quicker time to market • RBDe/EGL provides productivity improvement over normal J2EE development
• RBDe/EGL helps legacy developers to quickly pick up the development work in EGL
• Reduced TCO • Productivity improvement will reduce the cost of development
• Re utilize the legacy developers to maintain the system post development
DD Interim ImplKey Business Drivers
15
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Key Architectural Drivers considered
Technology Drivers Support in EGL
• Scalability • Support for execution in clustered environment
• Layered Architecture • Ability to have multiple layers in application with distinct responsibilities
• Supports MVC model of execution
• Modularity • Components in EGL application have the ability to exist in modular format and hence promotes reusability
• Heterogeneous Integration • Support to consume Doc and RPC style web services
• Support to produce RPC style web services
• Extensibility through support for external data types
• Multi thread support in EGL • EGL cannot create multiple threads through the language
• Exception Handling • Can propagate exceptions across layers and user can create and throw custom messages
• Transaction Management • Supports transaction management using EGL’s inbuilt mechanism for flat transactions
• Performance • Generated Java code is tuned for performance
DD Interim ImplKey Technology Drivers
16
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Key Architectural Drivers considered
Architectural Drivers Support in EGL
• Asynchronous support • EGL supports the integration with MQ
• Support for 3rd Party packages like Log4j, Reporting tools
• Supported through using external types using Java wrapper classes
• Security • EGL does not have native support on encryption/decryption but can utilize external types
• Maintenance • Development is independent of runtime environment and hence users need not worry of handling runtime issues. Easy to maintain the code.
• Support for incremental build
• XML Support • EGL does not have an inbuilt XML parser. However, Third Party API’s can be utilized as External Type, i.e. using Java wrapper classes
DD Interim ImplKey Technology Drivers
A work around is possible in most cases through the use
of external types
A work around is possible in most cases through the use
of external types
17
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Our Recommendation
EG
L B
en
efi
ts
Easy for developers trained in procedural language to pick up as the technical complexities are hidden
Allows developers to be portable across technologies
The ability to create a Graphical User Interface (GUI) with the base UI components ready
Ability to auto generate the Data Access code in terms of Record Sets, Data Items, DAL Libraries
Productivity benefit of 15 – 20 % over traditional J2EE approach
Rapid development leading to a quicker time to market
Separation of presentation layer, application layer and data layer in order to facilitate SOA strategy
Creating of granular services is made easy
Easy for developers trained in procedural language to pick up as the technical complexities are hidden
Allows developers to be portable across technologies
The ability to create a Graphical User Interface (GUI) with the base UI components ready
Ability to auto generate the Data Access code in terms of Record Sets, Data Items, DAL Libraries
Productivity benefit of 15 – 20 % over traditional J2EE approach
Rapid development leading to a quicker time to market
Separation of presentation layer, application layer and data layer in order to facilitate SOA strategy
Creating of granular services is made easy
RBDe/EGL Approach was chosen for application
transformation
RBDe/EGL Approach was chosen for application
transformation
18
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
serv
ice
s
Internet
PageHandlers
(EGL)
We
b T
ier
Bu
sin
es
s T
ier
Business logic
(programs/functions) R
eu
sab
le
Re
usa
ble
C
om
po
ne
nt
Co
mp
on
en
tss
serv
ice
s
Inte
gra
tio
n L
ay
er
Se
cu
rity
La
ye
r
Da
ta
ac
ce
ss
Tie
r
Database
Reference Architecture
serv
ice
sse
rvic
es
Ex
tern
al
Ap
pli
ca
tio
n
Page template
(HTPL, JTPL ) ..Web Web PagesPages
..Web Web PagesPages
Data Access Logic
(Libraries/programs/functions)SQL
RecordSQL
Data Item
Data DefinitionResources
DD Interim Impl
19
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Implementation
Phase
20
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Implementation approach
Slide 20
Re-engineer businessLogic from code baseRe-engineer businessLogic from code base
1. Gather the business logic from the legacy code base
2. Validate the business logic
1. Gather the business logic from the legacy code base
2. Validate the business logic
1. Identify services from top down and bottom approach
1. Identify services from top down and bottom approach
Identify business services
Identify business services
1. Implementation plan
2. Design the screens
3. Develop and test the screens
1. Implementation plan
2. Design the screens
3. Develop and test the screens
EGL development and testing
EGL development and testing
11 22 3322 44
1. Develop wireframes for the GUI screens
1. Develop wireframes for the GUI screens
Develop wireframesDevelop wireframes33
21
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Code Re-engineering Methodology DD Interim Imp
l
Legacy Code Base
Create Repository from the code base
using the Inventory
Analysis tool
Create Inventory from the code base using an Extraction tool Code Analysis utilities will generate Reports and diagrams
RunAnalysisUtilities
Rule Discovery
and Report generation
Filter Business
Logic
Create Functional Specification
Validate the Rules from business SMEs
Code re-engineering Cataloging11
Catalog rules
Collect enhancementrequest
22
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Service Identification methodology
Domain Analysis Gather service Requirements
Business ProcessIdentification
Business ProcessDecomposition
Coarse Grained Service
Identification
Top Down
Map to Fine grained services
Legacy Serices Data Services
Common Business Services
Technical/Infrastructure
Services
Bottom Up
Sub Process /Activity Level
Service identification
Define Service Interface
Data Mapping with Applications
Refine canonical model
Establish Service Policies
Ca
no
nic
al
Mod
el
Review & signoffPublish to Registry
Repository
Service Identification Service Definition
Service Identification would require both top-down and bottom-up approaches
Need to consider the application landscape across the organization to maximize reuse
Requires the Common Data model
Can be done for small part of the enterprise & extended incrementally
Deliverables will be :oList of reusable servicesoService Definition
23
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Implementation methodology DD Interim Impl
Code Re-eng Phase
UAT Plan
oCreation of the Functional specification documents
oReview of FS documents with customer
oCreation of wire frame
oReview of wire frames with the customer
oClient approved FS and wireframes
oRules catalog
24
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Implementation Statistics
Peak Team Size • 8+ Business Analyst • 6+ EGL Architects• 60+ EGL Developers• 10+ EGL Testers• 4 Project Managers
Project Period
EGL Productivity Gain
• 15 Months• Two Phase approach ( Phase 1- 10% of screens)• Phase I is in Production• Phase II is in implementation phase
• 15 %
• 20Number of reusable business functions
Ramp up time for developers
• 2 weeks of class room training• 2 weeks of POC
80+ experienced people
25
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
EGL Basics/ Development Methodology
(2 weeks)
Architecture/Integration Layer
( 1 week)
EGL class room trainingAwareness & Appreciation
Assimilate practical
experiences in the project Enablement for Implementation
Best practices/Coding
guidelines/naming convention(0.5 week)
Enable Architects/Solution Designers Enablement for Designing
POCs for sample scenarios Practical trainingHands on experience(1.5 week)
EGL Training Process
26
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Implementation challengesChallenges Mitigation
RBDe requires configuration machines > 2GB. Development machines should be more 3 GB
• Has to be budgeted within the TCO of the project
Not many forum available for discussing EGLrelated issues
• Close interaction with IBM Rational Lab is required
• Start leveraging EGL - cafe
Multiple releases of EGL during the course of the
project
• Sandbox for testing backward/forward compatibility of EGL
EGL/RBDe and JSF belongs to different product lines • Work with IBM to identify a single point of contact
Ramp up of people cannot be synchronized with IBMconducted training
• Created a EGL core training team internally that will train the new developers using IBM certified training materials
Multiple duplicate PMRs were getting reportedwith IBM
• Wipro built a knowledge repository where all the best practice and issues are documented
• We have some of the tech lead as EGL champions who will analyze before reporting to IBM
27
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
EGL language considerations
Issues Work Around/Resolution
EGL does not support passing more than 30 parameters in a COBOL call
IBM has provided a patch for these problems.
Create EGL wrapper and break into two calls passing less than 30 parameters
Date picker component was inserting current date
when date field was kept null
Data picker java script was changed to allow null values
Stored procedure which returns multiple result sets cannot be handled by EGL
External Java code was used to implement the functionality
Importing more than 100 tables crashes RBDe Logically group the tables so that import of tables less that 100 is possible
Fix would be available in future versions
Support for reading properties and XML files Use external types for reading the files
28
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
EGL Project Best Practices Presentation Layer
Page Handlers should have only screen logic or controller logic and no business logic
Presentation Layer Page Handlers should have only screen logic or controller logic and no business logic
Business Layer Create a ‘EGL – external language ‘ data type mapping in advance to save time EGL generated SQL Records should not be directly used to populate the UI
Components of Page Handlers
Business Layer Create a ‘EGL – external language ‘ data type mapping in advance to save time EGL generated SQL Records should not be directly used to populate the UI
Components of Page Handlers
Database Layer Custom queries to be stored in separate library from EGL generated queries as Import
operations drop and re-create the default <tableNames>.egl library files While generating the SQL query , choose only columns that are required for the query
Database Layer Custom queries to be stored in separate library from EGL generated queries as Import
operations drop and re-create the default <tableNames>.egl library files While generating the SQL query , choose only columns that are required for the query
General For optimal performance single eclipse project should not have all the application programs If projects have more than 200 programs, split into smaller projects Avoid the occurrence of ‘-’ while naming the variables
General For optimal performance single eclipse project should not have all the application programs If projects have more than 200 programs, split into smaller projects Avoid the occurrence of ‘-’ while naming the variables
29
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Summary
Increased productivity leads to faster time to market
Reusable business services identified for future use reducing future cost of development
Laid out a good technical platform to be leveraged in future for new user access channels like mobile
Modernize the green screens into web based GUI increasing user productivity
Usage of Wipro’s domain SMEs reduced load on Customer SMEs thereby allowing them to focus on other strategic initiatives
Technical issues were made transparent to the customer
Increased productivity leads to faster time to market
Reusable business services identified for future use reducing future cost of development
Laid out a good technical platform to be leveraged in future for new user access channels like mobile
Modernize the green screens into web based GUI increasing user productivity
Usage of Wipro’s domain SMEs reduced load on Customer SMEs thereby allowing them to focus on other strategic initiatives
Technical issues were made transparent to the customer
30
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
© 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