In simplistic technical terms, RPG-XML Suite is essentially an RPG service program that allows RPG programmers the ability to compose, transmit, and parse XML along with many other supporting subprocedures. These three capabilities fully equip an RPG programmer to offer (or provide) XML web services on the IBM i, as well as call (or consume) XML web services on remote machines.
Calling Web Services with RPG-XML Suite
An RPG-XML Suite program on your IBM i can “call” a web service that resides on another machine. The RPG program composes and passes an XML stream from the remote web service on the server/client and receives back the response XML which it parses for its data contents. For example, the RPG program could send an XML invoice to a business partner to automate the billing process, or a purchase order could be sent to a supplier to automate the shipping of widgets to your company.
Offering Web Services with RPG-XML Suite
RPG-XML Suite can also play the opposite role. In this case, the server/client calls RPG-XML Suite by passing an XML request. The RPG web service running under Apache receives and parses the XML. Once the RPG web service program makes the data from the XML document available, other RPG business logic can be called or data can simply be stored in the DB2/400 database. The RPG web service program can then compose an XML response and return it to the caller (server/client).
For another example – a CRM application might reside in the cloud on another machine (i.e. Salesforce.com), which is used by sales personnel to add new accounts. That application could send the newly created account information to the RPG Web Service which would write it to the appropriate DB2 database for future order fulfillment purposes.
RPG-XML Suite was built by RPG developers who have lived through creating web services in RPG and Java without a well-packaged development toolset. There are a handful of alternatives that will allow RPG to connect to the outside world (like front-ending it with a Java web service), but those alternatives typically require intensive custom development or the introduction of a new programming language into your environment, which can be both very costly and labor intensive.
Give your XML project a jump start. Describe your program goals and get a FREE Proof of Concept today!