© Logicalis Group ILE and RPG IV Logicalis Briefing, 9 September 2005.

Slides:



Advertisements
Similar presentations
RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
The Web Warrior Guide to Web Design Technologies
ILE COBOL. IBM defines ILE as: The Integrated Language Environment (ILE) is a new set of tools and associated system support. ILE is designed to enhance.
© Logicalis Group Java on the iSeries Mandy Shaw, Logicalis.
© Logicalis Group Roadmaps for System i application modernisation Mandy Shaw, Chief Technology Officer, Logicalis Computing Solutions.
Technical Architectures
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Using Visual Basic 6.0 to Create Web-Based Database Applications
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Interpret Application Specifications
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Stored Procedures Dr. Ralph D. Westfall May, 2009.
Jump-Start Embedded SQL into RPG Presented by: Robert Arce.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 37 - JavaServer Pages (JSP): Bonus for Java Developers Outline 37.1 Introduction 37.2 JavaServer.
Database Applications.  Database Programming  Web databases  Application architecture.
WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ CA 2E r8.5 – An Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Benefits of PL/SQL. 2 home back first prev next last What Will I Learn? In this lesson, you will learn to: –List and explain the benefits of PL/SQL –List.
© iPerimeter Ltd Unix and IBM i  AIX and Linux run natively on Power Systems  IBM i can do Unix type things in two ways:  Posix/QShell  Ordinary.
Using Visual Basic 6.0 to Create Web-Based Database Applications
JDeveloper 10g and JavaServer Faces: High-Performance UIs on the Web Avrom Roy-Faderman Senior Programmer May, 2006.
Hans-Peter Plag October 16, 2014 Session 3 Programming Languages Data Types and Variables Expressions and Operators Flow Control.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
© Logicalis Group Using DB2/400 effectively. Data integrity facilities Traditional iSeries database usage Applications are responsible for data integrity.
2-1 WEB DATABSE INTERFACING Colorado Technical University IT420.
Hans-Peter Plag November 6, 2014 Session 4 (Programming Languages) (Data Types and Variables) Expressions and Operators Flow Control.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 12 Understanding database managers on z/OS.
Set path vs current schema. Set Current Schema ‘The CURRENT SCHEMA special register specifies a VARCHAR(128) value that identifies the schema name used.
ICS 321 Fall 2009 DBMS Application Programming Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 10/06/20091Lipyeow.
ICS 321 Fall 2010 SQL in a Server Environment (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 11/1/20101Lipyeow.
Programmatic SQL Shaista Khan CS 157B. Topic Embedded SQL statements in high-level programming languages.
Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap.
Welcome to RPG544. Bit about Cindy Administrative Stuff Standards Due Dates Web Page.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
1 CS 430 Database Theory Winter 2005 Lecture 14: Additional SQL Topics.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Presentation © Copyright 2002, Bryan Meyers Introduction to Programming and RPG Chapter 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Enterprise Modernization Made Easy with IBM Development Tools
Visual Basic Integrated Development Environment (IDE) 56:150 Information System Design.
1 Week # 4 Introduction to PDM PDM is a workbench environment that lets programmers and system operators navigate the three levels of the AS/400’s object-based.
Chapter 6 Chapter 6 Server Side Programming (JSP) Part 1 1 (IS 203) WebProgramming (IS 203) Web Programming.
Chapter – 8 Software Tools.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Bayu Priyambadha, S.Kom. Static content  Web Server delivers contents of a file (html) 1. Browser sends request to Web Server 3. Web Server sends HTML.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Be “GUI ready” developing in RPG by Robert Arce from PrismaTech. Be “GUI ready” developing in RPG-ILE Presented by: Robert Arce.
2Object-Oriented Program Development Using C++ 3 Function Declarations and Definitions Analogize functions to methods –Share same basic features –Unlike.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
The Holmes Platform and Applications
22BI Creating SQL Functions
UNIT - V STORED PROCEDURE.
IBM AS 400 online Training in Hyderabad
The HP OpenVMS Itanium® Calling Standard
iSeries Interface Green screen Web browser Web service Transport 5250
DB2.
WebSphere and iSeries Reference examples 23 November 2018.
JavaServer Faces: The Fundamentals
Plug-In Architecture Pattern
Presentation transcript:

© Logicalis Group ILE and RPG IV Logicalis Briefing, 9 September 2005

Green screen 5250 Display file RPG or COBOL program Physical or logical file DB2/400 Interface Presentation and navigation Transport Application logic Interface to data store Database Web browser WebFacing and/or HATS Struts/JSF Entity bean Session bean Connectors JDBC, MQ, etc. Web service, e.g. for.Net coexistence Embedded SQL An iSeries developer’s roadmap

Another view RPG IV RPG III ILE SEU/PDM/SDA Remote Systems Explorer Java DDS Separate presentation from logic (HTML/GUI) Native database access SQL WDSC J2EE IDE Support, maintainability and reuse Change control and deployment techniques Performance Open standards Debugging Batch FTP, custom formats Assured delivery messaging, message transformation, XML Program-to- program calls Open standards component interaction

RPG IV and the Integrated Language Environment RPG IV Functionality Syntax Why ILE? Flexibility Performance Ease-of-use

RPG/IV Highlights Specification layout changes (no L or E specs) New D(efinition) spec Expanded names - underscore allowed - 10 chars Upper/lower case source equivalency Free-form Maths & logical expressions Date, Timestamp support Pointer support Most limits raised or removed You have to convert - not source compatible Migration process is straightforward (CVTRPGSRC)

RPG/IV Examples DQCUSTCDT C 'QCUSTCDT' DPROCDS DS D PTR1 * PROCPTR INZ(%PADDR(QCUSTCDT)) D PROCS * PROCPTR DIM(100) DFILEDS DS D FIL1 10A INZ(QCUSTCDT) D FILES A DIM(100) DPROC S * PROCPTR C FILE LOOKUP FILES(X) 50 C MOVE *NULL PROC C RETURN If (A > 10 AND *IN02) EVAL Salary = Salary * 1.25 Endif DOU CowsComHom = '1' Exsr MovCows Eval CowsComHom = (CowsInFld = 0 AND CowsEnRte = 0) EndDo IF NeedName Eval(P) WholeName = FirstName + ' ' + LastName + '.' EndIf DName DS BASED(Ptr) D FirstName D Lastname DARRA S 10 DIM(10)

ILE benefits Original Program Model (OPM) Single entry point Single variable scope, no pointer support One program = one compilation Dynamic program-to-program calls with performance overhead Integrated Language Environment (ILE) Modular programming with good performance No need for dynamic program-to-program calls Mix programming languages without performance overhead C, C++, COBOL, RPG, CL Code re-use, multiple entry points Nested variable scope, pointer support Faster compilations

ILE example PTSTSOCKET HOST(PACIFIC6) PORT(1352) If successful, a completion message will be returned Connection successfully obtained to PACIFIC6 on port 1352 Otherwise, an appropriate escape message will be returned Host CAT32 name resolved but no connection was possible on port 1352

Invocation: dynamic (external) versus bound (internal) Program A Program A subroutine calls another subroutine in same program: INTERNAL CALL Program B Program C SUB1 SUB2 Program B calls Program C EXTERNAL CALL

Structure of a simple ILE program Procedure CRTINVNBR Procedure DATEHANDLE RPGMOD1 Module MOD1 Module MOD3 Program INVMAST CBLMOD1 Module MOD2 Programs *PGM object. OPM via CRTxxxPGM, ILE via CRTPGM *PGMs contain 1 or more modules Modules *MODULE object type Contains translated but unexecutable code Must be BOUND into a program to run Input is a source member May contain one or more procedures Procedures Executable code with entry point Not an AS/400 object RPG & Cobol: 1 per compilation, C: many per compilation Appear on CALL stack

Binding Procedure CRTINVNBR Procedure DATEHANDLE Module RPGMOD1 Module CMOD3 Module CBLMOD2 Program INVMAST Module RPGMOD1 Module CBLMOD2 Module CMOD3 Procedure CRTINVNBR Procedure DATEHANDLE CRTPGM INVMAST MOD(RPGMOD1 + CBLMOD2 + CMOD3) Cobol SRCMBR CBLMOD2 RPG SRCMBR RPGMOD1 C SRCMBR CMOD3 CRTRPGMOD CRTCBLMOD CRTCMOD CALLB CBLMOD2 CALL LINK CMOD3 PROC CRTINVNBR  Program INVMAST is statically bound by copy

Service programs Procedure CRTINVNBR Procedure DATEHANDLE Module MODX Module CMOD3 Module MODY *SRVPGM SRV1 Module MODX Module MODY Module CMOD3 Procedure CRTINVNBR Procedure DATEHANDLE CRTSRVPGM + SRV1 + MOD(MODX + MODY + CMOD3) Cobol SRCMBR MODY RPG SRCMBR MODX C SRCMBR CMOD3 CRTRPGMOD CRTCBLMOD CRTCMOD  Service program is analogous to subroutine library or DLL

Activation groups Menu FILEX INV1INV2INV3 ActGrp INV FILEX OE1OE2OE3 ActGrp OE Default Group OPM Pgm

Activation groups Applications can be separated more cleanly at run time Activation groups own resources such as ODPs, Commit Scope, exception handlers and SQL cursors but not Overrides A default activation group created for OPM and IBM code CRTPGM and CRTSRVPGM commands specify activation groups: By name *CALLER *NEW Requires some design thought, especially if exception handling is used and if OPM and ILE programs are mixed Watch out for third party usage!

Hints and tips Don’t go overboard … Change control and regression testing impact