AS/400 Software

IBM iSeries Access from Mobile Phones

iSeries Access from Mobile Phones.

IBM i DatabasePeople who are frequently on the move might like to access their iSeries computer (previously known as AS/400)  remotely from their mobile phone.

This is now possible by  using  IBM i Access for Web (5770XH2) or iSeries Access for Wireless.

These products support the administration of OS/400 and application development for intended wireless devices such as personal digital assistants (PDA) and Internet-enabled phones.

 

The IBM eServer(TM) iSeries Access for Wireless licensed program is the solution for wireless device connectivity. It allows you to use your wireless device to access and administer your servers. It consists of iSeries Navigator for Wireless and IBM Toolbox for Java(TM) 2 Micro Edition services, which can be used individually or together to provide the access you need. iSeries Access for Wireless includes the following:

  • An OS/400 administrator interface called iSeries Navigator for Wireless, previously called Management Central-Pervasive, is enhanced and consolidated as part of iSeries Navigator.
  • The IBM Toolbox for Java 2 Micro Edition, which is part of IBM Toolbox for Java, is used by developers to rapidly develop Java applications that access iSeries data and resources. This micro edition extends its capabilities to wireless devices. It also includes the Java Database Connection (JDBC) driver to access DB2 UDB for iSeries

IBM i Access for Web include the ability to:

References

iSeries on the mobile phone

IBM i Access

Connecting to iSeries: iSeries Access for Wireless

Be the first to comment - What do you think?
Posted by Mario1 - 05/11/2017 at 11:27 am

Categories: AS/400 Software   Tags: ,

IBM i Services

IBM i Services

IBM i ServicesIBM i Services are a new option that can be very useful for IBM i System Administrators,

There are many system services that can be accessed through system-provided SQL views, procedures, and functions. These provide an SQL interface to access, transform, order, and subset the information without needing to code to a system API.

I found a new article published by the mcpress.com website and I have re-published it below for your convenience.

TechTip: IBM i Services – What It Is

 

IBM i Services is the hottest, and coolest, thing to hit systems admin since…well, maybe since ever! And its constantly updated SQL tables will give you a whole new slant on managing your i.

 

Have you heard about IBM i Services? No? Well then, you’re in good company because apparently no one at IBM has either. Go ahead; go out to IBM’s website and search on “IBM i Services.” If you find anything, let me know because I sure didn’t. Yet this product looks like a sure bet to be a winner for those who are managing an IBM i.

 

What Is It?

In short, IBM i Services (which I will refer to as just “Services” for the rest of the article) is the brainchild of Scott Forstie, the DB2 for i Business Architect, SQL Development Leader, and IBM i developerWorks content manager.

 

In essence, it’s a series of DB2 views that look like traditional physical file catalogs on the surface. These views provide the consumable interface for SQL users, while behind the scenes, User-Defined Table Functions (UDTFs) provide accurate query data to the user. Most of these services return their answers quickly, and all of them can be easily accessed by SQL.

 

But We Have Commands

Of course, the way we have always gotten management information is to issue one or more vaunted IBM i commands or APIs, and that is still a very valid way to get information. It’s up to date, it’s easy to use, and we are familiar with it. But there are some issues that make going after info like this with SQL very attractive.

 

First, if you want to use an API, you’re going to have to write a program. With SQL, all you need is a command line or SQL interface.

 

Second, if you want to use a command, then the info you are going to get back is fixed. Yes, you can vary it somewhat by using the command parms, but pretty much you get what you get. It may be too much; it may be too little. With SQL you can use the Select, Where, Group By, and other statements to get just what you need.

 

Third, again if you use a command, then it may be necessary to use several commands to zero in on what you want. That means there is going to be some manual work on your part to pull the data from the different commands together. No way that can be fun. And it’s even worse if the command doesn’t have an OUTPUT parm on it. With SQL, you can combine data from several tables to get output that is just what you want. And you can then download that output to Excel or some other format so that it is ready to roll.

 

Fourth, SQL is a standard language across many platforms and languages, which means you don’t need to know really anything about the i to get the info you want. Even Windows people can do it.

 

All in all, while commands and APIs are great for some things, using SQL to access the Services DB2 tables makes good, good sense.

 

Fine. What Do I Have to Know?

Well, the first thing you need to know is SQL. And a lot of us don’t. But all of us should. You can argue all day long about whether embedded SQL is better than RPG I/O for use in RPG programs, but you can’t argue that a solid familiarity with SQL is a must for i people today.

 

Don’t have a lot of experience? Then download the DB2 for i SQL Reference Manual and get started. You don’t have to read the whole thing, but you can certainly quickly get yourself up to speed for elementary SQL statements.

 

Second, you need an SQL environment or tool to issue your SQL commands. One option is to use the RUNSQL command and type your SQL statement into the SQL parm. Or you may prefer to issue STRSQL on a command line and then key your SQL commands into the lines that open up. Each command is treated separately, and the results are displayed on your screen. Probably the best option is the Run SQL facility within Navigator or whatever it is called in your particular installation. One of the advantages of this tool, of course, is the ease with which you can convert your output to an Excel spreadsheet.

 

Third, you need to know the table names and the data that is associated with that table. There are two libraries on the i where this stuff seems to be located: QSYS2 and SYSTOOLS. Problem is, you can’t just do a WRKLIB and look for the SQL views, etc. in each.

 

Probably the best place to go is https://ibm.biz/DB2foriServices. This website lists the tables that are part of this feature and the libraries where those tables exist. Want to know what data is kept in a table? Simply click on the table name and you will be sent to a web page that provides complete information on the columns in that table and the information they contain. Can’t ask for more than that.

 

So give it a try. It’s simple, it’s sophisticated, and it’s another way to go if you are trying to dig up information on your i and how it is used.

 

References

TechTip: DB2 for IBM i Services – The Practical

IBM DeveloperWorks – DB2 for i Services

 

Be the first to comment - What do you think?
Posted by Mario1 - 08/11/2016 at 1:21 pm

Categories: AS/400 Software, Operating Systems   Tags:

IBM i Learning Options

What is the IBM i

IBM i (AS/400)IBM i is the latest incarnation of the IBM Midrange computer that started in 1988 as IBM AS/400 (after the IBM System 3, IBM System 34 and IBM System 38) and changed its name to IBM iSeries and IBM System i  before being know just as IBM i.

The main difference is that the AS/400 was an hardware machine that used the OS/400 Operating System, whereas the IBM i is an Operating System that runs on IBM Power Systems or on IBM PureSystems.

However the underlying approach is very similar and is designed a  turnkey object oriented operating system, requiring little or no on-site attention from IT staff during normal operation. It includes also a built-in DB2 database which does not require separate installation.

IBM i Learning

Recently I noticed an interesting article published on the IBM DeveloperWorks website and that I have copied below for your convenience.

Getting started with IBM i

A guide for new users

There is a wealth of information about IBM i available, which can be a bit overwhelming for new users. This page provides an overview for readers who would like to learn about IBM i but don’t know where to start.

IBM i Strategy and Roadmap

An executive guide to IBM’s strategy and roadmap for the integrated IBM i operating environment for Power Systems.

Origins and history

The IBM i Operating System (IBM i) is unique in the IT industry for its level of integration and for the underlying architecture of the operating system itself. Evolving, as it has, from the forward-thinking System/38 and AS/400 architectures, IBM i offers tremendous value in low total cost of ownership. It provides IT professionals a platform to implement and run business solutions while protecting the significant investments they have made over the years in mission-critical software.

