Sidebar

From Green-screens to Visual Vistas

IBM i (OS/400, i5/OS)
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

In the old days, AS/400 trends and directions changed slowly (if they changed at all). There was a time when knowledge of CL, DDS, and RPG (or COBOL) empowered a programmer to do everything and anything with the AS/400. Alas, today’s AS/400 lives in a changed world: TCP/IP has replaced SNA, Windows desktops are the workstations of choice, new-hire users think green-screen is an environmentally friendly suntan lotion, and everyone wants GUIs.

Today, AS/400 programming teams are squeezed between user demands and management demands for GUIs. It’s a no-win situation; either you deliver applications with the user interface that your users demand, or the programmer who takes your place will! Users demand snazzy GUIs because they’re used to using GUIs with their spreadsheets and word processors and because they perceive GUIs as easier to use. Managers and decision-makers want snazzy GUIs because GUIs keep them competitive at the country club, because they also perceive GUIs as easier to use, and because they equate GUIs with modern applications.

What’s an AS/400 programmer to do? Can you leverage your traditional AS/400 programming skills to deliver the kinds of applications demanded of you today? Can you bootstrap what you know about the AS/400 to deliver modern AS/400 applications without investing hundreds of hours of your free time to learn a new programming model? Can you learn to leave SEU behind and still enjoy programming? The answer is a resounding yes!

A handful of Windows-based development environments target the AS/400 for application development. As a category, these tools create Windows executables (EXEs) that connect in real time to the AS/400 database. This article focuses on the RPG skills transference that ASNA Visual RPG (AVR) offers. AVR offers a Windows-based Integrated Development Environment (IDE) powered by good ol’ RPG. With AVR, you put your RPG skills to work immediately, creating freestanding Windows EXEs with all the bells and whistles the Windows interface has to offer to connect in real time to the AS/400, NT Server, or local PCs.

Is there a learning curve for Windows development? Of course there is, but as this article explains, you’re quite likely to be pleasantly surprised at how low that learning curve is. You’ll also be amazed at how quickly you can create robust, deployable, line-of- business applications for both Windows and the Web.

Maintaining Your Self-confidence

As you move from traditional AS/400 programming languages to modern development environments, the first speed bump you need to clear is culture shock. Gone are your old friends SEU, PDM, and RLU. At first, if you’re like most RPG programmers, moving from RPG to a Windows-based development environment is like hopping from behind the wheel of a VW Beetle into the cockpit of a 747. First and foremost, you mustn’t lose your self-confidence because of your early lack of control in the new development environment. It’s easy for RPG programmers to take for granted how hard they’ve worked to acquire the green-screen development skills they have today. Think back to the period when you were learning AS/400 subfiles; now, there is a tricky technology to master completely. (Does anyone ever really master green-screen subfiles?)

The point is that you’ve worked hard to learn subfiles. You’ll also have to work hard to learn other models of programming. However, it can be done; you already have the basic skill set. Windows programming isn’t inherently any more mysterious than working with RPG subfiles. Remember, too, that while you may not be able to render a fractal as well as a PC cowboy can, you have very valuable experience building business applications. (When did you last need to make a general ledger application fractal-friendly?) Concepts such as record locking, appropriate use of indexed files, and subfile knowledge all map directly into Windows programming.

Learning the Event-driven Programming Model

A lot has been written about how most Windows-based application development environments use event-driven programming, so it’s easy to blow the event-driven programming concept out of proportion. Event-driven simply means that an internal event monitor is implicitly present in Windows programs. This monitor watches for mouse clicks or keystrokes and then directs action to the appropriate chunk of code.

It’s often written that, with event-driven programming, the program, not the user, is in control. Nonsense! Polling for a mouse click in a Windows program is no more sophisticated than watching for an F7 stroke in RPG. Event-driven programming is hardly a mysterious Zen science. In fact, although you may not have realized it, you’ve been doing event-driven programming since day one with CL’s Monitor Message (MONMSG) command.

