In today’s age, there’s almost no debate that web applications are some of the most important applications around. One of the components of a web application is what web services it utilizes. In a nutshell, web services are self-contained, available over the Internet and are not tied directly to any single programming language or operating system. So where does the title of this blog come in? SOAP and REST are two of the most often used API(Application Programming Interface) paradigms and often are mentioned in the same breath, but they’re very different from each other.
What exactly is an API? An API is like a plug adapter–it connects one application into the data and services of another application by granting it access to specific parts of a server. It simply lets two pieces of software communicate; you probably use an API once every few minutes as you browse your smart phone or check out blogs or videos on your laptop.
Simple Object Access Protocol

SOAP is a communication-based protocol that’s used to communicate over the internet. It provides data transport for web services and is able to exchange complete documents or just call a remote procedure. It works on any platform and in any language. It offers a high level of security to keep messages private if your individual application need them and has built-in ACID compliance by reducing anomalies and maintaining integrity of databases by setting out standards and rules for exactly how transactions can and should interact with the database.

REpresentational State Transfer

REST on the other hand, is a fully “web services” based API. Where SOAP is a protocol, REST is an architectural style for developing web services. It is more easily compared to the idea of Java design patterns as REST can be thought of simply as a “design pattern” for APIs. REST APIs can even make direct use of SOAP! REST is appealing to developers due to how simple it is and that it’s built upon features that already exist such as features of the Internet’s HTTP (Hypertext Transfer Protocol) to achieve its goals. There are certain items that a web service needs to include to be considered a RESTful API; it should have a uniform interface, have client-service separation, is stateless, have a layered system and be cacheable. It is lighter-weight than SOAP and is usually the more popular choice of the two.
In this blog I went over a pretty broad description of SOAP and REST but there is no doubt you’ll hear about them more. For more information please visit these sites: