The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

20
deeper © Copyright IBM Corporation 2008 The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software www.pks.com

description

The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software www.pks.com. Why is Web 2.0 relevant for RPG and COBOL applications?. - PowerPoint PPT Presentation

Transcript of The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

Page 1: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

deeper

© Copyright IBM Corporation 2008

The smooth evolution of RPG and COBOL applications into Web 2.0

PKS Softwarewww.pks.com

Page 2: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Why is Web 2.0 relevant for RPG and COBOL applications?

• Business has an increasing number of requirements that are difficult to satisfy with RPG and COBOL – that‘s why most applications are written in JAVA

- Increased agility and business processes- Intuitive and easy to deploy Web based User Interfaces- Support of multiple devices (PC, PDA, Services, XML, iPhone, …)- Aggregation of content (Google Maps, Services, External Content, …)- UNICODE- Support of JAVA infrastructure- Replacement of retiring staff

• RPG and COBOL applications have to evolve or they will be replaced by packages (e.g. SAP) or JAVA rewrites !

Page 3: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Comparison between RPG/COBOL and Web 2.0 applications?

Criteria RPG/COBOL Web 2.0

Architecture Mostly monolithic MVC / SOA

User Interface Green Screen Browser

Aggregation No Mashups

Coding SBCS / DBCS Unicode

Platform Support System i System i + JAVA

Staff availability Decreasing Increasing

Service Orientation Additional complexity standard

Complexity Low to medium High

IBM has created the Enterprise Generation Language to reduce complexity of Web 2.0 development

Page 4: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Introduction to EGL

EGL is IBM’s newest business language

EGL is a true cross-platform, cross-tier language targeted at all types of developers- Traditional, procedural, object-oriented, Web, SOA,

etc.

The goal of EGL is to shield developers from complexities that are unnecessary for building business applications.

EGL is an excellent target language for evolving existing, traditional applications in RPG, COBOL and many other languages

MachineCode

Assembly LanguageC++/C#

EGLCOBOLRPG

JavaPhP

Page 5: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

The importance of EGL for Enterprise Modernization

Flexibility: Affords maximum platform independence (System i, z, Java) and architecture support

Rich user interfaces: Enables business developers (COBOL, RPG, VB, 4GL programmers) to create extremely rich, Web 2.0 user interfaces, along with Service-Oriented, multi-platform applications with a very short learning curve

Integration: Enables developers to easily connect to,wrapper and extend trusted, valuable assets

Productivity: Encourages developers focus on business problems, not technology problems

Adaptability: Delivers a modern language thatadapts more easily to changing technologies

Evolution: EGL is ideally suited for reusing existingRPG, COBOL and JAVA assets as well as theirdevelopers

Web 2.0: EGL is ideally suited to develop Web 2.0applications with unprecedented productivity

Applications

Teams People

Page 6: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Batch Processes

Text UI Web/Portal Web 2.0/ Reports SOA

WebSphere

USS

Linux

Batch

CICS

IMS

System z

WebSphere

Tomcat

Native

Windows, Linux, Unix

EGL Business Logic

Program Handler Service

IE

Firefox

Safari

Browser

WebSphere

Tomcat

IBM i Integrated Web Server

Native i5/OS

IBM i

EGL Platform Coverage

Page 7: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

The importance of Web 2.0 for application architecture

Client ServerMainframe computing“Dumb” green screen clientsOmnipotent big mainframe servers

Client-server computing“Smart” Personal Computer clientsSimple file and database servers

Web (1.0) computingLight Web Browser clientsRich application and database servers

Web 2.0 computingRich Internet Application clientsLighter application and database servers

Page 8: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 20088

Build end-to-end Web 2.0 quickly with a single language Fully extensible Use a language that is easy to learn Benefit from productive development Use Ajax without any of its complexities Use a rich, extensible widget library Debug web applications in an Eclipse IDE Consume any type of web service

Web 2.0 User Interfaces with EGL

