RPG’s Place in the E-Business Revolution
With IBM repositioning the AS/400 as an “e-business” machine, there has been a lot of hype in recent months regarding how new leading-edge technologies such as Java, WebSphere and XML will revolutionize the stalwart server. The main reason for this repositioning is obvious--it’s potentially a huge growth market with an opportunity to sell lots of e-business servers. These e-business servers will not displace enterprise AS/400 servers that hold the wealth of enterprise RPG applications. IBM has to move the AS/400 forward, but it will never abandon its bread-and-butter, the enterprise.
We are seeing the AS/400 being positioned to serve two different markets: 1) the e-business market and 2) the enterprise market. The real power of e-business will only be realized, however, with the successful marriage of these two markets, which will require connecting Java-based e-business solutions to RPG-based enterprise solutions.
The thought of the AS/400 as an e-business machine has led to some confusion in the AS/400 world. It looks as if IBM is trying to convert it from an RPG machine to a Java machine--and it doesn’t help that some knowledgeable people have suggested that all new development on the AS/400 should be done using Java. I’ve even heard some say that it would be smart to start converting some legacy RPG-based applications to Java, so that they can easily be ported to other systems!
But this is not a new phenomenon on the AS/400, where we have seen SAA, ADCycle, C, C++, Client/Server and many more technologies that have come and gone, but RPG still remains the workhorse. Will this happen to some of the newer technologies? Probably, but we must remember that every technology is invented to solve a certain problem, and that every technology essentially goes through the same life cycle.
Technology Life Cycles--“Its Deja Vu all Over Again!”
In recent years we have seen many technologies go through the technology life cycle: Artificial Intelligence (AI); Computer Aided Software Engineering (CASE); Client/Server computing; and C++ to name a few.
This life cycle has four stages:
Invention: Technology is invented to solve a problem, and it usually solves the problem very well.
Adoption: The technology is adopted; people jump on the bandwagon and try to solve ALL problems using it, the “Swiss army knife” approach. Even though a Swiss army knife has a knife attachment, it doesn’t mean that it can effectively be used to replace a carving knife.
Disillusionment: People get disillusioned because the technology does not solve ALL problems and jump off the bandwagon. They discovered that the Swiss-army knife is OK for occasional use, but they are better off using the right knife for the right job.
Maturity: The technology is still around, and it still solves the problems it was originally intended to solve, and minor enhancements are made to it to keep it up-to-date.
We are currently in the latest wave of new technologies such as the Internet, Object-oriented programming, Java, XML and Web Application Servers that are either in the adoption stage or the early phases of the disillusionment stage. These technologies are being pushed by many people--including IBM--and as with other technologies that came before, are being touted as solving all problems by people who have jumped on the bandwagon. In reality, these new technologies ultimately only solve the problems they were meant to solve in the first place--Internet-based e-business. That is, the deployment of a solution which allows customers to transact business over the Internet.
RPG has been through its own technology life cycle and is now considered mature technology. Since its inception in the early 1960’s, RPG has been solving business problems that involved processing of data quickly and easily. These business problems include payroll processing, accounts receivable processing, order management processing, inventory processing, etc. Even with its various upgrades through the 70’s and 80’s, RPG still solved the same basic business data processing problems, just quicker and easier.
With the introduction of the System/38 and then the AS/400, the integration of RPG with the server’s relational database management system allowed the same basic business problems to be solved more easily in a transactional manner. Through most of its life, the enhancements made to RPG and to the AS/400 have really had two goals in mind: 1) make it easy to solve business problems; 2) make it easier for RPG-based solutions to interact with other technologies such as C, C++ and Java. In the enterprise market, even with all the e-business hype, IBM is still pushing the AS/400 as a proven enterprise server with low cost of ownership and a proven track record. And RPG is still king in this market because it solves the common business computing problems of the enterprise.
Java to Go
There have been rumors recently that some ERP vendors may try to change their code base to Java to make their applications more portable. This seems to be another case of developers jumping on the bandwagon to use a new technology that will solve all problems. But because Java is not a mature technology and still has many rough edges, any existing AS/400 ERP vendor that does this conversion will face problems competing with other RPG-based ERP solutions.
My own development shop is a case-in-point, in that we are evenly split between Java and RPG development. The Java developers have encountered and reported many more problems to IBM and Sun than the RPG developers have reported to IBM, and are much less efficient because they have to contend with problems caused by a new technology still in its relative infancy. The RPG developers are working in a known problem domain and can remain much more efficient.
My advice to anyone on an AS/400 writing enterprise business applications is to continue using RPG. I’m not saying that you should never use Java, just that you should use Java to solve only the problems it was meant to solve, namely, deploying Web-based applications, not writing transaction-based enterprise business solutions.
The power of e-business is achieved when business-to-business interactions can be done electronically using the Internet. The concept is simple: If my customers are managing their own business transactions (such as ordering products over the Internet), rather than calling my employees to perform the same transaction, then I am saving a lot of money and my customers are happier. This is the same self-service concept that banks have used with the ATM machine.
You Say You Want E-Revolution
This is what is known as the e-business revolution and it has the potential to drastically change how business is being done.
In the e-business market IBM is competing with Intel-based PCs running Microsoft Windows NT and with Unix machines from Sun, HP and Compaq. IBM desperately wants its AS/400 customer base to use the server as an e-business machine, instead of implementing a competing Windows NT or Unix machine. So, in this very competitive market, Big Blue has to tout the AS/400 as a leading edge Web machine with world-class Java capabilities, and with a top-of-the-line Web application server such as WebSphere. This would solidify the future of the AS/400.
When e-business technologies were originally developed, they addressed the infrastructure problems of deploying an Internet-based business solution, but had one glaring problem: They did not easily interact with the hundreds of millions of lines of RPG code used to deploy most midrange business solutions.
As mentioned earlier, the first e-business attempt was to try to solve all problems by duplicating the business logic and data on an Internet server. This was done by mass importing business data into a database on an Internet Server, then writing new code in either C++ or Java to duplicate the business logic. Duplicating business logic that took many years and thousands of lines of RPG code to develop was no small feat. This of course led to many problems, the largest being that now business logic and data had to be maintained in more than one place. Early adopters of Internet technology are now finding this duplication of effort to be a great expense.
The question many people are asking is, “Does RPG have a future in the e-business revolution?” The answer is a definitive “Yes!” and ultimately the marriage of Web-based e-business technologies with RPG-based enterprise technologies will be the key to a company’s success in this emerging new world. We are now into the next stage in the technology life cycle for e-business, where it’s dawning on people that it won’t solve all problems.
But we now have a whole new problem: How do my e-business applications make use of my enterprise applications and enterprise data without duplication? Enter a new set of technologies called connectors, adapters, or bridges that allow for those new e-business applications to communicate with traditional enterprise applications through the use of middleware. Some examples might be connectors built using Enterprise Java Beans (EJB), a middleware infrastructure such as MQSeries, or the use of a data exchange format based on XML.
Over the next few months look for most of the ERP vendors that have not already done so to provide connectors to allow e-business applications to make use of their enterprise solution. Also, look for third-party vendors to provide connectors between e-business solutions and enterprise applications. Vendors that provide RPG-based connectors on the enterprise side, and Java or XML-based on the e-business server side will be the most successful because, in order to marry the e-business world with the enterprise system world, you will have to use the appropriate technology in the appropriate problem domain.
The key to successfully solving any business problem from transaction processing to Web deployment is to use the right technology for the job. It seems that RPG’s future is clear; it will be used to solve the same business problems that it solves so effectively today. Technologies such as Java, WebSphere and XML will be used to solve the problems of deploying e-business solutions for the Web-based business community. The e-business revolution will spawn new technologies that solve problems relating to the marriage of the Web and the enterprise. Look for IBM to add enhancements to RPG that will interact with more of the new technologies and tie the Web-based e-business systems to traditional enterprise systems.
Ted Tritchew is a Product Manager at Ironside Technologies Inc. a California-based firm specializing in Java-based e-commerce products for the midrange market. Ted also spent 16 years at the IBM Toronto Lab working on compiler technology. His tenure at IBM included working on the original release of the ILE/RPG compiler. Ted can be reached at firstname.lastname@example.org
Related editorial:RPG Everywhere!