The core architectures of IBM i were first created for the System/38. The S/38 architecture included the following:

  • use of a relational database as the inherent file system;
  • use of single-level storage to remove the necessity of customers managing storage;
  • object-based operating system to ensure integrity and reliability;
  • technology independent machine interface which allowed compiled programs to move from one release and one processor family to another without recompilation; and
  • expectations that multiple workloads would be run on the machine and therefore required isolation and load-balancing capabilities.

The industrial strength architecture of the S/38 was unified with ease of use and management of its sister product, the System/36, when the AS/400 was introduced in 1988. Over the years, more capabilities were added to the operating system as it became the core of the iSeries and System i. Ultimately, the hardware and I/O platform of the AS/400 line converged with the hardware and I/O of the AIX-based RS/6000 until, in 2007, IBM Power Systems was launched. In early 2008, the operating system was given its current name, IBM i.

The latest version of the IBM i operating system is IBM i 7.3.

Integration is the key – inclusive middleware

From a customer point of view, the single defining characteristic of IBM i is its integration. In fact, the “i” in IBM i stands for “integration” and for good reason. There are two important aspects of the integration of IBM i: the core middleware components required by business applications and ensuring all of these components are designed to fit together and follow the IBM i architecture. This integration, along with built-in automation of many system and data management functions, allows customers to run their businesses, not their systems.

IBM i boasts an extensive list of key software features. These features have to be added on at an additional cost, or loaded and managed separately, or both, on other operating systems. These include:

  • Database: The DB2 for i database is not merely packaged with IBM i. It is a part of the operating system. It is an SQL-compliant relational database, supporting the standards that are implied with that statement. DB2 for i does not merely make use of the file system on the platform, but is part of the file system, allowing for cooperative performance algorithms and easier tuning. DB2 for i is characterized by its level of automation, which allows many customers to have a minimal number of technical staff devoted to database management and administration. In fact, it is quite typical to have IBM i customers who have no database administrator at all, because of the automated optimization that is part of DB2 for i.
  • Multiple workload virtualization: IBM i is designed to expect more than one workload to be run at once. There are a host of security capabilities which make isolation of data between workloads straightforward and secure, along with a subsystem design that allows customers to balance the importance of various workloads to ensure that each is getting the amount of system resources appropriate for its function. This is accomplished without needing to purchase additional virtualization or management software.
  • Web server: IBM i ships the open source Apache Web Server and has ensured that it is connected to the IBM i security and file system models. IBM i keeps it up-to-date, including support for business-critical extensions such as the Payment Card Industry standards for using credit and debit cards within browser-based applications.
  • Web application server: Similar to the open source Tomcat, the integrated web application server supports running Java 5 and Java 6 applications, which have significant capabilities beyond what traditional HTML-based applications can deliver.
  • Programming languages: From traditional languages such as CL and RPG, to C/C++ and Java, to the most commonly used language for web programming, PHP, IBM i ships the underlying support for all of these languages as part of the base offering, with enhancements in every release. This language support is integrated with the software development tools created by IBM Rational and Zend Corporation.
  • High-availability and integrity underpinnings: The ability to build applications which can reliably roll back to previous states is supported by DB2 for i, and also by the journaling capability inherent and integrated in IBM i. This allows for a simpler, more complete approach to highly available applications and data integrity than can be built on the standard file systems of other operating environments.
  • System management: The IBM Systems Director Navigator is a browser-based management tool for IBM i which allows a user, operator, or administrator to control work on an IBM i partition. This tool is also available with no additional charge, and includes several very powerful features, including a Performance Data Investigator that allows customers to track, monitor and plan for the performance and resource use on their system.
  • Additional capabilities provided by IBM i as part of its integrated platform are listed below:
    • Security on IBM i
    • Encryption capabilities
    • Integrated web services for i
    • Digital certificate management
    • Integrated version of IBM Tivoli Director Server
    • IBM PASE for i – the environment for running AIX applications, unchanged, within IBM i.
    • Integrated connection to and management of x86 systems
    • Networking and network management

Architecture for simplicity, stability, and security

Another key differentiator for IBM i is the underlying architecture of the operating system which provides for simplicity, stability, and security. These are not add-on features but inherent aspects of the operating system. This section describes a few examples.

  • Simplicity
    As mentioned above, the relational database in IBM i is an integrated component, and it is built on a set of integrated storage management unique to IBM i and its predecessors. This storage management is based on the single-level storage architecture that treats all of the storage managed by IBM i as if it is one long stream of memory that encompasses the system memory, as well as the storage on disks. This architecture makes it critical that the operating system decide where to store any given piece of data, and that in turn removes the necessity of the user to manage data placement. This makes management of storage, and the data base objects contained in that storage, significantly simpler.
  • Stability
    Several architectural attributes of IBM i contribute to the stability of the system over the years. First, applications compiled on IBM i are compiled to a set of intermediate code instructions defined as the Technology Independent Machine Interface (TIMI). This allows IBM i to fundamentally change the implementation of underlying hardware, firmware and virtualization features, without requiring rewriting, changing, or even recompiling the applications written by users. This sort of forward compatibility is a tremendous business advantage and has allowed the movement of software developed and compiled over years to run on later generations of IBM i.
    IBM i also architecturally separates the address spaces of user applications and the operating system, so it is practically impossible for poorly written, or malicious, software to intrude upon the underlying operating system support. This is one of several attributes which keep IBM i running for days, weeks, months without unexpected restarting of the operating system.
  • Security
    IBM i and its predecessors have an object-based architecture. Each entity on the system is an object, which has a set of prescribed operations that can be performed on it. Connections from object to object are allowed to perform various operations. An object that does not have a legal “edit” operation cannot be edited; it cannot be renamed to another kind of object. If the object does have an “edit” operation (known as “change” for most objects), it only has a defined set of attributes that can be edited only by users who have authority to do that editing.
    Objects can be easily “hidden” from other users by use of the library list objects and secured by the object based security associated with all objects. And users who all have a similar role on the system can be grouped together for role-based security, again as part of the base architecture of the system.

In conclusion

While the IBM i operating system supports open programming methods such as Java™, PHP, web services and so on, the underlying architecture provides a level of integration, stability, simplicity and security that are a significant differentiator. These aspects provide excellent business value to its users.

 

A Video on The IBM i for Business

References

How to Learn Cobol for the IBM i (AS/400)

How to Learn RPG for the IBM i (AS/400)

 

Be the first to comment - What do you think?
Posted by Mario1 - 23/09/2016 at 2:36 pm

Categories: AS/400 Software, Operating Systems   Tags:

IBM i CL Programs Modernisation

CL Programs Modernisation

AS400 Remote AccessThe IBM i, i.e the current incarnation of the very successful IBM AS/400 midrange computers has had many improvements from the original AS/400 systems with which has kept  full compatibility.

Many installations try to apply improvement also to the application in a process known as application modernisation and programmers have move from the RPG II to RPG III to RPG iV and then RPG/Free.

Fewer changes are mentioned about the Control Language, known as CL, but I recently read an interesting article on the rpgpgm.com website. I think that is pretty good and I have decided to re-publish it below for your convenience.

Modernize your CL too

spent the end of last week assisting my colleagues with a project that involved creating CL programs, and over the weekend I was asked to check someone’s CL code. In both cases I was disappointed to find that while these individuals have modernized their RPG skills, their CL skills are still date back to the 20th century.

In my opinion CL is a programming language which is undervalued in IBM i circles. I have met many developers who would rather use a complicated API in their RPG code, rather than use a simple CL command. It is time for everyone to look at all the tools that are available in IBM i, rather than limit themselves to just be a “RPG programmer“.