Page 9: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

EGL in Action (Side-by-Side Comparison)

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google Maps API Example: Simple Geocoding</title> <script src="http://maps.google.com/maps?file=api&amp;v=2.x <script type="text/javascript">

var map = null; var geocoder = null;

function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(37.4419, -122.1419), 13); geocoder = new GClientGeocoder(); } }

function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { map.setCenter(point, 13); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml(address); } ); } } </script> </head>

<body onload="initialize()" onunload="GUnload()"> <form action="#" onsubmit="showAddress(this.address.value); return false"> <p> <input type="text" size="60" name="address" value="1600 Pennsylvania Ave, Washington DC" /> <input type="submit" value="Go!" /> </p> <div id="map_canvas" style="width: 500px; height: 300px"></div> </form> </body></html>

handler MyRuiHandler type RUIhandler { initialUI = [ addressForm, map ] }

addressField TextField { text = "1600 Pennsylvania Ave, Washington DC", width = 250 };

goButton Button { text = "Go!", onClick ::= goButton_clicked }; addressForm Box { children = [ addressField, goButton ] };

map GoogleMap { width = "500px", height = "300px" };

function goButton_clicked (e Event in) addresses String[] = [ addressField.text ]; map.showAddresses(addresses, addresses); endend

HTML and JavaScriptEGL Rich UI

All code, including UI and controller logic, is written completely

in EGL.

The complexity of the Google Map APIs are

hidden from the developer, so the

developer can focus on the actual business requirement and not

technical complexities.

Page 10: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Evolving RPG and COBOL applications with EGL and RMEi

Existing RPG application

Existing Programs in

RPG, Cobol, CL, …

Business functionality

in EGL

EGL Service Libraries (i)

System iRPG

The transformation separates the program into platform independent Business functionality and platform specific EGL Service Libraries

Most of CL remains

transformwith RMEi

System iEGL (native / java) + Web UI

Business functionality

in EGL

EGL Service Libraries

Platform independentEGL (java) + Web UI

removeplatformdependencies

Optionally the EGL Service Libraries can be made platform independent in a second step

Page 11: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Evolution step by step

1. The transformation from RPG to EGL can be done in small packages, because RPG and EGL integrate easily via database and program calls. With the RMEi Web API even integration on UI level can be achieved.

2. You have the following transformation or integration options:

RPG Batch - transform to EGL- call from EGL

RPG Services - transform to EGL- wrap with EGL

RPG Interactive - transform to EGL and refactor to JSF or RUI - transform to EGL and use RMEi Web API

- integrate with EGL and use RMEi Web API

Page 12: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

RPG Batch - Transformation / Integration

- The existing RPG batch can still be called from EGL

Existing Batch Program in RPG, Cobol, CL, …

Transformed BatchBusiness functionality

in EGL

EGL Service Libraries

New EGL Application

CALL / Submit CALL / Submit

- the transformation separates the program into the platform independent Batch Business functionality and the platform specific EGL Service Libraries

- Optionally the EGL Service Libraries can be made platform independent in a second step

Transformation

Page 13: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

RPG Services - Transformation / Wrapping

- After adding an EGL wrapper the service can be called from a remote system or be deployed as a Web Service

Existing Callable Service in RPG

CALLRemote CallWeb Service

- The transformed EGL Service can be called locally, from a remote system or be deployed as a Web Service

- The service is platform independent

Existing Callable Service in RPG

Transformed EGL Service

EGL wrapper

CALL CALLRemote CallWeb Service

Transformation

AddWrapper

- Existing callable RPG service can be called locally with parameters

Page 14: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

RPG Interactive - Transformation / Refactoring / Integration

- Existing DDS based interactive program

ExistingInteractive Program

in RPG or Cobol

Transformed Interact.Business functionality

in EGL (procedural)

EGL Service Libraries

Controller in EGL

- The transformation separates all display operations into EGL Service Libraries

Transform Refactor

