IBM Rational software Presentation best practices

®
IBM Software Group
EGL Simplify Innovation
EGL and Application Transformation
Ed Gondek
Business Unit Exec
IBM Rational
egondek@us.ibm.com
EGL International Conference
Zurich Oct 20-21 2008
© 2008 IBM Corporation
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Agenda
What is Application Transformation?
Why choose Application Transformation for your
Legacy Systems?
What are the Characteristics of a Good Application
Transformation Solution?
Why use Rational Business Developer - EGL as the Target for Application Transformation?
Application Transformation Process Overview
What Are the Challenges in Application Transformation?
Summary
2
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Key Messages
Businesses need to change to stay viable, and IT must enable this flexibility.
IT’s role is to enable the business!
IT must overcome challenges:
 Reuse & leverage core systems
 Understanding the inventory of current IT assets
 Complex, tightly coupled architectures
 IT Skills lock-in
 Islands of development
 No flexibility for new investments
 High Cost of Maintenance
The IBM Rational Software Delivery Platform helps companies overcome these
challenges and facilitate Enterprise Application Transformation & modernization.
3
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
What is Application Transformation?
A Migration strategy/approach that utilizes (reuses) existing legacy
application assets while targeting a more modern, flexible, and
cost-effective software development platform
These applications are:
Core business systems, critical to operations
Tested, Proven and Production-ready
Have consumed enormous amounts of
Time & Treasure to develop and in many
instances to maintain
4
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Application Transformation is a Modernization Option
OPTION
SOLUTION
DELIVERY
Browser
H
A
T
S
Reface
E
G
L
Rich Client
Portal
Mobile
Text UI
Existing
Core
Business
Applications
E
G
L
Build
Browser
Portal
COBOL
Rich Client
Mobile
Java
Text UI
SW Factory
E
G
L
Browser
Portal
COBOL
Rich Client
Mobile
Java
Transform
Text UI
Refactor
Analyze
E
G
L
COBOL
Java
S
O
A
Browser
Rich Client
Portal
Mobile
5
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
What Application Transformation Must Address
Huge Investment
Skills Gap
Financial (Treasure), Time & Effort
 Thousands/Millions of lines of code
Business Oriented Developers lack
Java and OO skills - very expensive to
attain, very risky
Lack of transferability of people&
skills across projects
Proven, tested, in production
applications
Core to running the
business
Platforms & Middleware
 Ability to support and target the broadest variety of platforms and middleware
 e.g. Mergers/acquisitions, right/down/up size, QoS requirements, strategic redirections,
SOA, On-Demand etc.
A comprehensive approach to Enterprise Application Transformation & Modernization.
6
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Why Choose Application Transformation –
Rapid Payback …
Functionality
Performance*
and Stability
The Legacy Bar
(Runs your Business Today)
100%
75%
50%
Equivalent
25%
Equivalent
Equivalent
0%
Year 1+
Year 3+
Year 5+
…
Year n
7
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Characteristics of Good Application Transformation
Solutions
Application Transformation Solutions MUST:
Provide High-level of Automation – 90% to 100%
Clean, Concise Mapping of legacy language &
constructs to the new target environment
High Readability and Maintainability of new code
Be Open & Flexible
Support a Complete SDP Solution
Providing source control, change mgmt, testing
tools, requirements planning, governance …
Be Cost-Effective
8
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Why Transform to RBD (EGL)?
 Fastest, most cost-effective migration path off legacy code
 Leverage your huge investment - Time & Treasure
 Reuse of existing, mission-critical, production tested software assets
 Establish a Modern, More Flexible Development Platform
 Design and Develop the widest rage of applications possible with a single,
integrated software development platform
 Exploit a more cost-effective development environment
 The Rational SDP is a fraction of the cost of most legacy environments
 Maximize on the existing in-house IT skills & domain expertise
 No need for outside hiring or extensive, expensive training
9
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Why Use EGL as the Target?
 It is the “GLUE” that allows app transformation to happen smoothly
 DNA (Discovery aNd Analysis) and Transformation Process is Highly
