Migrate AS 400 Applications to Windows, UNIX or Linux



Similar documents
Migrate AS 400 Applications to Linux

System and Storage Virtualization For ios (AS/400) Environment

AS/400 System Overview

Rational Developer for IBM i (RDi) Introduction to RDi

Advantages of PML as an iseries Web Development Language

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia.

Building Applications Using Micro Focus COBOL

DOCUMENTATION MICROSOFT SQL BACKUP & RESTORE OPERATIONS

KonyOne Server Installer - Linux Release Notes

Alliance AES Encryption for IBM i Solution Brief

Senior Oracle Developer Call us today to schedule this resource. CORP: (214) CENDIEN

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

IBM WebSphere MQ File Transfer Edition, Version 7.0

a division of Technical Overview Xenos Enterprise Server 2.0

Using. DataTrust Secure Online Backup. To Protect Your. Hyper-V Virtual Environment. 1 P a g e

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs

Data Sheet VISUAL COBOL WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

Integrated and reliable the heart of your iseries system. i5/os the next generation iseries operating system

Supported Platforms. HP Vertica Analytic Database. Software Version: 7.1.x

IBM INFORMATION MANAGEMENT SYSTEMS (IMS ) MIGRATION AND MODERNIZATION - CONVERSION OF HIERARCHICAL DL/1 STRUCTURES TO RDBMS

Siebel Installation Guide for UNIX. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

Application Development Guide: Building and Running Applications

Veritas Cluster Server from Symantec

Migrating from Unix to Oracle on Linux. Sponsored by Red Hat. An Oracle and Red Hat White Paper September 2003

Supported Platforms HPE Vertica Analytic Database. Software Version: 7.2.x

Key Management in the Multi-Platform Environment

User Guide Flying Cloud Drive, Suite 200 Eden Prairie, MN Phone 952/ Fax 952/

HP Service Manager Compatibility Matrix

IBM Lotus Enterprise Integrator (LEI) for Domino. Version August 17, 2010

Contents. BMC Atrium Core Compatibility Matrix

MQ Authenticate User Security Exit Overview

Data Sheet: Archiving Altiris Server Management Suite 7.0 from Symantec Essential server management: Discover, provision, manage, and monitor

Scenario 2: Cognos SQL and Native SQL.

IBM Tivoli Monitoring for Applications

Chapter 2 System Structures

BMC BladeLogic Client Automation Installation Guide

DEPLOYMENT ROADMAP March 2015

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009

KonyOne Server Prerequisites _ MS SQL Server

Red Hat Enterprise Linux 6. Stanislav Polášek ELOS Technologies

Introducing Arcserve Unified Data Protection

How to use PDFlib products with PHP

IBM Enterprise Content Management Software Requirements

EMC Smarts SAM, IP, ESM, MPLS, NPM, OTM, and VoIP Managers Support Matrix

ServletExec TM 6.0 Installation Guide. for Microsoft Internet Information Server SunONE Web Server Sun Java System Web Server and Apache HTTP Server

data express DATA SHEET OVERVIEW

SENTINEL MANAGEMENT & MONITORING

APPENDIX III - Role definitions and required skills, by category. Application Development Category

DOCUMENTATION SHADOWPROTECT - MICROSOFT WINDOWS SYSTEM BACKUP AND RESTORE OPERATIONS

How To Migrate To Redhat Enterprise Linux 4

Siebel Installation Guide for Microsoft Windows. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

DOCUMENTATION FILE BACKUP

Patch Assessment Content Update Release Notes for CCS Version: Update

Supported Platforms. HP Vertica Analytic Database. Software Version: 7.0.x

DOCUMENTATION SYSTEM STATE BACKUP & RESTORE OPERATIONS

System Architecture V3.2. Last Update: August 2015

UNIX Operating Environment

Virtualization 101 ASPE RESOURCE SERIES. Prepared for ASPE by Global Knowledge's Kerry Doyle, MA, ZDNet/CNet.com Associate Editor

Linux as a Data Integration Platform

EMC Smarts SAM, IP, ESM, MPLS, NPM, OTM, and VoIP Managers 9.4 Support Matrix

