|
Any application rests on top of an operating system when you further subdivide the top API. The application converts data gathered from local storage, network connections, or the internet, into useful information according to pre-determined protocols, pre-programmed rules, and procedures. A browser is an example of an application running on an operating system.
Hypermedia data objects interact in this memory pool following code specifications (like HTML “verbs” GET, PUT, and DELETE) as well as security authentication standards like OAuth, CORS, and SSL. You probably built software for clients that Country Email List captured specific objects “floating” in this memory pool. Specialized APIs are designed to capture (interact with) specific kinds of objects.
REST differs from older web application designs in the way it loosely defines or REpresents the way objects are found in memory. A wider range of “floating free” objects in memory are brought “onboard” (State Transfer) because the REST API is not constrained by the way it “sees” the data by strict rules, definitions, specifications, or protocols. Adopting a REST design eliminates the need for building separate APIs for each new project. This software design also has greater flexibility dealing with future changes in either data or protocols.
The term agnostic is used to describe a REST web design because it has been uncoupled (or unlinked) from many constraints of older protocols and specifications. This decoupling is especially important as data shifts from an older hypertext focus to a new, broader definition of hypermedia, extending the hypertext fabric of hyperlinked data to include graphics and video. Decoupling a web design from established rules and specifications is important as definitions change.
|
|