==========================================
Last time
experiencing web services
SOAP
REST
Types of Web Services (Evolution of Types)
- Stand alone applications
- Web Applications
- Web Services
- monolithic - all operations dumped in one web service
- micro services - one web service one well defined operation
===================================================
- Web Applications
- HTTP was the most common protocol
- Web Services using HTTP only
#1. HTTP based Web Service
- packaging protocol => HTTP
- data format => plain text
- Transport Protocol => Http
PROS
- fast and simple
- browser can be used as a client, you do not require to build any special
client for http based web service
CONS
- non secure [intermediate parties can see the message data]
- employee object not floated accross network
====================
Improvement suggested and accepted
----------------------
Use some security mechanism
- Encryption/Decryption
HTTPs
==============================
90's
SOAP Based Web Service
(SOAP Over HTTP)
- SOAP => Simple Object Access Protocol
- it is only packaging protocol, not transport protocol
<employee>
<empid>1000</empid>
<ename>barun</ename>
<salary>12000</salary>
</employee>
- canonical structure
- packaging protocol => SOAP (Simple Object Access Protocol)
- data format => XML
- Transport Protocol => Http
PROS
- Secure
- Data floated as XML Object
CONS
- You cant use browser as client, you always require special soap client.
- WSDL complication involved (not easy to implement)
- Slow in performance as compare to HTTP
WSDL
- Web Service Description Language
- XML File
- WSDL contaings 2 things
- End Point URL
- hostname and Port number
ilt.mulesoft.com:9091
- Operations Details
- operation name (e.g. ListAllFlights, FindFlight, add ,subtract
etc)
- operation input , output
WSDL overhead
- Whenever any client want to contact any SOAP WS, WSDL is must
=================================================
90's to late 2000's
- SOAP WS (along with all its drawbacks) ruled IT industry 10-15 years
What was the industry need
- need some ws which is fast like http based ws
- need something secure like soap ws
- object should be transported
==========================================
Research happened in industry
- 80-20 rule true for IT industry as well
80% of Web Services could be implemented in Stateless Way
only 20% require to be stateful web services
=> Stateful
- multiple requests and response are related to each other, which forms the
session
REST [REpresentational State Transfer]
- not another type of web service
- Packaging protocol - HTTP/s
- Transport Protocol - HTTP/s
- data format - JSON [Java Script Object Notation]
- built in feature in http clients for Java Script
=> REST is faster than SOAP
=> REST is simpler than SOAP to implement
Current Trend
=> Whereever you actually require stateful ws, then use SOAP WS(20%) and for
stateless always use REST WS(80%)
Summary
HTTP Based WS
- Packaging protocol
- Transport Porotocol
- Data Format
PROS & CONS
---------
HTTPs
- encryption/decryption
- security issue solved
---
SOAP
- SOAP Over HTTP
- XML is data format
- WSDL
- what it contains
- what is significance
Pros & Cons
====
REST
- 80-20 research
- stateful vs stateless
RESt is stateless
Pros
Cons - only 80% coverage
===
Current Trend
- stateful => SOAP
stateless => REST