Data Sheet: Server Management Altiris Server Management Suite 7.0 Essential server management: Discover, provision, manage, and monitor

Oracle SQL Developer Migration

Integration Service Database. Installation Guide - Oracle. On-Premises

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Heroix Longitude Quick Start Guide V7.1

IBM CICS Transaction Gateway for Multiplatforms, Version 7.0

Turning ClearPath MCP Data into Information with Business Information Server. White Paper

Symantec Server Management Suite 7.6 powered by Altiris technology

Feith Rules Engine Version 8.1 Install Guide

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

Data Warehouse Center Administration Guide

Datasheet Fujitsu Cloud Infrastructure Management Software V1

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

SapphireIMS Business Service Monitoring Feature Specification

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

Managing Change is our Business

CA Workload Automation Agent for Remote Execution

Altiris IT Management Suite 7.1 from Symantec

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

InRule. The Premier BRMS for the Microsoft Platform. Benefits THE POWER OF INRULE. Key Capabilities

CA Workload Automation Agents for Mainframe-Hosted Implementations

OPERATING SYSTEM SERVICES

DeBruin Consulting. Key Concepts of IBM Integration Broker and Microsoft BizTalk

Datasheet FUJITSU Software Systemwalker Runbook Automation V15

JBoss Enterprise Middleware

Comparison of DBI Products and BMC SmartDBA

IBM Business Monitor Version IBM Business Monitor Installation Guide

REMOTE DEVELOPMENT OPTION

BIRT Document Transform

StreamServe Persuasion SP5 Supported platforms and software

Version Overview. Business value

ODBC Driver User s Guide. Objectivity/SQL++ ODBC Driver User s Guide. Release 10.2

Product overview. CA SiteMinder lets you manage and deploy secure web applications to: Increase new business opportunities

SOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data.

Acronis Backup Product Line

Frequently Asked Questions (FAQs) United Computer Group, Inc. VAULT400 System i (AS/400) Agent

SQL Basics for RPG Developers

Transcription:

Migrate AS 400 Applications to Windows, UNIX or Linux INFINITE Corporation White Paper prepared for Infinite Product Group date January 2012 Abstract: This paper is a discussion of how to create platform independence by executing i OS (AS/400) applications on the Linux operating system and Oracle as the database. The approach behind this paper is to explain how to execute AS/400 DB2/400 applications under Linux/Oracle without having to rewrite the RPG or COBOL/400 application code. Copyright 2011 Infinite Corporation. IBM Midrange, AS/400, OS/400 and System/36 are registered trademarks of the IBM Corporation. Windows, Internet Explorer, Visual Basic, VB Scripting, HyperV are registered trademarks of Microsoft Corporation. Dell is the registered trademark of Dell Corporation. Oracle, Sun and Solaris are registered trademarks of Oracle Corporation. HP, HP-UX and Integrity are registered trademarks of Hewlett Packard Corporation. Red Hat Enterprise Linux (RHEL), Red Hat Enterprise Virtualization (RHEV) and JBoss are registered trademarks of Red Hat Corporation. VMWare is a registered trademark of VMWare, Inc. Java and Sun are registered trademarks of Oracle Corporation. Infinite Cloud, Infinite i and Infinite 36 are registered trademarks of Infinite Corporation. All other product and brand names are registered trademarks of their respective companies. No part of this document may be reproduced without written permission of Infinite Corporation.

Contents INTRODUCTION... 3 OVERVIEW... 3 Background... 3 Solution... 3 THE CHALLENGE... 4 Job Management... 4 Database... 5 Printing... 5 Other Services Functions... 6 THE REHOSTING SUITE... 6 Save Application On AS/400... 6 Load Application On Infinite i... 6 Build Application... 6 Application Changes... 6 APPENDIX: SUMMARY OF AS/400 FEATURES... 7 Page 2 of 7

