04
Mon, Nov
6 New Articles

Behold the March of IDEs: A Killer Tool for the AS/400

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Many traditional AS/400 developers have never used an Integrated Development Environment (IDE) of any kind. This article explains some of the benefits and common functionality one should look for when selecting an IDE.

During the past several years, many traditional AS/400 developers have watched as visual programming languages have gained tremendous popularity. The demands of users clamoring for a more dynamic interface has fueled a movement away from the character- based green-screen application in favor of the more glamorous graphical presentation. Many AS/400 professionals have satisfied this demand by branching out into client/server development. This strikes a bargain with the user community, allowing users to have the front-end bells and whistles they desire while the enterprise data remains safely secured on the AS/400. Even though client/server development has delivered mixed results, AS/400 programmers quickly become attached to their new development tools, and these PC-based programming environments have some great development tools.

Wh ethe r us ing Java , C+ +, V isua l Ba sic, or even HTM L, y ou w ill like ly u se a to ol c alle d an Int egra ted Deve lopm ent Envi ronm ent to c reat e yo ur a ppli cati on. IDEs us e th e ca pabi liti es o f yo ur P C to pro vide rob ust code edi ting , de bugg ing, and pa ckag ing. You may be thin king , “W e ha ve S EU o n th e AS /400 ; it doe s th e sa me th ing. ” While SE U do es p rovi de b asic cod e ed itin g fu ncti ons, it is h ampe red by i ts u se of the cha ract er-b ased AS/ 400 inte rfac e. S EU f unct iona lity has adv ance d ve ry l ittl e fr om i ts S /38 orig in a nd i s tr uly a di nosa ur b y to day’ s st anda rd f or d evel opme nt t ools . A mode rn I DE p rovi des func tion alit y we ll b eyon d th e ca pabi liti es o f SE U. I f yo u ar e us ing a tr adit iona l AS /400 pro gram ming lan guag e, s uch as R PG o r CO BOL, you don ’t ha ve t o be sat isfi ed w ith usin g SE U as you r pr imar y de velo pmen t to ol.

The purpose of this article is to explain some of the benefits and features commonly provided by IDEs and to offer guidelines to assist you with choosing an effective one.

A Common Set of Features

While each of the different languages has its own specific set of requirements for an IDE, a few general capabilities are shared in common. Most modern IDEs provide functionality in three areas: component management, source code editing, and interactive debugging.

Component Management

The prevailing trend in application development is to break software down into manageable components that perform specific tasks. An application built of lightweight components promotes reuse and is therefore easier to const ruct and maintain. The use of numerous components to develop an application underscores a critical need to track and manage these components. You simply can’t realize the benefits of reusing a component if you can’t easily identify it and add it to your application.

Each language has a unique set of components to be managed. If you are developing Java applications, you need to organize components such as packages, interfaces, classes, and methods. Visual Basic projects include modules, procedures, classes, and methods. If you develop ILE applications in RPG or COBOL, you must track and manage such components as modules, service progr ams, sub proc edur es, and disp lay fi les. Fig ure 1 shows component management features of Modelworks JPadPro, a popular Java IDE. An effective IDE not only shows you all of the components used in a given project but also allows you to easily identify and add new components.

Source Code Editing

The ability to work productively with source code is the cornerstone of any good IDE. A good source code editor provides functionality far beyond anything that can be done with SEU. A few of the common features that you can expect to find in an effective IDE include the following:

Multiple file editing. If you use SEU to edit your source code, you are aware of the limitation of being allowed to edit only one source member at a time. If, while makingchanges to the source member, you discover you need to makechanges to another member, you must close the member you’re working on before opening a second member. Most modern IDEs will permit you to open and modify several different files simultaneously, allowing you to easily switch between files. Figure 2 demonstrates multiple file editing in Aldon Flex/EDIT, an IDE designed specifically for AS /400 pr ogra mmer s. T his feat ure is p articularly useful when you cut or copy and paste information between files, similar to the way you work with documents using a word processor, such as Microsoft Word.

