A software system designed to support interoperable machine-to-machine interaction over a network
Web services
Offer a regular way for interoperation between software applications that are running on various types of platforms as well as frameworks
Perform specific tasks
Are searched for over the network and called upon accordingly
Provide operation for the client that has invoked the web service
Types of Web Services
SOAP - Simple Object Access Protocol
REST - REpresentation State Transfer
REST
An architectural style that defines a set of constraints to be used for creating web services
REST API
A way of accessing web services in a simple and flexible way without having any processing
REST web services do not impose any rules concerning how it needs to be applied in practice at a low level</b>
REST deals majorly on the resources, contrasting SOAP which aims at actions
Principles of REST architecture
Uniform Interface
Stateless
Cacheable
Layered system
Uniform Interface
Resource: everything is a resource
URI: any resource can be accessed by a URI
HTTP methods: makes explicit use of HTTP methods
REST Response types
XML
JSON
HTML
Plain text
JSON
A lightweight format for storing and transporting data, often used when data is sent from a server to a web page, and is "self-describing" and easy to understand
RESTful web service makes use of HTTP for determining the action to be conceded out on the particular resources