0
3.0kviews
Explain REST with a diagram.

Mumbai University > Computer engineering > Sem 7 > Software Architecture.

Marks: 10 M

Year: May14, Dec13, May13, Dec12, May12

1 Answer
0
9views

The need for a next-generation web arose from the outstanding success of the first generation- and the inability of that architecture to function adequately in the face of enormous growth in the extend and the use of the web. The characteristics of the Web as an application and the properties of its deployment and use provide the critical context for the development of REST. REST style was created to directly address the application needs and design challenges of the web. It has been derived from a rich set of architectural principles and styles.

The notational derivation of REST style from simpler styles is shown below:

enter image description here

The key choices in this derivation include:

1. Layered separation: The core design decision for REST was the use of layered systems. Browsers running on a user’s machine have responsibility for presentation of information to the user and are the locus of determining the user’s next interactions with the information space. Servers have responsibility for maintaining the information that constitutes the Web and delivering representations of that information to the clients. Software that addresses the user interfaces can evolve independently from the software that manage large amounts of data and respond to requests from many sources. This separation of responsibilities simplifies both components and enables their optimization. The server processes any request based on the information provided in that request. This design constraint is referred to as ‘stateless server’ and corresponding protocol is ‘stateless protocol’. Here the server does not keep the record of any session of interactions with a client.

2. Replication: The replication of information across a set of servers provides the opportunity for increased system performance and robustness. The existence of replication is hidden from clients as a result of intermediate layers. Caching information is a form of replication. Caches may be located near client or server. A single cache can
be utilized by many different clients as requests are always self-contained. On the basis of the request message, the cache determines that it has the required information which may be sent to the requestor without involving any processing on the part of the server. System performance is thus improved as the user obtains desired information without incurring the normal cost for computation.

3. Limited commonality: The parts of distributed application can be made to work together either by demanding that a common body of code be used for managing all communications or through imposition of standards governing that communication. REST undertakes the interaction in two-levels. The first level specifies how information is named and represented as meta-data and specifies a few key services that every implementation should support. The second level focuses on the packaging of the arbitrary data in a standardized form for transmission. The dynamic extension allows clients to receive arbitrary data in response to a request to a server. This allows client functionality to be extended dynamically. With such execution, the client is able to perform new functions and be customized to that client’s particular needs. REST thus incorporates code-on-demand variant-style of mobile code. The REST style is certainly a powerful tool to use in network-based applications where issues of latency and agency are prominent.

Please log in to add an answer.