Service-Oriented Architecture
including HTTP, SOAP, REST
K. V. Raghavan
Indian Institute of Science
HTTP
HTTP
Is a stateless, connectionless, synchronous (i.e., request-response) protocol
HTTP Request
HTTP Response
A response consists of
SOA
What is Service Oriented Architecture (SoA)?
Main characteristics of SoA
Reasons why SoA is popular
A toy example (services, and their end-points)*
Customer:
Cust GetCustDetails(int custId)
Bool DeductFromWallet(int custId, int amount)
Inventory:
Bool DeductFromInventory(int productId, int count)
void AddToInventory(int productId, int count)
int GetPrice(int productId)
Orders:
Bool PlaceOrder(int custId, int productId, int count)
-- its implementation will invoke DeductFromInventory, GetPrice, DeductFromWallet
* Omitted above the URL:port of each service, and request-path of each end-point
More about SoA
SOAP+WSDL
Main features of SOAP
WSDL
BPEL (Business Process Execution Language)
UDDI
Summary of components [from Hwang, Fox, and Dongarra]
Examples of SOAP usage
Advantages and disadvantages
Advantages
Disadvantages
REST
Main ideas behind REST
Main ideas behind REST - II
Main ideas behind REST - III
Detailed look at a simple example
Example continued
Web Sessions
Main ideas behind REST - IV
Main ideas behind REST - V
Main ideas behind REST - VI
Usage of REST in practice
Many popular web-based services provide REST APIs (in addition to web-based UI applications and mobile apps) these days
Advantages and disadvantages
Advantages of REST
Disadvantages
Required reading on SoA