Transformed Interact.Business functionality

in EGL (as service)

EGL Service Libraries

RMEi Web API RMEi Web API

- Manual refactoring allows to rearrange the business functionality as services

- A new controller and UI can be build with EGL’s powerful drag & drop UI capabilities

Web Based UIIntegrated Web Based UI (HTML / JSF) or Web 2.0 (RUI)

- The optional RMEi Web API can be used to build a Web UI with very little effort that integrates with the EGL UI

- The optional RMEi Web API can be used to build a Web UI with very little effort that integrates with the EGL UI

Integrated Web Based UI (HTML / JSF) or Web 2.0 (RUI)

Page 15: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Refactoring or not ?

Refactoring

- the application architecture is refactored into a service oriented architecture- possibility to create very attractive user interfaces- maintenance agility is improved- only limited tool support available- very high initial effort

RMEi Web API

- no need to refactor the application architecture- possibility to create attractive user interfaces- seamless Integration with new EGL JSF or RUI development- complete tool support available- very low effort- evolving into Web 2.0 (RUI)

Refactoring and RMEi Web API can be combined !

Page 16: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

RMEi Web API Overview - Architecture

ExistingInteractive

RPGProgram

5250 Terminal

5250 Datastream

I5 OS

DDS

EGLBusiness

functionality

EGLUILib

RMEi Web API

JavaServlet

Browser (JSF)

HTML / JS

XMLform

XMLExtended style

DDS

EGL RUIController

EGL RUIController

AJAX

Browser (RUI)

RMEi Web API

Page 17: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Steps in the Transformation Process

1. Analysis- Analyze Application and prepare Transformation

2. Proof of Concept- take a small subset of the application and do a transformation

3. Step by Step Transformation- do transformation project in small steps based on migration units

4. Remediation & Cleanup / Refactoring- do the final cleanup and code remediation- option - transform DDS based UI to RUI- option - refactor the desired programs into services and build a new controller / UI where needed

5. Integration- Integrate the transformed package with the working application

6. Test

Page 18: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

IBM Activities to establish EGL in the market

Capability

Mindshare

Extensibility

Consistency

CommunityWhat: EGL Cafe

Goals:•Focal point for community•Share tips, techniques, parts•Communication: Forums, Blogs

Target Audience:•All EGL developers•EGL partners & ISV’s•IBMers

What: RBD v7.5Goals:•Market-leading Web 2.0 Tools•SOA Enhancements

Target Audience:•Line of Business Application Developers•Departmental Developers•Web Developers

What: Free EGL SDK

Goals:•Stimulate university 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•College Professors•Curious Corporate Developers•Departmental Developers

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

When: 4Q 2008

What: EGL Open

Page 19: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

EGL Café

Online community for EGL developers, partners, and clients

Discussion forums Gallery of sample applications and widgets Presentations, videos, and articles Blogs by IBMers and partners Success stories Become part of the community today!

Resources: Download, Learn, Presentations, Video/viewlet, Sample Code

Community: Clients, Partners, Influencers, Press, News and Events

Collaboration: Blogs, Forums, Tips and Techniques Comments, Ratings

Testimonials: Case Studies, Celebrations!

http://ibm.com/rational/eglcafe

Page 20: The smooth evolution of RPG and COBOL applications into Web 2.0 PKS Software pks

© Copyright IBM Corporation 2008

Summary

EGL – IBM’s Newest Business Language - Key role in IBM’s Enterprise Modernization story- Simplified programming model to develop sophisticated Web 2.0, SOA

and traditional applications - Integrated with Rational Team Concert- Strong community of customers and business partners with EGL Café

RMEi – IBM’s Technology to evolve RPG and COBOL apps - Key role in IBM’s Enterprise Modernization story- Allows to evolve existing RPG and COBOL assets into Web 2.0- Supports evolution in small steps - Reduces risk and budget- Protects your investments

www.ibm.com/rational/eglcafe