Automated
 95%-100%
 Mapping between EGL and 4GLs, COBOL and RPG is Excellent!
 Source Code (EGL) produced is easy to Read and highly Maintainable
 JumpStarts EGL Application Development
 Low learning curve for most 3GL & 4GL programmers (weeks)
 Supports Open Standards
 Direction - Open & Extensible EGL Community
 PROVIDES A VIABLE BUSINESS PATH OFF LEGACY DEVELOPMENT
ENVIRONMENTS
10
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
EGL Responds to Broadest Application Needs
Batch
Processes
Web
Text UI
Program
Program
Control Logic
Control Logic
User
UserInterface
Interface
Databases
External Interfaces
Business
BusinessLogic
Logic
 COBOL
 RPG
 PL1
Service/Interface
Service/Interface
Enterprise
EnterpriseConnection
Connection
Write business and
control logic with EGL

Windows, Linux, Unix

WebSphere
WebSphere

Tomcat
Tomcat

Native
IE & FireFox
Web/Native
Services
Reports
Rich UI
 C, C++
 Java




DB2 UDB  Informix
SQL Server  IMS
Oracle
VSAM
Derby
 other…
Encapsulate existing
or create new resources
System z


WebSphere

USS

Linux

Batch

CICS

IMS
System i

WebSphere

Native i5OS

Native i5OS
COBOL
Java
Java Script (new)
Deployment
11
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
EGL as the “GLUE” for Application Transformation
Web,
TUI,
Portals
Batch
Processes
Rich
Client
Web
Services
Reports
Non IBM
Technologies
HPS/AppBuilder
Write application and control logic with EGL
Ideal
COBOL
Maestro
Program
User Interface
Control Logic
Business Logic
Service/Interface
Enterprise Connection
Enterprise
IDMS ADS/Online
Encapsulate existing or create new resources
Databases
External Interfaces
 RPG
 COBOL
PowerBuilder
 C, C++
 Java
DB2 UDB
SQL Server
Oracle
Derby
Informix
DL/I
VSAM
other…
RPG
Windows, Linux, Unix
System i
System z
WAS, Tomcat, Win, AIX,
Linux, HP-UX, Solaris
WAS, Tomcat,
Native i5/OS
WAS, USS, Linux,
Batch, CICS, IMS
12
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
What Can IBM Rational Transform ?
your legacy applications…
Rational Migration Extension for Natural – eGA 6/2008
 Supports transforming Natural/ADABAS apps to EGL/DB2; reduced
maintenance
costs out-of-date and expensive legacy
Migrate
from
Non IBM Technologies
IBM
Rational Migration
Extension onto
for IBMIBM
i – eGA
6/2008via
development
platforms
SDP
 Supports transforming RPG apps to EGL for customers and ISVs
