Richardson's Maturity Model
The path towards REST is defined by Leonard Richardson
It starts at ( POX) Plain old XML )
It is based on a idea of network based API rather than library based API
Properties of REST
- Heterogeny
- Scalability
Efficiently manage request and to scale horizontally when needed
- Evolovability
- Visibility
Value added components such as monitoring applications or intelligent gateways to operate correctly without needing access to any hidden and potentially proprietaries state (Session state)
- Reliability
- Efficiency
- Performance
Caches can improve the efficiency of a restful applications and speed in which response can be delivered to a user agent
- Manageability
Defining REST
RPC
- Its not a new way to use http to make a remote procedure call
- Its not any architecture that is not soap and wsdl
- Design target of a network interaction is a resource
- The semantics among the remote interactions are not abstracted away at all. Key part of the design
- It is not http ( While most current implementation are built using HTTP, an architecture implemented on top is not RESTful).
URI
- Largely because of the frameworks on which they are built, many RESTful systems have clean URLs ("cool URLs"). However this is not the requirement for REST
- Hyper-foucs on URI's can actually make designs not RESTful
RPC
- The design target of a network interaction is a remote function or method
- Goal of an RPC architecture abstract a way all of the other details of the network. so that all components may be interacting over a network. Those details are completely abstracted away from the developer who is writing a code
REST
- Stands fore "Represental state tranfer"
- Introduced in 2000 by Roy Fielding as a part of his doctoral dissertation
- Intended for long lived network based applications
- All about style of thinking and designing applications. not a protocol not specific implementation design pattern.
REST and SOAP
- Its not that isnt SOAP. SOAP and wsdl is an implementation detail of RPC-style systems
- REST is justoposed with RPC
No comments:
Post a Comment