Close
If you are reading this it’s probably because you are researching webservices, perhaps looking for an IBM i Webservices Primer and googled something like “what is the difference between SOAP and REST on IBM i webservices – please help me I am going insane“? http://bfy.tw/9ON0
Dont worry – help is at hand. But you might still be insane!
Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) are two different, but similar, ways of talking to Web services out there in Internet Land.
SOAP is the long established and much used standard for webservices. It communicates using XML and was originally designed by Microsoft. If in doubt, SOAP is an easy place to start when looking at webservices, but bear in mind that older does not necessarily mean better.
Simply put, SOAP uses XML and a WSDL specification to handle it’s conversations. When Microsoft originally created the SOAP protocol it was to replace older technologies that didn’t understand the Internet — things like Distributed Component Object Model (DCOM) and Common Object Request Broker Architecture (CORBA). Older technologies use binary messaging to talk to each other but building a layer between applications talking with XML messaging lets different systems easily communicate over the internet.
REST is the new kid on the block. REST was created to improve on areas that SOAP is a little “clunky”. I like REST because it has some cool features that SOAP doesnt offer (like JSON, CSV interfaces for example) but I’ve also found that SOAP can be easier to use because it doesnt have these options. Saying that, REST is quicker to code with because it doesnt have all the large cumbersome requirements of building long XML strings of data. REST communications are shorter and easier to code than SOAP (arguably).
If SOAP is more verbose than REST – so why do I say it can be easier to use?
Because the wonderful IBM i Power System has a great integrated webserver (commonly referred to as the #IWS) which handles all the webservice XML & JSON conversions for us… but more on that later.
Hmmm – this is the six four thousand dollar question.
SOAP is the established player in the world of Web service internet access.
After saying all that – REST is easier to use because of it’s short form and it might require less programming work.
Personally – I would recommend start with REST and JSON. Get a feel for it. Play with the Integrated webservice and learn XML Play with SOAP and REST services and see which one floats your boat.
IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Alpha Nerd and Passionate Eater of Cheese and Biscuits. Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day. Enjoy your stay, feel free to comment and in the words of the most interesting man in the world: Stay thirsty my friend.
JSON versus JSONP Tutorial – Resurrected
RPG Example reading JSON using JSON_TABLE from IFS
RPG Example reading JSON using YAJL from IFS
RPG example: Talk to a Webservice and store reply XML or JSON in IFS
What is JSON_TABLE on IBM i?
JSON Plugin for RDI
Web Services for Dummies
An introduction to iSeries webservices
What is a webservice and how does it work on AS400, iSeries or IBM i Server?