With MONMSG, an event monitor calls the appropriate stub of CL code. Just as MONMSG works with a CL GOTO, Windows programs let you easily associate subroutines with Windows events. In fact, as bizarre as it may seem, all Windows programs have an implicit loop, just as RPG programs do. This Windows loop polls for “events” (such as buttons being pressed) and implicitly directs code execution to the programmer-provided code for the corresponding event. Imagine a program with two events: an Exit button press and a Find Customer button press. The programmer doesn’t write logic for the loop (it’s there in Windows programs implicitly), only for subroutines that should be activated when the button is pressed. The only thing the programmer does explicitly in this “link” between the internal polling loop and writing code is to identify, in the code, which subroutine goes with which event.

Learning to Program by Form

Windows applications don’t use display files; they use Windows forms. As you create Windows programs, you need to change your mental model of application segregation from display file formats to forms. This challenge actually transforms itself very quickly into a huge visual programming asset because creating forms is done visually by dragging and dropping user interface components on forms. Unlike RPG or COBOL, most Windows programming environments do not separate creating the user interface from creating the application.

In fact, not only do Windows development environments tightly integrate creating the user interface with creating the application, but they also provide built-in debugging and on-the-fly program testing. Beyond being extremely productive, the tight edit/compile/run/debug cycle helps you to overcome visual programming culture shock quickly. It’s often as easy to write code and test its behavior as it is to check documentation.

Understanding Database Access

Another huge challenge of creating Windows-based applications is mastering typical Windows database access methods. These are the three most widely used ways to connect Windows applications to the AS/400:

• ODBC. For ad hoc query and reporting use, ODBC is a de facto standard. Unless you use ActiveX Data Objects, ODBC requires programming with a complex set of APIs; for the best performance, you should also use OS/400 stored procedures. ODBC drivers are very mature, and 25 major database platforms currently support ODBC databases access.

• OLE DB. OLE DB is the follow-on technology to ODBC. It uses an object-based programming interface (as opposed to ODBC’s API interface). OLE DB is quickly becoming the de facto standard for cross-platform database access. However, the quality of OLE DB access is directly proportional to the quality of the OLE DB database provider (OLE DB’s analog to an ODBC driver).

• Record-level access. Many Windows-based AS/400 application development environment eschew both ODBC and OLE DB for database access. These environments all use a variation of an AS/400-hosted server program tightly coupled to the Windows environment. With AVR, all of your RPG data access techniques (i.e., CHAIN, SETLL, READ, and UPDAT) work unchanged.

In addition to making AS/400 database access easy, AVR also makes cross- platform applications a snap. By deploying AVR's Acceler8DB (ADB) database on NT Server or local PCs, you can, at runtime, easily point your AVR application to any of the three supported database locations (AS/400, NT Server, and local PCs). This database support is identical across the three platforms. Through ADB's interactive user interface, you manage the databases independent of their platform locations. AVR's multiplatform support makes it easy to deploy NT Server or local PC versions of what would otherwise be typically considered an AS/400-only application. Many AVR customers use AVR to create NT Server-specific applications.

Using Components to Build Software

Most Windows development environments make extensive use of Windows ActiveX controls. ActiveX controls are components you drag and drop into your application and are most widely used to provide user interface widgets such as buttons or input fields. However, an ActiveX control occasionally doesn’t provide a user interface, as is the case with a timer control or custom control written to include business logic.

Green-screen programming has no direct analog to Windows component-based architecture. ILE service programs, with their inherent reusability, are perhaps the best RPG concept mappable to ActiveX controls. To create a display file in RPG, you must first handwrite the DDS and then handwrite the RPG code to fill the subfile. AVR and most other Windows programming environments use ActiveX controls to create user interface widgets. For example, AVR provides a subfile control that, using drag-and-drop capability, is placed on a form. There, you assign it properties (such as the column widths and number of rows) and add event-driven code to fill the subfile.