Here are some of the things I think we should all do with our CL code.

 

CLLE, no more CLP

RPGLE was not the only ILE capable language that came out in V3R1, in 1994. ILE CL, CLLE, joined the party at the same time.

It is easy to convert a CLP source member to a CLLE some, just change the member type. The only command that I can think of that does not convert to CLLE is the Transfer Control command, TFRCTL, which can easily be replaced by a CALL command.

If you keep your source types in separate source files, you do not have to create another source file. CLLE member go in the QCLSRC source file.

 

You can RTVCLSRC CLLE

One of the excuses I hear why people will not convert their source to CLLE is you cannot use the Retrieve CL Source command, RTVCLSRC. While that was valid for years, it is no longer so.

As part of IBM i 7.1 the RTVCLSRC command was enhanced to retrieve the source from CLLE programs and modules.

 

No more GOTO, use Do-loops

I am sure you use Do-loops in your RPG code, and shun Goto. It is time to do the same in your CL. DOWHILE, DOUNTIL, and DOFOR are all ready and waiting for you.

 

Subroutines

I cannot think of RPG without subroutines. You can do them in CL too, and the same principals apply. Rather than repeat code or call another CL program to do what you want use a subroutine.

 

No more nested Ifs, use Select

We have all seen blocks of code in CL of If statements where they are all executed despite only one being relevant. In 2004 V5R3 brought CL the SELECT command. It has the same functionality as the Select operation code in RPG. Use it as it will make your CL code less complicated and easier to follow.

 

Data structures

You can define and use the equivalent of data structures in CL. It it is easier, and faster, to use them rather than substring-ing the same string out of a larger variable every time you need it.

 

New BiFs

With IBM i 7.2 several new Built in Functions, BiFs, were introduced to make it easier to do some string handling in CL. I no longer have to call a RPG program or write many lines CL code to do the following:

 

You can write, update and delete records

Someone once said to me he could not take any programming language seriously if he could not write and update a file using it. By using the Run SQL Statement command, RUNSQL, I can do all of that.

Here are examples showing how it is possible, in CL, to delete a row/record from a table/file, add a row/record, and change it:

01  PGM

02  DCL VAR(&VAR1) TYPE(*CHAR) LEN(3) VALUE('1')
03  DCL VAR(&VAR2) TYPE(*CHAR) LEN(3) VALUE('ABC')