Online reference manuals and help text. Picture this: You’re working along in SEU, keying in a line of code, when you find that you’ve forgotten the syntax for the builtin function you’re trying to use. You keep trying different combinations until it passes the syntax checking. Now, wouldn’t it greatly improve your productivity if you could just type in the function name and press your Help key to display the entry in the reference manual for that particular function? That is exactly what most modern IDEs will do for you. Having instant online access to the manuals for the language you are using will save you hours of trial and error and guesswork.

In addi tion to this typ e of con text -sen sitive help, you should be able to browse or search entire online reference manuals. Many IDEs also have helpers that display tips as you type a line of code. For example, if you key in the name of a function, a help bubble will display a list of the function’s permissible parameters. Figure 3 shows an example of context-level help in Microsoft Visual Basic. This type of intelligent help saves you from having to interrupt what you are doing, ultimately saving you development time.

Multilevel undo/redo capabilities. Have you ever found yourself making changes to a source member only to realize that you got carried away and made more changes than were necessary? If you are using SEU, you don’t have many options to gracefully undo your changes. If you are using a good IDE, however, you have the option of clicking on

the undo button, thus restoring the last operation you performed. If you have a multilevel undo function, you can step back through all of your previous actions.

Search and replace capabilities. The ability to search for all occurrences of a particular string and replace that string automatically will save you time. All IDEs should provide the ability to search and replace, either within a single file or within all of the files with which you are working. This feature comes in particularly handy when performing tasks such as globally changing the name of a field. Performing the equivalent work in SEU can be a laborious process.

Co de t empl ates . M ost shop s ha ve a set of stan dard ized cod e fr agme nts or co mmen t st atem ents tha t ar e us ed r epea tedl y. A com mon exam ple of t his is a do cume ntat ion bann er t hat begi ns e very pro gram to iden tify inf orma tion suc h as pr ogra m na me, prog ram desc ript ion, pro gram mer name , an d mo difi cati on h isto ry. Ma ny I DEs allo w yo u to sav e su ch r epea tedl y us ed c ode frag ment s as tem plat es, al lowi ng t hem to b e ea sily add ed t o ne w pr ogra ms, modu les, etc . A code tem plat e sh ould not be conf used wit h a code gen erat or s ince it mere ly r ecal ls c ode that has bee n st ored for lat er u se.

Color-coded keyword support. Good user interface designers understand that the subtle use of color can be an effective tool to focus attention on a particular area. Many IDEs make effective use of color to offset an op code or verb within a line of code. Color schemes are also particularly useful to distinguish comments from active code. These techniques help a programmer quickly identify and isolate key information within a source member.

Customizable options and toolbars. Whatever IDE you use, it should allow you to customize the source editor for your individual preferences. Items such as rulers, colors, and fonts should all be customizable to meet your needs. The ability to dock and undock your function toolbars is also a desirable feature for programmers who prefer a less cluttered workspace.

Interactive Debugging

Unless your programs always function perfectly the first time you compile, you need an efficient tool to assist in debugging. The advantage of having an interactive debugging tool that is integrated with your editor is that you can immediately test your source as you work on it. With SEU, you have to break your train of thought by exiting the editor, compiling your source, entering your program into debug mode, and running your program in debug. With an IDE, you debug your code while still editing, without all of those time-consuming interruptions.

When you look at IDE debugging, you may want to consider some of the following features:

Easily set breakpoints. Breakpoints allow you to instruct the IDE to stop on a particular line of code while executing. This allows you to check the current value of variables and to step through the code from that point forward. Within the source editor, ad ding a b reak poin t to a l ine of c ode shou ld b e as sim ple as p ress ing a co mman d ke y or clicking an easily identifiable button. Once a breakpoint is set, the editor should give you a good indication of the breakpoint, such as highlighting or using color to make the line stand out.

Flexible line stepping. A good IDE will allow you to easily step through your code line by line. Some will even let you step d ir ec tl y to a particular line in your program while exec ut in g.