INTRODUCTION This paper is a discussion of how to create platform independence by executing i OS (OS/400) applications on the Windows, UNIX or Linux operating system and Oracle as the database. The approach behind this paper is to explain how to execute AS/400 DB2 400 applications under MS SQL or Oracle without having to rewrite the RPG or COBOL/400 application code. OVERVIEW Background Software companies and end users developed on the IBM AS 400 (System i) platform because it offered a number of advantages database capabilities at the machine level, stability, wide acceptance and excellent support from IBM. As the industry matured, the marketplace has sought more open growth platforms such as Linux, UNIX or Windows. Starting over every time a new business requirement arises is neither practical nor justifiable. An approach is needed which enables applications to adapt to rapid business and technology changes. Many companies wish to operate their AS 400 applications under Windows, UNIX or Linux instead of i OS. They wish to run the software in a virtualized environment like VMWare or Red Hat Enterprise Linux, they wish to use industry standard blades instead of proprietary System i or IBM P series running i OS and DB2/400. They would like to write to an industry standard database like Oracle and they would like to provide a Cloud-based, graphical UI that is intuitive and not menu-driven. This paper will explain how these objectives can be achieved. Solution This white paper will discuss how to migrate RPG or COBOL code, CL and DDS to Windows, UNIX or Linux and to execute on Oracle. AS/400 applications were generally written in RPG/400 and were subsequently developed in RPG ILE. The usual compiled environment of AS/400 applications also includes CL and DDS. In order to accomplish these objectives, the code must be recompiled. In this instance, we are using the compilers available from Infinite Corporation. Infinite has developed a family of products named Infinite i. As part of this product family, there are several compilers that will provide for the recompilation of RPG.400, RPG ILE, COBOL/400 and COBOL ILE, CL and DDS source code. Once recompiled, this code will be executed as native object code for Red Hat Enterprise Linux 6.0. This is a 64-bit environment. This approach uses what you already have; proven AS 400 code and resources, and allows you to execute functionally rich applications on a lower-cost 21st century platform. Using infinite i, end-users can combine all the competitive edge benefits of Windows, UNIX or Linux with the power and stability of their RPG or COBOL applications. Since the underlying code is the original, the skills required to maintain the core logic remain the same. In fact, this process maintains source code integrity and simply allows it to be distributed on open platforms. Page 3 of 7

For AS/400 ISV s, Infinite i provides a way to access thousands of new sales prospects, without taking years to rewrite applications. ISV s can maintain the same source code and continue development on the IBM i OS deploy those programs on the i OS or Linux or even Windows via Infinite i. To illustrate what infinite i can do we will look at how Infinite i deals with rehosting an AS/400 application to run on Windows, UNIX or Linux. THE CHALLENGE Presented with the challenge of running an AS/400 application on Windows, UNIX or Linux, the problem that first comes to mind is that of source language; how to find a way of compiling thousands of programs written in proprietary CL, RPG or COBOL on Windows, UNIX or Linux? But, in fact, the language issues are only the small tip of a large iceberg. An AS/400 comes with a standard, mature and sophisticated environment designed to meet the needs of commercial applications. i OS (OS/400) provides the fundamental services required by an applicationservice such as print spooling, message handling, batch job process and, of course, the database. In contrast, the services provided by Windows, UNIX or Linux are less complete and less rich and where an adequate service is provided, it is invariably different to the service on an AS/400 in some significant respect. AS/400 applications depend on these services as much, if not more than, the CL, RPG and COBOL languages that are used to define the application algorithms. So, the most vital components of infinite i are not the language compilers but the Infinite Deployment Environment. This environment contains internal DLL s holding a legion of function that map OS/400 services on to underlying Windows, UNIX or Linux services and so provide an OS/400-like shell, in which application programs can execute. In this paper we examine the Big Five Services to see how Infinite i enhances standard Windows, UNIX or Linux architecture to implement OS/400 functionality. We will then look at the process by which an iseries application is built on Windows, UNIX or Linux. 1. Job management 2. Database access 3. User interface 4. Printing 5. Other service functions Job Management When an application program is compiled, Infinite i first generates intermediate C code (analogous to the Machine Code generated by the OPM and ILE compilers) and then uses the Microsoft Visual C++ compiler and linker to build native Windows DLLs, LIBs and EXEs. The characteristics of these components are similar to those of a program object on the ISERIES. The compiled components can be dynamically loaded into and unloaded from a running job. They can call other modules and Page 4 of 7