Rational
Business
Developer featuring
requiring multi-platform
solutions
HPS/AppBuilder
Ideal
COBOL
Maestro
Enterprise Generation Language (EGL)
Enterprise
IDMS ADS/Online *
CSP
*
RPG
Basi
c
*
PowerBuilder
*
IBM Technologies
VA Gen
I4GL
More Extensions are Planned for 2009
Conversion
Tooling
Deploy to:
Linux
AIX
Solaris
HP-UX
System i
System z
Windows
WAS
* Future Capability
13
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Migrated Code comparison ex. - RPG vs. EGL
High Degree of
Readability
Limited Code
Expansion
Easily
Maintained
14
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Migrated Code comparison ex. - Natural vs. EGL
IF ANA-VIEW.ACCOUNT-NUMBER EQ #TE-REC.#ACCOUNTNUMBER AND
0570
ANA-VIEW.N-A-TYPE(!) EQ '01'
0580
NAME
MOVE ANA-VIEW.FULL-NAME-1
0590
END-IF
0600
END-READ
0610 END-IF
if(local.ana_View.account_Number == Te15l00g.$te_Rec.$account_Number and
("01" in local.ana_View.n_A_Type))
local.$account_Name = local.ana_View.full_Name_1;
TO #ACCOUNT-
High Degree of
Readability
end
end //while (Read Logical Database)
end
//*
0620 *
// ICN 16009
0630 IF #TE-REC.#ACCOUNT-NUMBER GE '07AAAAAAA' /* ICN
16009
if(Te15l00g.$te_Rec.$account_Number >= "07AAAAAAA")
0640
end
RESET #ACCOUNT-NAME
0650 END-IF
Limited Code
Expansion
0660 *
//*
// NNP 01
0670 WRITE WORK FILE 2 #TE-REC
0680
local.$account_Name = "";
#ACCOUNT-NAME
0690 ADD 1 TO #COUNT-TE-WRITE
0700 *
0710 * ICN 17891 ENDS.
/* NNP 01
Easily
Maintained
workFile2.workFileRecord1 = Te15l00g.$te_Rec;
workFile2.workFileRecord2 = local.$account_Name;
add workFile2;
local.$count_Te_Write = local.$count_Te_Write + 1;
get next workFile1;
0720 END-WORK
end // While Read Work
0730 *
//*
//ICN 17891 ENDS.
//*
15
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Code comparison ex. – CA Cool:Gen to EGL
PROCEDURE STATEMENTS
|
1 | NOTE:
1|
******************************************************
****************
1 | 18-04-2001 - THF: Coding started
1|
******************************************************
****************
High Degree of
2|
Readability
3 | +=>READ dividend_tax
3| |
WHERE DESIRED dividend_tax start_date = import
dividend_tax start_date
3| |
AND DESIRED dividend_tax u_co_iso_code =
import dividend_tax u_co_iso_code
3 | +> WHEN successful
3 | +> WHEN not found
4 | | EXIT STATE IS dividend_tax_nf WITH ROLLBACK
5<------ESCAPE
3 | +--
Easily
Maintained
Function remove_Dividend_TaxMain ()
//
**********************************************************************
// 18-04-2001 - THF: Coding started
//
**********************************************************************
try
get DIVIDEND_TAX forUpdate
with #sql{
select U_CO_ISO_CODE, START_DATE
from DIVIDEND_TAX T1
where T1.START_DATE = :sqlhlpSTART_DATE2
and T1.U_CO_ISO_CODE =
:REMOVE_D_INPUT.IMPORT__DIVIDEND_TAX.U_CO_ISO_CODE
for update of U_CO_ISO_CODE, START_DATE, PERCENT
};
xsSqlError(SysVar.sqlData.sqlcode, "remove_Dividend_Tax_001", xsSqlStatus);
onException (exception SQLException)
xsSqlError(SysVar.sqlData.sqlcode, "remove_Dividend_Tax_002", xsSqlStatus);
end
if (xsSqlStatus.successful)
REMOVE_D_SQLITEMS.DIVIDEND_TAX.U_CO_ISO_CODE =
DIVIDEND_TAX.U_CO_ISO_CODE;
REMOVE_D_SQLITEMS.DIVIDEND_TAX.START_DATE =
xsIso2Date(DIVIDEND_TAX.START_DATE);
REMOVE_D_SQLITEMS.DIVIDEND_TAX_FOUND = "Y";
else
REMOVE_D_SQLITEMS.DIVIDEND_TAX_FOUND = "N";
end
case
when (xsSqlStatus.successful)
when (xsSqlStatus.notFound)
xsGlobData.EXIT_STATE = "DIVIDEND_TAX_NF";
throw new EscapeProgram;
end
16
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Code comparison ex. – CA Ideal to EGL
Simple record
1
Record EGR001_W_GROUP1 type basicRecord
W-GROUP1
3 W_GROUP1 char(8) ;
2
CONTRT_NR
NP
10
2
VERSIE_NR
NB
4
4 CONTRT_NR decimal(11) ;
4 VERSIE_NR smallint ;
end // end EGR001_W_GROUP1
Flag
1
W-END-FLG
F
:END-FLAG
Procedure call
High Degree of
Readability
3 W_END_FLG char(1) ;
EGR001_T10_OTHER();
DO T10-OTHER
Limited Code
Expansion
Loop
LOOP UNTIL W-END-FLG
DO T92-TRANSMIT
ENDLOOP
while (W_END_FLG != "Y")
EGR001_T92_TRANSMI();
end
Easily
Maintained
IF combined with build-in function
IF $ENTER-KEY
if (converseVar.eventKey is enter) /* When the job is done*/
DO T10-ENTER-KEY :When the job is done
ENDIF
EGR001_T10_ENTER_K();
end
17
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Application Transformation Process - High-level Flow
Phase I
Discovery aNd Analysis
(DNA) & Project Planning
Phase II
Code Transformation
Education & Knowledge
Transfer
Phase III*
Remediation,
Implementation, Testing
& Deployment
* Longest Phase
18
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Application Transformation Challenges
 Project Management - like any IT project you
