from rpg oa to node.js: approaches to application modernization - greg patterson

42
From RPG OA to PHP/Node.js: IBM i Modernization and Mobile Approaches Presented by:

Upload: fresche

Post on 12-Jan-2017

77 views

Category:

Technology


0 download

TRANSCRIPT

From RPG OA to PHP/Node.js:

IBM i Modernization and Mobile

Approaches

Presented by:

Presenter

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

Brief History

• Webfacing, Hats, JWalk

• Slow performance

• “Lipstick on a pig”

• Deployment

• New Product Enhancements (or not)

• Browsers/JavaScript Improvements

IBM Redbook

Considerations

• Skillset

• Timeline

• Budget

• Current Applications

• Mobile

• Reface, Re-engineer or Replace

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

5250 Refacing

5250 Datastream - Benefits

• Fastest Results

• No code changes

• COBOL or RPG (any version)

• Any screen (3rd party, OS, custom)

• All DDS

– Data and Screen Constants

– Includes input formatting rules (ex: auto record advance)

– Field positioning

• Not many limitations

Rich Web Applications

Assisted Intuitive Data Entry

Visually Present Data

Easy Deployment

Repurpose

Mobile Support

eBook

http://www.bcdsoftware.com/business-case-ebook

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

5250 and Open Access

What is RPG Open Access

• Developed by IBM

• Get data from RPG to the browser

• Green screens or new RPG programs

• Bypasses 5250 datastream

• OA Handler populates data structure

• Use traditional I/O, existing RPG skillset

RPG OA - Requirements

• Source code

• Add 1 line of source code, recompile

• RPG IV

• Field data only

• Conditional compiles if green screen is a

requirement

• Grids need a load all subfile

• Minimum OS – v6.1 or higher

Grids

Field Types

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

Stateless Web Applications

• New web applications

• No call stack

• Standard web development

• Scalable

• Customer facing

• SEO, bookmarks

Why is PHP Attractive?

• Proven enterprise solution

– Thousands of IBM i shops using PHP

– Half of the Top 10 busiest sites (via alexa.com)

• Easy to adopt for RPG Developers

– Procedural to OO to frameworks

– Similar structure to RPG subprocedures

• Attract new developers

– 5-7 million PHP developers

– More and more coming to the platform

• Community

– Free scripts

– IBM and Zend Support

Why PHP eBook

http://www.bcdsoftware.com/lp/websmart-php/php-on-ibm-i.php

Leverage RPG Code

Pricing and

Availability

PHP – RPG Program Call

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

What is Node.js

• Server side web applications

• JavaScript for client and server side

• Open source

• Created in 2009

• Popular technology

– Walmart, LinkedIn, PayPal

Node.js Benefits

• Performance

• Open source community

• Attract new developers

• One less language

• Programmer Productivity

• Leverage RPG

ILE – RPG CGI

• WebSmart ILE

• Stateless

• Uses native CGI APIs

• Runs using Apache Web Server

• Produce secure web applications

– Login – IBM i user IDs, LDAP, etc.

– Use Sessions

• Better than stateful for new, highly scaleable apps

• SEO, Bookmarks

Agenda

• Brief History of Modernization

• 5250 Refacing

• RPG OA

• PHP

• Node.js

• Mobile

3 Approaches to Mobile

• Native mobile applications

• Hybrid applications

• Mobile/Responsive web applications

Native Mobile Applications

• Device native programming languages

– iOS – Objective C/Swift

– Android – Java

– Windows – C#

• Not cross platform – device specific

• Deployment

– App Store

– Google Play Store

– Windows Store

Native Mobile Applications

• Direct access to device hardware

• Great user experience

– Speed

– Reliability

– Access

• Web services for IBM i data

Hybrid Mobile Applications

• Web technologies

• Turn web application into a mobile application

– Wrapped in platform specific shell

– Runs in native container

– Same deployment as Native

• APIs to access device hardware

• No native development language/reuse code

• Easier to enter native app development

• Slower performance

Mobile/Responsive Web Applications

• Websites accessed from device browers

• HTML, CSS, JavaScript

• PHP, RPG, Node.js and more

• Look/feel like a native app

Mobile/Responsive Web Applications

• Single code base for all platforms

– Not all browsers render the same

– Can optimize for specific browsers

– Responsive

• HTML5 and JavaScript Frameworks

• Instant updates

Mobile/Responsive Web Applications

• Offline support

• Less direct access to device hardware

• Performance depends on:

– Network

– Device

• Responsive – one code base for desktop/devices

Which Approach to Choose

• Mobile/Responsive web applications

• HTML/CSS/JavaScript constantly improving

• Browser delivery becoming standard

• That said … no one size fits all

From RPGOA to PHP/Node.js: IBM i

Modernization and Mobile Approaches

Questions?