04  RUNSQL SQL('DELETE FROM TESTFILE +
                 WHERE F1 = ''' || &VAR1 |<''' ') +
             COMMIT(*NC)

05  RUNSQL SQL('INSERT INTO TESTFILE +
                VALUES (''' || &VAR1 |< ''',DEFAULT)') +
             COMMIT(*NC)
                                                    
06  RUNSQL SQL('UPDATE TESTFILE +
                   SET F2 = ''' || &VAR2 |< ''' +
                 WHERE F1 = ''' || &VAR1 |< ''' ') +
             COMMIT(*NC)

07  ENDPGM

 

CL procedures

Most of the examples I have seen of procedures show RPG. It is possible to create CL procedures, and to use CL commands rather than complicated APIs to do the things CL does best.

 

Now you have seen that some of the biggest myths about CL have been busted. It is time to embrace modern CL and start using it in a 21st century manner.

 

Riferimenti

 

IBM i Control Language – Wikipedia, the free encyclopedia

Control Language Programming

 

 

Be the first to comment - What do you think?
Posted by Mario1 - 17/08/2016 at 3:28 pm

Categories: AS/400 Software, Computer Languages   Tags:

IBM i 7.3 – The latest IBM i version

IBM i  7.3

I found an interesting article on the IT Jungle website about the latest version of the IBM i system and I have re-published it below for your convenience.

 

Next Revealed As IBM i 7.3

Published: February 22, 2016

by Dan Burger

As psychological thrillers go, the IBM i strategy and roadmap falls short of entertaining movies like “Gravity” and “Chinatown” or good reads like “The Andromeda Strain” and “In Cold Blood.” But there’s

always an element of suspense when a new release of the IBM i operating system is lurking in the shadows. Chief Architect Steve Will provided a heads up last week that what’s coming is more than the typical cloak and dagger Technology Refresh.

To the casual observer, a new release of IBM‘s best camouflaged operating system isn’t due to arrive for another two years. It was 2014 when i 7.2 emerged four years after i 7.1 came to light. There were 11 Technology Refreshes between 7.1 and 7.2. There have been only three TRs since 7.2 became available. Also worth noting, however, is that the time span between i 6.1 and i 7.1 was only two years.

For those who are good at connecting the dots on IBM i roadmap graphics, however, you probably saw this coming: iNext is i 7.3.

 

This IBM i roadmap, from a May 2014 white paper, shows the progression from 6.1 to iNext.

 

Here’s what Chief Architect Will had to say on this topic in his “You and i” blog last week:

“Ever since the introduction of the Technology Refresh capability, we’ve had a mechanism for putting new function into any part of the OS (well, almost) and we’ve used that capability in our strategy of making it easier for customers to adopt new technology faster. We settled into a twice-a-year pattern for both TR-capable releases. But that was never intended to last forever on every release for as long as it’s in service. Eventually, we need to let our oldest release get closer to ‘fixes only’ mode. On October 1, 2015, 7.1 became our oldest release, when 6.1 end of service arrived. So, there won’t be

more TRs for 7.1. We might put a few enhancements back into the release, but it’s pretty well stabilized at this point.”

There’s no mention of i 7.3 here, but Will is pointing to a dark room and saying “something’s coming.” Hints, like a session he is presenting at the COMMON Annual Meeting and Exposition in May called “IBM i Next Overview,” are unmistakably transparent when combined with a developerWorks wiki page updated by DB2 for i Business Architect Scott Forstie that’s titled IBM i 7.3 – Base Enhancements. Will mentioned that as one of his hints, too.

It seems as though Forstie has the keys in the ignition of a car that isn’t allowed out of the garage. His eagerness is understandable given that new releases of the operating system and the Technology Refreshes are always packed with database enhancements. At the last TR announcement, TR11 for 7.1 and TR3 for 7.2, IBM’s DB2 for i team delivered a variety of services related to operating system details, which Forstie explained was part of an ongoing program that would continue into the future. It’s as close to a certainty as you can get that more SQL services will be added with the i 7.3 release. My email to Forstie soliciting comment went unanswered. (Probably an indication that he doesn’t have enough arms to do his database job and respond to emails from reporters with questions that he’s not allowed to answer. I suspect the DB2 for i development team works their butts off, although I’ve seen no visual evidence that is true.)

Based on a conversation I had with Kevin Langston, the principle enterprise system architect at the Power Systems Academic Initiative data center, the increased demand for analytics capabilities at PSAI data center puts DB2 for i in the middle of their big data plans.

“From an operational management aspect, we love it,” Langston said about IBM i in the multi-tiered environment. “I’d say that for 80 percent of what we do, my preference would be to put them in an i partition doing database stuff. It is a very efficient way to manage users and the resources. We have a lot of tiered environments where the database might be on IBM i, the portal on a Linux system, and a data warehouse and applications on AIX. We put it together so that all systems talk with one another.”

It seems reasonable that the IBM i roadmap takes this multi-tiered, big data approach into account as it continues its DB2 for i enhancements.

One other quick peek into what will be packaged into the i 7.3 announcement is not operating system related. It comes from the iAccess Client Solutions (ACS) area, which commonly slides product enhancements into IBM i announcements. ACS is continually pumping out enhancements that, in some cases, predates the TR announcements. There are upgrades to the iAccess for Web mobile software and the Integrated Web Services support that will be generally available prior to the OS announcement, but included in the 7.3 announcement.

And as long as we are talking about i 7.3, it’s worth noting where the IBM i community stands on current IBM i operating systems. The IBM i Marketplace Survey, based on information collected last fall from 834 IBM i shops predominantly in North America and Europe, indicates the following pattern:

IBM i 7.3  Video presentation from COMMON

Another interesting news bout the IBM i 7.3 was mentioned by Simon Hutchinson on the RPGPGM.COM website as follows:

On Tuesday (April 19 2016) the COMMON user group hosted a presentation given by Steve Will, chief architect of the IBM i, and COMMON board member Peter Massiello on the new release 7.3. Fortunately COMMON has uploaded it to their website, and made it available to the general public

==> See Video here.

The presentation is a little over an hour, and covers all of the major features in the new release. It is definitely recommended viewing for everyone who is interested in the IBM i and its future.

References

 

An executive guide to IBM’s strategy and roadmap for its integrated operating environment for Power Systems (PDF Document)

Be the first to comment - What do you think?
Posted by Mario1 - 25/04/2016 at 5:39 pm

Categories: AS/400 Software, Computer Hardware, Operating Systems   Tags:

Cobol and RPG Revival

Cobol and RPG

IBM iI recently read an interesting article about Cobol and RPG published on the IT Jungle website and I have re-published it below for your convenience

 

COBOL And RPG Take Similar Roads To Revival

Published: September 22, 2014

by Dan Burger

 

COBOL and RPG are brothers of different mothers. They share many characteristics, not all of them bad. Both languages have powered enterprise-grade applications for a long time, relying on strength in their early years and stamina as time marched on. Both are capable of handling massive workloads, despite being classified as garage sale relics by promoters of lighter weight systems. And modernization strategies and academic initiatives have been designed to steer companies with COBOL and RPG dependencies into the future.

COBOL workloads on IBM midrange systems are not abundant. But they are out there. Ed Airey, product marketing manager for Micro Focus, has worked with some of those organizations. The similarities between COBOL and RPG are not lost on him. Micro Focus is the caretaker for COBOL, similar in many respects to IBM looking after IBM i.

 

COBOL applications, like RPG apps, are in need of modernization and people with the skills to modernize them.

 

When Airey meets with COBOL shops, it doesn’t make a great deal of difference what platform the COBOL is running on. But for the sake of an RPG comparison, I asked him to keep IBM i in mind during our phone conversation.

“The conversation I have with COBOL shops is about aligning IT with a specific business,” he began. “Is COBOL strategic going forward? For some it could be an issue of aligning with Java or .NET or moving to a platform with more flexibility. But for many companies going forward with IBM i is strategic. It’s about supporting the application, finding skilled developers, and aligning with a chosen architecture. Each company is different.”

Migrating off the IBM i platform comes up occasionally, he says, but there’s no sign of an accelerating trend.

What he does see, whether he is in discussions with an IBM i shop or a Unix or mainframe shop, are companies with big COBOL footprints, unlikely to be leaving their chosen platform and searching for a succession plan. The average development staff is 40 to 50 members with many of them 50-plus years old. They want to invest in COBOL, but they are uncertain if it’s the best plan for the future. They want to know about rewriting applications for modern, integrated IT environments and about the next generation of developer talent.

We could be talking about RPG, I tell him.

“Micro Focus is investing in modernizing COBOL. There’s new technology being developed to make COBOL apps easier to maintain and support and it’s creating a bridge to the future,” Airey says. “Connecting to mobile devices is popular and companies want to take advantage of the cloud. We’re building a path to new architectures that integrate COBOL with other parts of the organization that are using Java and .NET technologies.”

Like RPG, most of the programming talent graduating from college knows less about COBOL than it does about making apple sauce.

“Most talent does not know the language, but they know modern development tools like Visual Studio or Eclipse. More than 70 percent of professional developers are using one of those two IDEs,” Airey says. “The biggest learning curve is in learning to use the tools to build, change, compile, and test code. If the tool they use for COBOL is similar to what they used in college, they can maintain and support COBOL code.”

That’s where modernization meets academic initiative. Organizations that are tied to old development tools, like many RPG shops are, are distancing themselves from the new crop of programmers who know only visual programming tools.

Micro Focus runs its own COBOL academic initiative program. Airey says there has been a steady uptick in program membership during the past three years, which has taken the number of colleges teaching COBOL and using Micro Focus software and services from 120 to 350 worldwide. Most of those are in the United States and Canada.

Increasing awareness of the significance of COBOL and the demand for talent is responsible for expanding the academic initiative program, he says. To change the perception of COBOL among college administrators requires proof that COBOL skills are needed, jobs are available, and the salaries are good.

Airey says nearly all the shops he works with have some initiative to modernize COBOL. Those initiatives include mobile, cloud, moving to a new platform, moving to a new architecture, and integration with other systems. Those plans are either under way or are being planned for implementation in the next two to three years.

“I wouldn’t call what’s going on with COBOL a resurgence,” he says, “but there is an increased interest in learning the language and developing skills that use this technology.”

 

An Interesting Video on an AS/400 Cobol and RPG Migration Tool

 

References

How to Learn Cobol for the IBM i (AS/400)

How to Learn RPG for the IBM i (AS/400)

Learning Cobol Today. Is it Still Worthwhile?

Modern RPG Language

Be the first to comment - What do you think?
Posted by Mario1 - 25/02/2016 at 1:42 pm

Categories: AS/400 Software   Tags:

AS400 Migration Software

How to Migrate AS400 Applications.

The Infinite Company

AS400 MigrationI recently discovered some interesting software that allows to migrate AS400 applications to Windows, Unix or Linux.

The software called Infinite I has been developed and is commercialized by the Infinite Corporation that was founded in 1975 with the aim to allow legacy application migration for IBM i / AS400 -based applications to open systems like Linux, Windows and UNIX. Infinite has also developed toolsets and services that modernize and integrate legacy green screen applications that were developed for both the AS/400 and Mainframe environments.

They have developed a family of toolsets that migrate RPG and COBOL applications written for the IBM IBM i (AS/400) environment to open platforms such as Windows, Linux or UNIX (AIX, Solaris and HP-UX). In addition to migrating AS/400 applications to open systems, Infinite has developed services and toolsets to modernize green screen applications for both the AS/400 and Mainframe environments. They have toolsets that dynamically modernize legacy green screens to web-deployed graphical screens.

They offer many products such as Baby 36, Babyi, Infinite 36, Infinite i and many others.

In this post we’ll concentrate our attention to the Infinite i migration software.

Infinite i

Infinite iInfinite i is a suite of compilers, utilities and operating system services that allow applications programs (developed under RPG or COBOL for the AS/400 environment and database) to be migrated at the source code level, recompiled and executed on the target platform.

The compilers include RPG/400, RPG ILE, COBOL, COBOL ILE, DDS and CL. The compilers allow AS/400 RPG and COBOL source code to be recompiled into native object code for 64-bit Red Hat Linux, Windows Enterprise Server, HP-UX for Itanium, AIX and Solaris.

Infinite i includes also a complete replication of the AS/400 database (DB2/400). This allows the applications to execute as they did on their original platform without having to rewrite large portions of the code. Once the code executes, it is directed to write to either MS SQL or Oracle.

Infinite i easily migrates and executes DB2/400 data in the Oracle or MS SQL databases. Infinite provides database independence from the highly proprietary, closed and expensive, DB2/400. With Infinite i native AS/400 applications operating under DB2/400 will write to Oracle or MS SQL without having to rewrite or change the original code. As part of the process of migrating RPG or COBOL applications, the data is migrated to the database of choice and once the cut-over is compete, all data is written to Oracle or MS SQL.

Infinite i allows to embrace Open Systems with a method that offers rapid migration, low risk and a fast return on investment.

The migration risk is very low because the existing resource remains unaltered, current skills can maintain and support the application, the application code runs in a replicated environment. This change will cause a minimum level of disruption in the day-to-day operation of the business.

The Linux, Windows and UNIX operating systems provide support for all levels of today’s virtualization products including VMware, Red Hat Enterprise Virtualization, XEN and MS Hyper V.

Virtualization technology has allowed business to consolidate IT resources, reduce costs and generate much higher utilization rates. The ability to use this technology is crucial for any 21st century data center. Now, with Infinite i this technology can be engaged with AS/400 applications.

A Video with an Infoinite i Demo

 

Conclusions

The Infinite i is an interesting software and it would be interesting to know the experiences of actual users. I have made some searches on Google, but I have not been able to find anything,

Another area to be investigated regards the software costs and actual costs of conversion.

People should also consider that the IBM i platform is very secure and should try to evaluate how moving applications to other hardware and software could affect the security level.

Another possible solution could be the Cloud services (see references).

References

IBM i Cloud Hosting (AS400, iSeries, System i)

Cloud Data Center Services for iSeries iSeries

Cloud400 Secure, Expert IBM i (iSeries, System i, AS400)Cloud Hosting ForBusiness-Critical Applications

 

 

Be the first to comment - What do you think?
Posted by Mario1 - 27/01/2016 at 1:15 pm

Categories: AS/400 Software   Tags:

IBM i RPG Programming Language

IBM i RPG

IBM iRecently I noticed an interesting article on the IBM Systems Magazine website about IBM strategy on the IBM i RPG programming language and I have copied it below for your convenience.

RPG and IBM i Programming Languages

August 24, 2015
One of the most frequent questions I get when I discuss the future of IBM i is a very open-ended question about IBM’s commitment to RPG. This is natural, I suppose, because when many people think of our platform, they think of RPG, which has historically been the most commonly used programming language on IBM i and its predecessors.

Recently, I’ve received such questions frequently enough that I’ve gone looking for a good place to point people, so they can clearly see the IBM strategy as it relates to programming languages in general, and RPG in particular. Did I find any such place? Of course I did! But I’ll mention it again, and then I’ll go one better – I’ll restate it here, in the hopes we all can help spread the word.

So, where is the IBM Strategy for RPG and other languages described? Why, in the IBM i Strategy and Roadmap paper! The link to get the current version of that paper is here but since it gets updated every once in a while, it’s best to start by going to the IBM i site on ibm.com: http://www-03.ibm.com/systems/power/software/i/index.html and finding the link there.

Still, I understand that paper is several pages long, and so perhaps a single place to discuss RPG and IBM i applications languages is in order. So, here we go.

The IBM i RPG & Application Languages Strategy

I recently built a chart that I’ve been using in most of my IBM i Strategy and IBM i Trends presentations. I’m going to include it here, and then I’ll write more about it below.

Youandi-8-24

RPG is a very important part of the IBM i application development portfolio. Though there is no way to measure it, we are pretty confident there is more code running on IBM i that is written in RPG than in any other single language. IBM continues to make significant investments in the language, and over the years it has been transformed it into a modern procedural language with the capability to interact with all kinds of interfaces — including XML, remote DBs, modern devices and so on – while retaining the integration with IBM i and DB2, which makes it an incredibly efficient language for implementing data access and business processes.

Examples of our investment in RPG can be seen in the prominent place that major RPG enhancements take in our announcements. For example, just looking back at this blog, where I frequently talk about strategy and announcements:

* IBM i 7.1 announcement back in 2010 had the RPG Open Access feature – http://www.ibmsystemsmag.com/Blogs/You-and-i/Archive/you-and-i-71-1
* In early 2012, IBM agreed with the community that the Open Access enhancements to RPG were important to roll out pervasively, so we made them available to all clients, without additional charge – http://www.ibmsystemsmag.com/Blogs/You-and-i/Archive/rpg-open-access-for-all/
* Even before the 7.2 release, we added RPG Free Format to the tool set, again, available to all RPG users – http://www.ibmsystemsmag.com/Blogs/You-and-i/Archive/rpg-open-access-for-all/
* And many of the customer examples I have written about, where customers are modernizing their software for today’s environments, feature RPG at the core of the solution, such as this one from Baker College – http://www.ibmsystemsmag.com/Blogs/You-and-i/Archive/baker-college-mobile-rpg-and-ibm-i-modernization-p/
Youandi-8-24-II-(1).jpg* Oh, and lest we forget, please recall that RPG was one of the 25 icons we discussed in the IBMi25 program two years ago! Jon and Susan wrote about it as part of the campaign to celebrate the platform.

However, RPG is not the only language that’s important to IBM i. We’ve added support for many other languages and language environments over the years. And why have we done that? It’s all a part of the IBM i strategy, and in particular, one strategic foundation:

IBM i must be a great platform for business solutions.

Business solutions are implemented by application developers using programming languages. Being a great platform for business solutions means that the platform must embrace more than one language – more than just RPG. Why? Several reasons.

First of all, no single language is designed to be the best at everything. In fact, many languages are equally good at most things, but have specialties. For this reason, an increasing trend in the industry – not just for IBM i environments, but across all platforms and operating systems – is the blended software solution. A blended solution uses multiple languages to achieve its goals. So, while RPG may still be the core language used by many shops to implement their business processes, these core business solutions are increasingly being updated and augmented with code in Java, or PHP, or, or, or… And many customers are also finding that these other languages can be used to do business processes, and access DB2 also, and where it makes sense for their organizations, they do that.

Secondly, students learn different programming languages than they used to, so applying their skills quickly often means asking them to do their first projects using languages they have recently learned, before teaching them something else. By the way, this is true for any platform that has a significant history – many long-existing programs were written in languages that are not the focus of educational institutions these days. There are a lot of reasons for that, too, but we’re not going to discuss that topic today. The fact remains, whether your 20-year old application was written in RPG or some other language on some other operating system, the 20-year-old programmers you meet will almost certainly have learned another language when they were in school – or at least a more modern version of the language, using modern development tools. So, supporting more languages is an important factor in ensuring that there are skilled people to work on the business solutions.

And then, very importantly, there are huge catalogs of business solutions out there that are written in other languages. Since IBM wants its IBM i clients to have many options when it comes to business solutions, supporting those other languages and other environments is critical.

For these reasons, while we have been enhancing RPG, making it very easy for programmers to learn and use, we have also added PHP, Java, C, Python and others to our portfolio of application development offerings, and as new languages appear, we evaluate them for integration into our IBM i tool set.

Too frequently, I run into people who think that there is some sort of war going on between factions who care about different languages, and they seem to think we each have to pick a “side.

A Video Tutorial on IBM RPG

References

Programming in ILE RPG

How to Learn RPG for the IBM i (AS/400)

Posted by Mario1 - 23/09/2015 at 2:20 pm

Categories: AS/400 Software   Tags:

IBM i Accounting Software

IBM i Accounting Applications.

IBM iI recently read an interesting article on the MC Press Online website about the IBM i Accounting applications and I have copied it below for your convenience.

Technology Focus: IBM i Accounting Applications

If you want accounting software that runs on IBM i servers rather than directly on client PCs, there are still plenty of options.

If there’s one area of application software that typifies the divide between running business software on a bunch of networked PCs as opposed to on a centralized server (although possibly with PC clients), it’s probably accounting. QuickBooks and similar PC-based apps are commonplace at small businesses worldwide, and the conversation about moving enterprise financial tracking away from a server environment probably takes place at one company or another somewhere on a daily basis.

Particularly with so many Software as a Service (SaaS) offerings prevalent today, the idea that any organization can trade in its traditional accounting apps for something shiny, new, browser-faced, and slick that someone else will manage for you can be appealing. However, some advantages to using server-based accounting apps can sometimes get lost in the glare and glitter of thinking about taking a totally new approach to tracking financial data.

SaaS Accounting: Why Not?

“The number-one concern for businesses considering SaaS is often security,” points out Rusty Gadberry, president at Arkansas Data Services (ADS). “If sensitive company data and business processes are to be entrusted to a third-party service provider, then issues such as identity and access management—particularly from mobile devices—need to be addressed. And if your company uses multiple cloud services, be aware that deprovisioning an ex-employee can become a security headache.”

“Ease of integration with source applications is probably the biggest advantage,” opines Rex Smith, FPS product manager at Tegratecs Development Corporation. “First off, this is the ease with which accounting transactions can be received from other applications. Another part of the integration advantage is the ability to drill down into production application details and to more easily run local or custom inquiry software functions, without requiring a fully enabled service-oriented architecture (SOA). It can be challenging for the smaller private companies to justify SOA largely because it is difficult for them to figure out how to divide their truly integrated applications into components that are flexible yet efficient. Last but not least is the comfort of control.”

ADS’ Gadberry agrees that integration is important. “If it’s not possible to handle the relevant APIs and data structures in-house, then the data may have to be keyed into the SaaS application,” he points out. However, he also emphasizes compliance, performance, and data mobility as considerations. “When business data resides in a service provider’s datacenter, ensuring that relevant government data-protection regulations are complied with can be a problem. A browser-based application hosted in a remote datacenter and accessed via an Internet connection is likely to cause worries about performance when compared to software running on a local machine or over the company LAN. And what happens to company data and its business processes if the SaaS service provider goes under—or if the company needs to change to another SaaS vendor for some other reason?”

Advantages of Server-based over PC-based Software

When comparing server-based accounting apps to PC-based ones, Smith and Gadberry both note advantages for the former.

“[For our software,] the PC is used mostly in presentation and houses very little business logic or shared data,” Smith notes. “Advantages then include a reduction in program and data duplication and minimized synchronization (or islands of automation) issues. [Also,] IBM i server-based accounting applications are in better shape than many of the small but growing businesses running custom software on PCs, because many of those folks are stuck working very hard to retrofit single-user systems and database interactions into multi-user systems. That problem isn’t going to be solved neatly and is particularly difficult when you add the Internet interactions.”

ADS’ Gadberry emphasizes avoiding integration and backup hassles as advantages. “Businesses that want to connect hosted software with existing on-premise apps face the problem of software integration with PC-based accounting applications. In most cases, limited integration is achieved via an export from the server-based accounting software, then importing to the PC-based accounting application.” As for backups, “most businesses don’t do a good job of making backups of their data when it resides on a PC because it is a hassle to do. This puts the company’s accounting data in peril in the event the PC hosting the accounting application fails.”

“It’s good to mention the high-quality reconciliation, cross-referencing, vendor accountability, and cost-center tracking capabilities found in server-based accounting software. Perhaps a word of caution is in order,” Smith adds. “It makes sense to retain these capabilities while in the process of automating new Internet or cloud-based (or otherwise isolated) accounting activities. Otherwise, it can be easy to end up with lump-sum amounts and categories in place that take a lot more time to resolve or analyze than before.”

A Peek at the Future of Accounting Apps

Gadberry and Smith both agree that one of the big challenges facing accounting software is forecasting technological changes that may affect the genre. “If the vendor supplying the server-based accounting app hasn’t modernized the application…the consumer will start looking for another solution [such as one] that provides dashboards, [the ability to attach] documents to invoices in AP, and financial report generators,” predicts Gadberry.

“[There has been a] barrage of new requirements for expanding the server-based accounting applications to include interaction with customers using the browser over the Internet,” Smith observes. “This often appears quite a bit more challenging than it actually is…most of these applications don’t need to be browser-enabled or replaced by something that runs in a browser. The accounting-related applications that work on the browser should be new in flow, layout, and capability and [intended] for new non-internal users, but yet interact with the database (and applications) already in place. So really what you want to do to solve these new challenges is to develop new self-service mini-application functions that run browser-based HTML5 clients and that are integrated with and complementary to existing server-based systems and databases.”

“I can see many server-based accounting and cash-management apps making the mistake of assuming that because things are running smoothly today, that they need not look to the horizon towards implementation of new features or components that can work in conjunction with and improve their own results. I think the risk for hasty replacement of these applications is increasing. One reason is that it is increasingly less difficult for a new company leader to make the case that the application is outdated and that a new application is needed, even though this call to action is essentially unjustified when it is based primarily on appearance and presentation,” Smith concludes.

Accounting Applications for IBM i Servers

Listed below are accounting software applications that run on IBM i servers. Each product listing includes a brief description and a hot link to the vendor’s product page. Because our focus is on licensed software for use on in-house servers, these listings don’t include SaaS or browser-based solutions, of which there are many, unless the solution is also available for licensed, in-house use.

To provide some at-a-glance summary information about the available products, the products descriptions listed below use the following function abbreviations: Accounts Payable (AP), Accounts Receivable (AR), Check Printing (CP), Check Reconciliation (CR), Fixed Assets (FA), Financial Performance (FP), General Ledger (GL), Human Resources (HR), Inventory Control (IC), Order Entry (OE), Order Management (OM), Project Accounting (PA), Payroll (PR), Purchase Orders (PO), and Sales Analysis (SA). This information is compiled from existing online product descriptions and products may be capable of additional functions that aren’t mentioned here.

Accounting Software for i5/OS

ACOM Solutions

EZ PayManager/400

EZ PayManager/400 handles secure payment processing for enterprises using IBM i servers. It offers secure, fully automated payment delivery for printed and electronic payments. Features include automatic fax and email payment notification, individual check customization, text and graphics substitution, a visual check-template designer, and full audit logs.

American Software

American Software Enterprise

Designed primarily for supply chain management, American Software Enterprise is designed for the IBM i and includes extensive functions for AR, AP, and GL, as well as logistics, planning, and manufacturing.

Arkansas Data Services

Financial Accounting Software

Financial Accounting Software offers numerous features to support its basic capabilities of AP, CR, GL, and PR. The software includes APIs that let it interact with other IBM i software applications and also supports budgeting and financial-reporting actions. The application is also available on a SaaS basis.

Compu-Tech

Accounting Software

Compu-Tech has developed IBM i-native accounting software with various functional modules. Core features include AP, AR, CP, CR, and GL, as well as budgeting, user-defined subsidiary ledgers, cash receipts, and shipping. An optional payroll module is also available.

Gamma Software

GammaSoft Executive Series

GammaSoft Executive Series is a suite of accounting applications that provides AP, AR, GL, HR, IC, and PR functions. Other capacities include bank reconciliation, purchasing, customer relationship management, and maintenance scheduling.

Global Software

iSuite Financials

Global Software’s iSuite Financials provide AP, AR, FA, GL, OM, PA, and PO functions, as well as cash management, and project and lease accounting.

HarrisData

HarrisData ERP Applications

HarrisData ERP application deliver a modular set of integrated functions that includes accounting, sales, purchasing, inventory and manufacturing. 

Infor

Infor Enterprise Financial Management

Infor Enterprise Financial Management includes AP, AR, FA, GL, and IC functions, as well as purchasing and reporting capabilities for Sarbanes-Oxley and International Financial Reporting Standards (IFRS) requirements.

Infor Infinium Financial Management System (FMS)

Infor Infinium FMS is a solution for handling accounting functions in large enterprises and is specifically designed for the IBM i. It provides the entire range of accounting and financial software functions, includes extensive financial analysis and business reporting options, and is regularly upgraded to meet the latest financial and business regulatory requirements.

Infor Lawson Financial Management

Infor Lawson Financial Management offers AP, AR, FA, and GL as basic functions but is also capable of handling project activity and accounting, grant management, cash and treasury management, expense management, projections and budgeting, and enterprise performance-management analysis.

Kobelt Development Inc. (KDI)

Core Information System (CIS)

CIS features AP, AR, FA, GL, IC, and OM functions, as well as incident tracking, content and membership management, order entry, and a runtime function that lets users customize and control access to application menus.

CIS-LAMP

CIS-LAMP is a version of CIS with a browser interface.

Mosaic Data Solutions

Mosaic21 Financial Accounting Software

Mosaic21 provides AP, AR, GL, HR, and PR functions. Additional features include automatic data conversion for selected third-party applications, the ability to handle up to 999 bank accounts, and externally described files that facilitate the use of SQL, query, and report-writer tools.

New Generation Software (NGS)

NGS Concert Series Financial Software

NGS Concert Series facilitates AP, AR, GL, HR, and PR functions. In addition, it offers multicurrency and not-for-profit organization support, a Microsoft Excel plug-in and facilitated access for Windows users, and online data-entry validation.

Oracle

JD Edwards World Financial Management

JD Edwards World Financial Management, designed for the IBM i, provides AP, AR, FA, and GL functions. It also includes features for multicurrency support, purchase-card management, planning and budgeting, and project management.

Professional Support Group Pty. Ltd.

Integra

Integra is a job-costing application that contains full accounting functions for any type of business, including AP, AR, GL, IC, and PR. Additional features include job and project costing, estimating, subcontractor accounting, purchasing, and asset control.

Tegratecs Development Corporation

Financial Portrait Software System

Financial Portrait offers AP, AR, and GL basic functions. Additional features include support for up to 15 accounting periods, custom report writers, multiple subledgers within each application, and drill-down inquiries.

UNIT4

Unit4 Financials

Unit4 Financials is an accounting and financial-management application that provides AP, AR, FA, GL, as well as budgeting, project-accounting, and spending-management functions. It helps enterprises streamline, automate, and improve business visibility of its financial processes. The product is available either for in-house licensing or as a Software as a Service subscription plan.

Accounting Software for IBM i Servers Running AIX or Linux

 

Legler Systems Company

Online Business Accounting

Online Business Accounting is designed for AIX and Windows. Its standard accounting features consist of AP, AR, CR, FA, GL, IM, OE, and PO. Other functions include a database control system and a mailing-list system.

 

ONLINE Computing

MasterTools

MasterTools is accounting software for AIX and Windows that also handles supply-chain management, manufacturing, and project-management activities. Accounting functions include sales-tax management, time and attendance, and cash management, as well as AP, AR, FA, GL, and HR.

Open Systems

Open Systems Accounting Software (OSAS)

OSAS is a customizable accounting and business-management system that runs under AIX, Linux, Windows, and other operating systems. Users can modify its open-sourced code at will, and its basic functions include AP, AR, CR, FA, GL, IC, PO, and PR. It also provides enterprise resource planning capabilities.

Sentinel Hill Software

S5 Financial Accounting Systems

S5 runs on Linux, UNIX, and Windows and supports DB2, Oracle, SQL, and Sybase file systems. Its major capacities include AP, AR, FA, GL, IM, OM, and PO, as well as order processing, project-time billing, and class-registration invoicing.


John Ghrist
About the Author:
John Ghrist has been a journalist, programmer, and systems manager in the computer industry since 1982 and has worked with IBM midrange and mainframe, H-P, Unisys, and PC platforms. A former editor-in-chief of Defense Computing and a senior editor with SystemiNEWS, John has written and edited hundreds of articles and blogs for more than a dozen print and electronic publications. He is currently CEO of John Ghrist Agency, a marketing communications firm for technology companies. You can reach him at ghrist@comcast.net.
Read More >>

A Video on the IBM i Tririga Lease Accounting

Incoming search terms:

  • ibm accounting software
  • IBM accounting software training center in sacramento

1 comment - What do you think?
Posted by Mario1 - 14/09/2015 at 1:49 pm

Categories: AS/400 Software   Tags:

IBM i Modernisation Issues

IBM i Modernisation

 

Modernization-Redbook-231x300In recent years there have been frequent discussion on the IBM i modernisation issue concerning the user interface, the database and programming.

Recently I noticed an interesting article published on the MC Press online website and I have re-published it below for your convenience

Modernization  on the IBM i: Getting Started

Written by Brian May Monday,

23 February 2015 00:00

Modernization. Everyone is talking about it. Everyone wants it. But we cannot always agree on exactly what it is. It can mean a few different things, depending on your needs and environment. This of course leads to confusion for those who need it most.

 

In addition to being a Modernization Specialist for a software vendor, I am a member of the team of authors who created the IBM Redbook Modernize IBM i Applications from the Database up to the User Interface and Everything in Between. This is an issue that even we experts were forced to overcome. We came together to write a book about modernization. After hours of deliberation on the table of contents of the book, it was apparent that it would be difficult to fit the needed content in one book. Even the title of the book is difficult to fit on a page!

 

The enormity of the topic and the plethora of options available can often discourage IBM i shops from even beginning their quest for application modernization. Fortunately, a few simple tips and clarifications will smooth out the start of your journey.

 

Modernization essentially falls into three major categories, each of which has its own unique challenges.

Database

The database is the foundation of your application. Your company’s data is its lifeblood. This is arguably the most important part of your application to modernize, but it is often the hardest to sell to management. The reality is, if you have done it correctly, the vast majority of your users will never know it was done. The application may run faster and have fewer errors. Your development staff will spend less time “fixing” data and will be able to implement some changes in a timelier manner. These added efficiencies are just harder to quantify.

 

Before embarking on your database modernization project, here are a few things to add to your to-do list.

 

Study General Database Concepts

As IBM i developers, most of us have developed our own style of database design over the years. Remember, our system has had a relational database for a long time. That long and rich history has given us some habits that were well-founded at one time but now are no longer the best design choices. I recommend finding a good book on database design and doing some reading.

 

Learn about database normalization and form. Chances are you are not normalizing your database as much as you could or should. This is important for making your applications as agile as possible. Normalization will eliminate data duplication and help you maintain data integrity.

 

Also learn the proper SQL terms for database elements. This will help you when looking for resources online or when talking to database experts from other platforms. Below is a short table to help you associate common IBM i terms with SQL terms.

 

IBM i Term

SQL Equivalent

Library

Schema

Journal

Log

Physical File

Table

Logical File

View

Keyed Logical File

Index

Record

Row

Field

Column

 

There are more books available on the topic of SQL and database design than anyone could ever read. Chapter 8 of the modernization Redbook is a good place to start.

 

Learn DDL

Take the time to learn how to create your database files using SQL instead of DDS. You have used DDS for years. You are comfortable with it and know everything about it. You can create files faster because of your familiarity with it. So why change now?

 

Whether you realize it or not, DDS is limiting you. Think about it. When is the last time you remember IBM adding an enhancement to DDS? If you watch IBM’s announcements, you will see enhancements added to DDL, the subset of SQL used to define tables, constantly. New data types and functionality are added at least twice a year in Technology Refreshes. This is where IBM is spending its development dollars with regard to database enhancements. SQL is the industry standard, and you should be embracing it.

 

Luckily, there are tools to assist you, and resources on the topic abound. Chances are you have i Navigator on your computer. The database section contains tools to help you take an existing file and generate the DDL needed to create an identical file as well as a wizard to let you define a table in DDL using a point-and-click interface.

 

Understand Triggers, Constraints, Indexes, and Referential Integrity

You need to understand these database features in order to make your application more data-centric. There are entire articles and books on these topics, so there is no need to rehash them here. Through doing your research mentioned above, you should have learned the basics of these concepts. Moving business rules and validations down into your database will simplify your application code and enforce these rules even when data is introduced from outside sources. This is key to having a solid foundation.

 

Pace Yourself

Do not try to do it all at once! Start small by only creating new tables using SQL DDL. Then move forward slowly. Chances are you will not be designing a new database from the ground up very often, so you need to integrate what you have learned in a methodical way. Again, the modernization Redbook is a great place to start.

 

Code

When it comes to code modernization, your options are virtually endless. Should you stay with the programming language you are currently using? Should you move to PHP, Java, .Net, Ruby, Node.js, or whatever the language du jour is? The truth is I can’t make that decision for you. Every programming language has advantages and disadvantages. I believe that modern RPG is still the best language for business applications, but it’s certainly not the only choice. No matter which language you use, the following tips can be applied.

 

Write Modular Code

Modular coding is essential. In the RPG world, this means embracing ILE and service programs. In other languages, this will mean object-oriented programming. Coding in a modular fashion can be a big step for IBM i developers. RPG applications are historically monolithic and use a top-down methodology. Learning to design your applications and break them into logical units will make you a better coder in any language. Start by reading articles about ILE, service programs, and subprocedures. This information will be invaluable.

 

Learn and Use the Latest Features

Be sure that you are familiar with the enhancements added to your programming language in each release, and try to incorporate them into your applications. Those features were added because they were deemed useful. You should at least understand them well enough to know if they are useful to you. Even though you may be using the latest version of a language (RPG IV, for example), if you are not using its features, you are not getting the benefits of the language.

 

Experiment

Coding should be fun. You should experiment while you learn. All too often, readers will tell me they haven’t tried to modernize their code because they have not determined what method is best. There is no best method! You will never know what method is best for you until you try a few. Just because you tried to code a certain way when you started modernizing does not mean you should be stuck with that decision if it is not working for you. Plan for time to redesign. If you try to get things perfect before you begin, you will never begin.

 

User Interface

Your user interface is the face of your application. This is what your user base and management interact with every day. You can have the most advanced database and coding methodologies available under the covers, but if you use them to drive a 5250 session, your users will instantly disregard it as outdated. Many great custom-built applications are replaced by inferior packaged software because the UI is better looking and easier to use.

 

The new users coming into your company were raised in an age of social media, smartphones, and instant access to any content they want. Can a green-screen deliver that? Simple things like checkboxes, dropdowns, and autocomplete are not only pretty “bells and whistles.” They are essential ease-of-use features that users expect. Proper use of such elements can reduce costs by streamlining data entry and reducing training time.

 

Here are some considerations when modernizing your user interface.

 

Ease of Input

The key to a successful application is to make it as simple to use as possible. Reducing manual input should be priority one. With the influx of mobile touchscreen devices, many of your users will not have a real keyboard.

 

This is very different from the traditional IBM i application developer’s mindset. We have always strived to speed data entry by keeping the user’s fingers firmly planted on a keyboard. In the past, heads-down data entry was the norm and speed was essential. Users navigated screens repetitively and could hammer out data with super efficiency.

 

With the increase of data exchange via EDI, FTP, e-commerce, and web services, the need for massive heads-down data entry is on a steady decline. Usability should be our focus now instead of data entry speed. On a touchscreen device, you are actually slowing your user down every time you require something to be typed. That is where graphical elements excel. When your input method is a touchscreen, you expect to be able to interact with your application with a simple touch.

 

Do not forget about keyboards completely, though. Be sure to test to ensure that tabbing through elements flows as expected.

 

Variety of Access

Your application needs to be available on a plethora of devices and operating systems. Enterprises are becoming more diverse in their hardware every year. A Windows-based desktop is not the only device you must consider any more. Companies are issuing desktops and laptops running Linux. Apple devices are showing up outside of the art departments. More and more companies are deploying tablets on sales and manufacturing floors.

 

All of the devices should be able to access your company’s data. You can develop and maintain applications for each of these possibilities separately, but that is very inefficient. This diversity has led to the vast popularity of web-based interfaces. All of these devices in the wild have web browsers installed. Having a web-based interface gives your application the flexibility to support them all. I do not recommend device-specific applications unless there is a technical need to do so.

 

Learning Curves

With the move to a graphical interface, the options available to you can be daunting. While I do recommend to everyone to learn basic HTML, JavaScript, and CSS, becoming an expert in all areas of web development takes time. For this reason, I recommend that IBM i developers evaluate tools to assist them in creating user interfaces. Many third-party packages are available for giving IBM i applications better user interfaces. New technologies like Rational Open Access RPG Edition can reduce learning curves even further for RPG developers.

 

I highly recommend that you try a few different options. Download a trial of a couple of commercial offerings. Try building a UI yourself from the ground up with raw HTML, JS, and CSS. Have a look at some of the frameworks available. All of these options have merits. Finding the right fit for you will require some hands-on time.

 

Wrapping Up

If I have not answered all of your questions about modernization, good! That was never my intent. But now you at least have a starting point. I do strongly suggest getting a copy of the modernization Redbook, and not just because I wrote a few chapters in it. It is a great source of knowledge on a very wide range of topics related to modernization.

 

The most important thing to remember is this. The only true mistake you can make with regard to application modernization is doing nothing. It is important to have information, but not at the expense of experience. You will learn as you go and change your mind on aspects of your plan. That is just the nature of modernization. You are not just modernizing your applications. You are also modernizing your skills. It is good to have a plan, but do not over-plan. Never limit yourself to only what you planned. How can you plan for what you didn’t know you didn’t know?

 

In the end, there are no magic bullets. Modernization is a process. It will take work, but the rewards are well worth the investment.

About the Author:

Brian May

Brian May, an IBM Power Systems Champion and Modernization Specialist for Profound Logic Software, devotes the majority of his time to assisting customers with their modernization efforts. He frequently writes and speaks on topics related to RPG, JavaScript, and IBM i Modernization. Brian recently contributed his time and expertise to the new IBM i Modernization Redbook.

 

References

IBM i Modernisation Strategies

IBM i Web Enablement: Five Decisions to Make Before You Start

Webgate400

Rapidly Deliver PHP Web Apps on IBM i

IBM System I Application Modernization: Building a New Interface to Legacy Applications (Redbook)

 

 

Incoming search terms:

  • ibm i modernization

Be the first to comment - What do you think?
Posted by Mario1 - 28/02/2015 at 5:19 pm

Categories: AS/400 Software, Programming   Tags:

Next Page »