must keep the project on track, stay on task,
meet milestones and move rapidly to production
 Addressing Code Remediation (as required)
 Data Base conversion
 Batch processing
– e.g. JCL
 UI issues
– TUI, Web (JSF), RUI
 Messaging issues
 Adequate Testing (Unit, Systems, Performance,
Acceptance, User ..)
 Retraining (Retaining) of IT staff (and possibly users)
 Customer (in-house) IT role in all of the above
19
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
System z, System i and distributed platform
IBM Rational Software Delivery Platform
Drivers Phase
Transformed Apps are Fully Integrated into the Rational
SDP
Asset management
Lower maintenance cost
through asset discovery
and reuse
 Rational RequisitePro
 WebSphere Studio Asset
Analyzer
 Rational Transformation
Workbench
 Rational Asset Manager
 WebSphere Business
Modeler
Architecture & skills
management
Improve time to market and
flexibility by creating services
from existing assets
 Rational Developer for
System z
 Rational Developer for
System i/SOA
 Rational Business
Developer (EGL)
 Host Access Transformation
Services (HATS)
 WebSphere Integration
Developer
Quality management
Increase application quality
and compliance through
continuous testing
 Rational Functional Tester
 Rational Performance
Tester
 Rational AppScan
 WebSphere ESB
 CICS Transaction Server
 IMS
 WebSphere Process
Server
 WebSphere Message
Broker
Application management
Monitor and control
application resources and
processes in real time
 CICS/PD Tools
 Tivoli Composite Application
Manager
 WebSphere Services
Registry and Repository
 WebSphere Business
Monitor
Rational Portfolio Manager, Rational RequisitePro, Rational Method Composer,
Rational ClearQuest, Rational CleaseCase/zOS, SCLM-AE, Rational BuildForge (z/i agents)
Process, Portfolio, Change and release management
20
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
IBM’s Investment in RBD/EGL
 A strategic part of IBM’s Software Delivery Platform
 Core strategy for modernizing 7000 System z and 200,000 System i customers
 Part of System i Marketing materials
 IBM’s only enterprise class “cross platform” e2e solution
 Under Industry Standardization process (OMG)
 RBD V7.1 is one of the designated key products for Rational in 2008 (RBD v7.5 fall 2008)
 Additional Marketing efforts
 Additional Resources (technical and sales)
 Large IBM install base of stabilized legacy 4GL
 CSP, VisualGen, VisualAge Generator Customers (over 3,000)
 Natural/ADABAS, CA Cool:Gen, Maestro, COBOL, RPG …………
 Include very large and critical IBM accounts with significant investment
 Strategic Migration path for legacy application development
environments
21
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Summary

Enterprise Application Transformation is not trivial, but with the right
amount of Time, Treasure and Automation it is a Viable, Cost-Effective
approach for modernizing aging application technologies




Preserve your huge investment in these systems
Maintain the full functionality of these systems
Replace the part of the system that “inhibits”
Allows for Reuse of proven functionality extracted from tested,
production-ready systems
 Enables the Redeployment of business-critical, stable functionality as