Most Windows development environments also allow you create ActiveX controls. Thus, you could use a tool such as AVR or Visual Basic to create a file-specific subfile

control for your customer master file. Once created, you could easily drop that file-specific subfile control into 10 different programs.

Another thing that ActiveX controls do for you is to enable specialized, sophisticated user interfaces. One programmer used third-party ActiveX controls to add mapping and geo coding to his AS/400 law enforcement dispatching application. Adding these mapping facilities to a green-screen application would be all but impossible.

Taking Your Applications to the Web

You don’t need to be told how important the Web is today. Virtually every organization wants some part of its business put on the Web in some fashion. Because of the popularity of the Web, almost every AS/400-Windows development tool offers some way of putting AS/400 data on the Web. AVR’s method is to support Microsoft’s Component Object Model (COM), the low-level interface through which Windows processes communicate. With AVR, you can use your RPG skills to create AVR COM objects that build superb interactive Web sites.

Build for Today, but Prepare for Tomorrow

As an RPG programmer looking to move beyond host-based RPG, remember to think long-term. It’s important to select a tool that helps you to create deliverables for your business quickly and to prepare you personally for the future. Although such features may seem way off to you now, you should factor in Web-based development capabilities, cross-platform database access, and tool extendability. Don’t waste your time with stopgap solutions; focus on those that can serve as long-term enterprise application development tools.

An old RPG dog can learn new tricks. It’s simply a matter of selecting new development tools that let you leverage your existing programming skills and are sophisticated enough to let you build next-generation applications.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

