What are the 3 eras of distributed computing evolution?
1st: Internet (linked machines, TCP/IP). 2nd: WWW (linked documents, HTTP/HTML). 3rd: SOA (linked applications, web services/REST).
Why do we need Web Services?
Screen scraping websites is unreliable. Need to query web resources programmatically using standard formats.
What is a Web Service?
Business logic on Internet/intranet accessed using standard XML over protocols like HTTP or SMTP.
Why don’t Web Services replace other DS technologies?
They provide coarse-grained approach to exposing enterprise services on existing platforms (JEE, .NET, etc.) without constraining component technology.
Why use XML for data exchange?
Easily extended, self-describing, text-based (portable), standard and non-proprietary.
What is JSON?
JavaScript Object Notation - lightweight text-data interchange format. Language independent
What are the 5 capabilities of Web Services?
Described (service description language), Published (to registry), Discovered (standard mechanism), Invoked (declared API), Composed (with other services).
What are the features of Web Services?
Standardise packaging for transport, support sync/async communication modes, provide interoperability abstraction of RPC/RMI.
What is Resource-Based Architecture?
View DS as collection of resources individually managed by components, that can be added/removed/retrieved/modified remotely.
What are the 4 principles of Resource-Based Architecture?
What is REST?
Representational State Transfer - architectural style for web services using HTTP with resources identified by URIs.
What protocol properties does REST use?
Client/server, Stateless, Cacheable, Layered.
What is a Resource in REST?
Anything with a URI - web page, image, data record, customer record.
What are the 4 HTTP verbs and their CRUD equivalents?
GET=Read, PUT=Update, POST=Create, DELETE=Delete.
Why is it called Representational State Transfer?
Client references resource via URL, gets representation back. Representation places client in a state. Following hyperlinks transfers to new states.
What is a key feature of REST responses?
Responses contain hyperlinks to related resources, allowing client to drill down for more detail.
What is a logical URI?
Expresses what resource is desired, not a physical object. Don’t need million HTML pages for million parts.
How is a Purchase Order submitted in REST?
Client creates PO document conforming to schema, submits as payload of HTTP POST.
What are the 4 claimed benefits of REST?
Is REST a standard?
No - it’s an architectural style that prescribes use of standards (HTTP, URI, XML/JSON).
What is WSDL?
Web Services Description Language - describes web service interface (what requests, arguments, transport).