Services (SOA)

Rational Business Developer (EGL) makes this possible
 High level of language compatibility, readability and maintainability of
converted code
 Provides maximum deployment flexibility and use of IT resources with
Maximum Leverage of existing IT staff with minimal training expense

More cost-effective than Replacement or Rewrite options
22
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
RBD (EGL) Momentum
A growing network of EGL Business Partners world-wide …
Logicalis
Prologics
InfoSoft
MSI
Morpheus
ClearBlade
SCS
Synchrony
Optimus
Oxford
Mainline
Xact
Synobsis
ASIST
PKS
Livinfo
Metaware
Nextel
QGroup
eSmartSoft
KBM
GBM
Troytech
TCS
WIPRO
Provision
Advus
DataExpressOnline
BCX
23
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
© 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.
24
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Why Use RBD (EGL) as the Target?
 What is Enterprise Generation Language?
Rational Business Developer (RBD) is the component of the IBM Rational
Software Delivery Platform that’s specifically designed to fulfill the needs of
business-oriented developers. The product provides a comprehensive
Eclipse-based development workbench for IBM Rational Enterprise
Generation Language (EGL) - a powerful, easy-to learn and highly
productive modern language that equips developers of almost any
background with a simplified and more abstract development paradigm
that allows them to quickly deliver cross-platform, transactional datacentric services and applications. As a business programming language,
EGL is designed to let you write full-function applications quickly and
independently from the target run-time platform, freeing you to focus on
business problems rather than complex software technologies
25
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
What: EGL Cafe
Community
Goals:
•Focal point for community
•Share tips, techniques, parts
•Communication: Forums, Blogs
Target Audience:
•All EGL developers
•EGL partners & ISV’s
•IBMers
Goals:
•Market-leading Web 2.0 Tools
•SOA Enhancements
Target Audience:
•Line of Business Application Developers
•Departmental Developers
•Web Developers
Goals:
•Stimulate broad grass-roots EGL usage
•Target platform: Browser
•Application profile: Mash-ups
•Contents:
•Web 2.0 tools
•HTML/Javascript generation
•No Server support/No IBM support
Target Audience:
•Web 2.0 Influencers/Hackers
•College Students
•Curious Corporate Developers
What: Open EGL SDK
When: 2H 2009
Goals:
•Allow 3rd parties to add value to EGL:
•Support for new platforms/runtimes
•Compete w/IBM on current platforms
•Extend existing capabilities
•Create new capabilities
Target Audience:
•Partners
•ISV’s
•Hackers/Inventors/College Students
What: Standards
Goals:
•Ensure consistent implementations and
extensions
Target Audience:
•Partners
•ISV’s
When: June 2008
What: RBD v7.5
Capability
When: 4Q 2008
7.5
Mindshare
Extensibility
Consistency
What: Free EGL SDK
When: 1Q 2009
When: 2010
EGL Marketplace Evolution – Risk Mitigation
26
26
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Modernization Paths to EGL
Business Challenge
Solutions
Unsupported legacy development
platforms
Save money by moving off old
platforms and languages
can we…
Rational How
Migration
Extension for Natural – eGA 6/2008
 Transform Natural/ADABAS apps to EGL/DB2; reduced
Efficiently
maintenance
costs move to modern development
platforms, languages, and tools?
IBM Rational Migration Extension for IBM i – eGA 6/2008
 Transform RPG apps to EGL for customers and ISVs requiring
multi-platform solutions
 Migrate from out-of-date and expensive legacy
development platforms onto the IBM Rational
Software Delivery Platform (SDP)
– EGL, DB2
– All SDP tools available
Non IBM Technologies
HPS/AppBuilder
Conversion
Tooling
Ideal
COBOL
Maestro
Enterprise
IDMS ADS/Online
PowerBuilder
Deploy to:
Linux
AIX
Solaris
HP-UX
IBM i
System z
Windows
WAS
RPG
27