return control without being unloaded from the calling job (so enabling the RPG RETURN functionality). In addition to compiling application programs into Windows Standard DLLs, LIB and EXEs, Infinite i implements most of the standard OS/400 programs as DLLs with the same characteristics. An application running on Infinite i will find job and program models very similar to those on the ISERIES. The job management service functions provide the glue to link the programs together at runtime and implements job attributes such as the library list, program stack and job message queue that provides the backbone of any application job. Database Infinite i replicate the System i DB2/400 database within the suite of programs, providing a complete replacement of the System i. The internal database provides all the routine functionality (physicals, simple and join logicals, select/omit, triggers, etc) as well as functionality that is specific to DB2/400 such as multi-member files, multi-format logicals, etc. Alternatively, either Oracle or SQL Server can be designated as the repository for all or just a subset of an application's data files. In this case, Infinite i creates the database schemas (for example, mapping physical files to tables, logical files to views) and, at runtime, translates the application database calls (READ, READE, SETLL etc.) to the appropriate SQL statements. This translation takes place within the database service function so the application programs remain independent of the implementation. Printing Infinite i replicates the traditional I Series print service functions that provide a high level of support for printer file DDS, together with an implementation of the OS/400 print spooling system (including out queues, device descriptions and writer jobs) that integrates naturally with the target operating system s Print Manager. This allows for the same level of application and operator control of print activity, using the standard commands (e.g. RLSSPLF) and user interfaces (e.g. WRKSPLF). Alternatively a user can choose to have output for designated printers released immediately to the Print Manager so that print jobs can be managed using standard interfaces. Page 5 of 7

Other Services Functions The OS/400 object management system provides a variety of object types, most of which are listed in Figure 1. The Infinite i service functions implement all the object types that are in common use by applications. In each case, the object is implemented using one or more of the target operating system files and wrapper functions to provide controlled access to the object and to implement the standard OS/400 commands and APIs. THE REHOSTING SUITE Save Application On AS/400 Migrating an application to Infinite i is a straightforward procedure. The application needs to be saved on the IAS/400 using SAVLIB to save all the application components (source and object) to save files. The save files are then transferred to Infinite i. Load Application On Infinite i Infinite i provides the command RSTAPP - Restore Application, to load the application components from the save files. This command: Restores all the source files and members Uses catalog information in the save files to generate instructions describing how the source members need to be compiled Automatically restores other object types that are not created from source (e.g. job descriptions, message files) Build Application The Infinite i command RUNBIF, Run Build Instructions, executes the build instructions that were generated by the load phase, by making calls to the appropriate 'create' commands (CRTPF, CRTRPGPGM, CRTBNDRPG etc). When this command has completed, all the source members should have been compiled and the application will be ready for testing. Application Changes Infinite i provides development tools to allow changes to be made, built and tested. The SEU, PDM and the language compilers implement full source validation they don't assume that they will be compiling valid source programs. Alternatively, if the application source is still hosted on an AS/400, changes can be made there and selectively transferred to and rebuilt on Infinite i using the procedure described above. Page 6 of 7

APPENDIX: SUMMARY OF AS/400 FEATURES Supported Languages ILE RPG RPG/400 SQL RPG/400 COBOL/400 SQL COBOL/400 CL/400 CMD/400 DDS/400 (pf, lf, dspf, prtf) Development Support Programming Development Manager (PDM) Source Entry Utility (SEU) Debugging Interface w/ C language from within HLLs. Database Support Database Engine Internal DB2/400 Connectivity w/ MS SQL Server Connectivity w/ Oracle Support for Multiple Members Support for Multiple Formats Joined Files OPNQRYF Triggers Commitment Control Query/400 DFU (Data File Utility) LAPIS Job Management Batch job processing Job Scheduling Subsystems Joblog Job Description Data Queues (DTAQ) Data Areas (DTAARA) Message Handling User Interface Work With panels Menus Command prompts Panel Groups (PNLGRP) Telnet 5250 Data Stream User profiles Object Management Save / Restore Printing Spooling Output queues (OUTQ) Spool Writers (SPLWTR) Local and remote printing Migration Support OS/400 API support Most common APIs USRSPC handling Page 7 of 7