RESOURCE CENTER

  • WHITE PAPERS

  • WEBCAST

  • TRIAL SOFTWARE

  • White Paper: Node.js for Enterprise IBM i Modernization

    SB Profound WP 5539

    If your business is thinking about modernizing your legacy IBM i (also known as AS/400 or iSeries) applications, you will want to read this white paper first!

    Download this paper and learn how Node.js can ensure that you:
    - Modernize on-time and budget - no more lengthy, costly, disruptive app rewrites!
    - Retain your IBM i systems of record
    - Find and hire new development talent
    - Integrate new Node.js applications with your existing RPG, Java, .Net, and PHP apps
    - Extend your IBM i capabilties to include Watson API, Cloud, and Internet of Things


    Read Node.js for Enterprise IBM i Modernization Now!

     

  • Profound Logic Solution Guide

    SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation.
    Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects.
    The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the companyare not aligned with the current IT environment.

    Get your copy of this important guide today!

     

  • 2022 IBM i Marketplace Survey Results

    Fortra2022 marks the eighth edition of the IBM i Marketplace Survey Results. Each year, Fortra captures data on how businesses use the IBM i platform and the IT and cybersecurity initiatives it supports.

    Over the years, this survey has become a true industry benchmark, revealing to readers the trends that are shaping and driving the market and providing insight into what the future may bring for this technology.

  • Brunswick bowls a perfect 300 with LANSA!

    FortraBrunswick is the leader in bowling products, services, and industry expertise for the development and renovation of new and existing bowling centers and mixed-use recreation facilities across the entertainment industry. However, the lifeblood of Brunswick’s capital equipment business was running on a 15-year-old software application written in Visual Basic 6 (VB6) with a SQL Server back-end. The application was at the end of its life and needed to be replaced.
    With the help of Visual LANSA, they found an easy-to-use, long-term platform that enabled their team to collaborate, innovate, and integrate with existing systems and databases within a single platform.
    Read the case study to learn how they achieved success and increased the speed of development by 30% with Visual LANSA.

     

  • Progressive Web Apps: Create a Universal Experience Across All Devices

    LANSAProgressive Web Apps allow you to reach anyone, anywhere, and on any device with a single unified codebase. This means that your applications—regardless of browser, device, or platform—instantly become more reliable and consistent. They are the present and future of application development, and more and more businesses are catching on.
    Download this whitepaper and learn:

    • How PWAs support fast application development and streamline DevOps
    • How to give your business a competitive edge using PWAs
    • What makes progressive web apps so versatile, both online and offline

     

     

  • The Power of Coding in a Low-Code Solution

    LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed.
    Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks

     

     

  • Why Migrate When You Can Modernize?

    LANSABusiness users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
    In this white paper, you’ll learn how to think of these issues as opportunities rather than problems. We’ll explore motivations to migrate or modernize, their risks and considerations you should be aware of before embarking on a (migration or modernization) project.
    Lastly, we’ll discuss how modernizing IBM i applications with optimized business workflows, integration with other technologies and new mobile and web user interfaces will enable IT – and the business – to experience time-added value and much more.

     

  • UPDATED: Developer Kit: Making a Business Case for Modernization and Beyond

    Profound Logic Software, Inc.Having trouble getting management approval for modernization projects? The problem may be you're not speaking enough "business" to them.

    This Developer Kit provides you study-backed data and a ready-to-use business case template to help get your very next development project approved!

  • What to Do When Your AS/400 Talent Retires

    FortraIT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators is small.

    This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:

    • Why IBM i skills depletion is a top concern
    • How leading organizations are coping
    • Where automation will make the biggest impact

     

  • Node.js on IBM i Webinar Series Pt. 2: Setting Up Your Development Tools

    Profound Logic Software, Inc.Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. In Part 2, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Attend this webinar to learn:

    • Different tools to develop Node.js applications on IBM i
    • Debugging Node.js
    • The basics of Git and tools to help those new to it
    • Using NodeRun.com as a pre-built development environment

     

     

  • Expert Tips for IBM i Security: Beyond the Basics

    SB PowerTech WC GenericIn this session, IBM i security expert Robin Tatam provides a quick recap of IBM i security basics and guides you through some advanced cybersecurity techniques that can help you take data protection to the next level. Robin will cover:

    • Reducing the risk posed by special authorities
    • Establishing object-level security
    • Overseeing user actions and data access

    Don't miss this chance to take your knowledge of IBM i security beyond the basics.

     

     

  • 5 IBM i Security Quick Wins

    SB PowerTech WC GenericIn today’s threat landscape, upper management is laser-focused on cybersecurity. You need to make progress in securing your systems—and make it fast.
    There’s no shortage of actions you could take, but what tactics will actually deliver the results you need? And how can you find a security strategy that fits your budget and time constraints?
    Join top IBM i security expert Robin Tatam as he outlines the five fastest and most impactful changes you can make to strengthen IBM i security this year.
    Your system didn’t become unsecure overnight and you won’t be able to turn it around overnight either. But quick wins are possible with IBM i security, and Robin Tatam will show you how to achieve them.

  • Security Bulletin: Malware Infection Discovered on IBM i Server!

    SB PowerTech WC GenericMalicious programs can bring entire businesses to their knees—and IBM i shops are not immune. It’s critical to grasp the true impact malware can have on IBM i and the network that connects to it. Attend this webinar to gain a thorough understanding of the relationships between:

    • Viruses, native objects, and the integrated file system (IFS)
    • Power Systems and Windows-based viruses and malware
    • PC-based anti-virus scanning versus native IBM i scanning

    There are a number of ways you can minimize your exposure to viruses. IBM i security expert Sandi Moore explains the facts, including how to ensure you're fully protected and compliant with regulations such as PCI.

     

     

  • Encryption on IBM i Simplified

    SB PowerTech WC GenericDB2 Field Procedures (FieldProcs) were introduced in IBM i 7.1 and have greatly simplified encryption, often without requiring any application changes. Now you can quickly encrypt sensitive data on the IBM i including PII, PCI, PHI data in your physical files and tables.
    Watch this webinar to learn how you can quickly implement encryption on the IBM i. During the webinar, security expert Robin Tatam will show you how to:

    • Use Field Procedures to automate encryption and decryption
    • Restrict and mask field level access by user or group
    • Meet compliance requirements with effective key management and audit trails

     

  • Lessons Learned from IBM i Cyber Attacks

    SB PowerTech WC GenericDespite the many options IBM has provided to protect your systems and data, many organizations still struggle to apply appropriate security controls.
    In this webinar, you'll get insight into how the criminals accessed these systems, the fallout from these attacks, and how the incidents could have been avoided by following security best practices.

    • Learn which security gaps cyber criminals love most
    • Find out how other IBM i organizations have fallen victim
    • Get the details on policies and processes you can implement to protect your organization, even when staff works from home

    You will learn the steps you can take to avoid the mistakes made in these examples, as well as other inadequate and misconfigured settings that put businesses at risk.

     

     

  • The Power of Coding in a Low-Code Solution

    SB PowerTech WC GenericWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed.
    Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks

     

     

  • Node Webinar Series Pt. 1: The World of Node.js on IBM i

    SB Profound WC GenericHave you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.
    Part 1 will teach you what Node.js is, why it's a great option for IBM i shops, and how to take advantage of the ecosystem surrounding Node.
    In addition to background information, our Director of Product Development Scott Klement will demonstrate applications that take advantage of the Node Package Manager (npm).
    Watch Now.

  • The Biggest Mistakes in IBM i Security

    SB Profound WC Generic The Biggest Mistakes in IBM i Security
    Here’s the harsh reality: cybersecurity pros have to get their jobs right every single day, while an attacker only has to succeed once to do incredible damage.
    Whether that’s thousands of exposed records, millions of dollars in fines and legal fees, or diminished share value, it’s easy to judge organizations that fall victim. IBM i enjoys an enviable reputation for security, but no system is impervious to mistakes.
    Join this webinar to learn about the biggest errors made when securing a Power Systems server.
    This knowledge is critical for ensuring integrity of your application data and preventing you from becoming the next Equifax. It’s also essential for complying with all formal regulations, including SOX, PCI, GDPR, and HIPAA
    Watch Now.

  • Comply in 5! Well, actually UNDER 5 minutes!!

    SB CYBRA PPL 5382

    TRY the one package that solves all your document design and printing challenges on all your platforms.

    Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product.

    Request your trial now!

  • Backup and Recovery on IBM i: Your Strategy for the Unexpected

    FortraRobot automates the routine tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:
    - Simplified backup procedures
    - Easy data encryption
    - Save media management
    - Guided restoration
    - Seamless product integration
    Make sure your data survives when catastrophe hits. Try the Robot Backup and Recovery Solution FREE for 30 days.

  • Manage IBM i Messages by Exception with Robot

    SB HelpSystems SC 5413Managing messages on your IBM i can be more than a full-time job if you have to do it manually. How can you be sure you won’t miss important system events?
    Automate your message center with the Robot Message Management Solution. Key features include:
    - Automated message management
    - Tailored notifications and automatic escalation
    - System-wide control of your IBM i partitions
    - Two-way system notifications from your mobile device
    - Seamless product integration
    Try the Robot Message Management Solution FREE for 30 days.

  • Easiest Way to Save Money? Stop Printing IBM i Reports

    FortraRobot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing.
    Manage your reports with the Robot Report Management Solution. Key features include:

    - Automated report distribution
    - View online without delay
    - Browser interface to make notes
    - Custom retention capabilities
    - Seamless product integration
    Rerun another report? Never again. Try the Robot Report Management Solution FREE for 30 days.

  • Hassle-Free IBM i Operations around the Clock

    SB HelpSystems SC 5413For over 30 years, Robot has been a leader in systems management for IBM i.
    Manage your job schedule with the Robot Job Scheduling Solution. Key features include:
    - Automated batch, interactive, and cross-platform scheduling
    - Event-driven dependency processing
    - Centralized monitoring and reporting
    - Audit log and ready-to-use reports
    - Seamless product integration
    Scale your software, not your staff. Try the Robot Job Scheduling Solution FREE for 30 days.