Q ui ck w at ch c ap ab il it y. It m us t be e as y fo r yo u to i nt er ro ga te t he v al ue o f v ar ia bl es w hi le d eb ug gi ng . So me I DE s, s uc h as t he V is ua l Ba si c ID E, s ho w yo u t he v al ue o f a va ri ab le s im pl y by m ov in g th e mo us e po in te r ov er t he v ar ia bl e in t he s ou rc e co de . Th is c ap ab il it y al lo ws y ou t o de bu g yo ur p ro gr am v er y ef fi ci en tl y.

Other Important Considerations

Now that we have examined a few of the common IDE features to look for, there are some other important points to consider. First, you want to make sure that the IDE you choose can keep up with language advancements. For example, if you select an IDE for developing RPG or COBOL applications, you should ask when ILE functionality was first supported. If the ILE version is still in beta testing, it is a good indication that the company is not responsive enough to technology changes. You don’t want to have to wait to use language features your tool doesn’t support.

A second consideration is whether or not you can try a tool before you buy it. Many companies provide evaluation copies that are downloadable from the Internet. A good tool needs to feel comfortable when you use it. It is also a good idea to place a call or two to the company’s support line and ask a couple of questions to test the company’s responsiveness.

The Payoff

As you can see, the common thread when discussing features of an IDE is producti vity . Thes e ma ny m inor act s of tim esav ing can add up to big payoffs in overall development productivity. Developers using languages like RPG and COBOL don’t have to be satisfied with using SEU. Powerful IDEs are available to support your green-screen development. Why should the visual programming guys have all the fun?

Change Management: The Perfect IDE Companion

While the focus of this issue centers on the IDE change management software used in tandem with an IDE can nicely round out your developer’s toolset. Particularly useful for team and multiple-developer environments, change management tools provide valuable source and object code organizational features.

But, you may be asking yourself, why do I need to manage change? Have you ever found yourself about to make a change to a program only to find that the source is not where you expected to find it? After spending valuable time searching for the source, you find multiple copies or that the source has been modified by another programmer. Change management tools help you to avoid such time-wasting scenarios.

Change management software is available from a number of different vendors. While each product provides a unique set of features, there are a handful of common features provided by any good change management solution. These features include the following:

• Check-out and check-in capability. Think about the confusion libraries would have if people could walk in, select a book, and take it without any check-out process. Anyone coming in to find a specific book someone else had taken would have no idea where the book is or when it might become available again. When you work in an environment with multiple programmers, the same confusion occurs without source being properly managed. Change management software allows a programmer to “check out” source to be worked on, tracking the event so any subsequent programmer will know the status of the particular source member. To implement completed modifications, the activity is tracked via a “check-in” process. This tracking is critical to keep programmers from getting in each other’s way.

• Source archiving. In the world of software development, changes in direction and specifications are a way of life. You may find yourself in the middle of making extensive modifications to a source member only to have the project cancelled or the specification changed midstream. Unless you have a tool that archives your source versions, reverting back to a previous version is an arduous task. A common change management feature is the retention of source from previous implementations, allowing easy retrieval.

• Audit logging. The ability for a technical manager to track the activity of programmers, especially in a multiple-programmer environment, can be a tremendous benefit. Tools that provide thorough tracking and reporting of activity allow a manager to anticipate potential problems and to better coordinate the development effort.

One of the key issues for you to consider must be how well the change management software integrates with the development environment you currently use. You don’t want to be hampered by using development tools that do not work together seamlessly. Time spent starting and stopping tools that work independently is time wasted.

Reaping the Rewards

The most immediate benefit to using a change management tool is saving the time that is wasted by programmers getting in each other’s way. Beyond this savings is the structure and organization such tools add to the development environment. A cluttered and disorganized environment leads to such mistakes as lost source, incomplete program changes, and programmer collisions. When used together with a powerful IDE, change management software will help you to maintain a more productive, structured, and reliable software development environment.


Figure 1: Modelworks JPadPro allows you to easily identify and add new components.

<>
<>
<>

Behold_the_March_of_IDEs-_A_Killer_Tool...05-00.png 900x675
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 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. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • 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 company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY 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. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) 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:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. 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:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot 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:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business 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.

  • 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:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic 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.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? 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: