RPG vs Webservice

Hi Experts,

Can someone tell me what the advantage is to use webservices instead of calling directly "eRPG' programs?

(or the disadvantage)

Thanks,
Murph
LVL 17
MurpheyApplication ConsultantAsked:
Who is Participating?
 
Gary PattersonVP Technology / Senior Consultant Commented:
Advantages:

Ease of use - Web services have standard interfaces that are understood by lots of tools, which makes them easy to interface with.  Most Java programmers, for example,  have no idea how to call an RPG program directly, and dealing with parameter passing between RPG and other languages and platforms is complex.  Calling an AS/400 web service that uses an RPG program is the same as calling a Solaris web service that uses a PHP program.  The developer using the web service doesn't have to worry about the platform, internal numeric formats, or other implementation-specific details.

Standards-based interface - Web services use XML to describe what the interface looks like (WSDL), and to pass data (messages) in and out of the services over HTTP (SOAP).  Otherwise, developers working in other languages and on other platforms have to deal with packed numbers, zoned numbers, EBCDIC conversion, low-level transport details, etc.

Well-known standards-based transport - Web services use HTTP as a transport protocol, which is understood by stateful firewalls.  This means that firewalls can perform stateful inspection, providing a deeper level of inspection and security to the network.

Standards-based discovery protocol - Web services can utilize standards-based discovery mechanism (UDDI, for example) that makes it possible to publish a list of web services in a directory, where potential consumers can then obtain enough information about the service in order to use it.  

Disadvantages:

The key disadvantage in your case is probably the learning curve for legacy programmers.

Performance cost can also be a disadvantage.  Any time you add more layers, you add some performance cost.

Debugging complexity.  Again, more layers means more complexity in debugging and troubleshooting.

http://www.ibm.com/developerworks/webservices/standards/
http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/435f43a9-ee17-4700-8c9d-d9c3ba57b5ef/


- Gary Patterson

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.