UNIVERSITY OF CALIFORNIA, IRVINE Architectural Styles and the Design of Network-based Software Architectures DISSERTATION submitted in partial satisfaction of the requirements for the degree of Your paper will be % Rest Phd Dissertation original. All the papers are written from scratch. All the papers are written from scratch. We use two plagiarism detection systems to make sure each work is % Rest Phd Dissertation original/10() Invariably, dissertation help is necessary for students to avail to ensure they aren't missing out on key elements. Additionally, getting help with dissertation writing will guarantee that students are covered on all the basic aspects that are going to see their work through ualified professional writers with PhD and Master's degrees more Missing: rest
Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST)
This chapter introduces and elaborates the Representational State Transfer REST architectural style for distributed hypermedia systems, describing the software engineering principles rest phd dissertation REST and the interaction constraints chosen to retain those principles, while contrasting them to the constraints of other architectural styles. REST is a hybrid style derived from several of the network-based architectural styles described in Chapter 3 and combined with additional constraints that define a uniform connector interface.
The software architecture framework of Chapter 1 is used to define the architectural elements of REST and examine sample process, connector, and data views of prototypical architectures. The design rationale behind the Web architecture can be described by an architectural style consisting of the set of constraints applied to elements within the architecture. By examining the impact of each constraint as it is added to the evolving style, we can identify the properties induced by the Web's constraints.
Additional constraints can then be applied to form a new architectural style that better reflects the desired properties of a modern Web architecture. This section provides a general overview of REST by walking through the process of deriving it as an architectural style. Later sections will describe in more rest phd dissertation the specific constraints that compose the REST style. There are two common perspectives on the process of architectural design, whether it be for buildings or for software.
The first is that a designer starts with nothing--a blank slate, whiteboard, or drawing rest phd dissertation builds-up an architecture from familiar components until it satisfies the needs of the intended system, rest phd dissertation. The second is that a designer starts with the system needs as a whole, rest phd dissertation, without constraints, and then incrementally identifies and applies constraints to elements of the system in order to differentiate the design space and allow the forces that influence system behavior to flow naturally, in harmony with the system.
Where the first emphasizes creativity and unbounded vision, the second emphasizes restraint and understanding of the system context. REST has been developed using the latter process. Figures through depict this graphically in terms of how the applied constraints would differentiate the process view of an architecture as the incremental set of constraints is applied.
The Null style Figure is simply an empty set of constraints. From an architectural perspective, the null style describes a system in which there are no distinguished boundaries between components.
It is the starting point for our description of REST. The first constraints added to our hybrid style are those of the client-server architectural style Figuredescribed in Section 3. Separation of concerns is the principle behind the client-server constraints. By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components. Perhaps most significant to the Web, rest phd dissertation, however, is that the separation allows the components to evolve independently, thus supporting the Internet-scale requirement of multiple organizational domains.
We next add a constraint to the client-server interaction: communication must be stateless in nature, rest phd dissertation, as in the client-stateless-server CSS style of Section 3.
Session state is therefore kept entirely on the client. This constraint induces the properties of visibility, reliability, and scalability. Rest phd dissertation is improved because a monitoring system does not have to look beyond a single request datum in order to rest phd dissertation the full nature of the request.
Reliability is improved because it eases the task of recovering from partial failures [ ]. Scalability is improved because not having to store state between requests allows the server component to quickly free resources, and further simplifies implementation because the server doesn't have to manage resource usage across requests.
Like most architectural choices, the stateless constraint reflects a design trade-off, rest phd dissertation. The disadvantage is that it may decrease network performance by increasing the repetitive data per-interaction overhead sent in a series of requests, since that data cannot be left on the server in a shared context.
In addition, placing the application state on the client-side reduces the server's control over consistent application behavior, since the application becomes dependent rest phd dissertation the correct implementation of semantics across multiple client versions. In order to improve network efficiency, we add cache constraints to form the client-cache-stateless-server style of Section 3. Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable.
If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests. The advantage of adding cache constraints is that they have the potential to partially or completely eliminate some interactions, improving efficiency, scalability, and user-perceived performance by reducing the average latency of a series of interactions. The trade-off, however, rest phd dissertation that a cache can decrease reliability if stale data within the cache differs significantly from the data that would have been obtained had the request been sent directly to the server.
The early Web architecture, as portrayed by the diagram in Figure [ 11 ], rest phd dissertation, was defined by the client-cache-stateless-server set of constraints. That is, the design rationale presented for the Web architecture prior to focused on stateless client-server interaction for the exchange of static documents over the Internet.
The protocols for communicating interactions had rudimentary support for non-shared caches, but did not constrain the interface to a consistent set of semantics for all resources. Instead, the Web relied on the use of a common client-server implementation library CERN libwww to maintain consistency across Web applications.
Developers of Web implementations had already exceeded the early design. In addition to static documents, requests could identify services that dynamically generated responses, rest phd dissertation, such as image-maps [Kevin Hughes] and server-side scripts [Rob McCool]. Work had also begun on intermediary components, in the form of proxies [ 79 ] and shared caches [ 59 ], but extensions to the protocols were needed in order for them to communicate reliably, rest phd dissertation.
The following sections describe the constraints added to the Web's architectural style in order to guide the extensions that form the modern Web architecture.
The central feature that distinguishes the REST architectural style from other network-based styles is its emphasis on a uniform rest phd dissertation between components Figure By applying the software engineering principle of generality to the component interface, rest phd dissertation, the overall system architecture is simplified and the visibility of interactions is improved. Implementations are decoupled from the services they provide, which encourages independent evolvability.
The trade-off, though, is that a uniform interface degrades efficiency, since information is transferred in a standardized form rather than one which is specific to an application's needs, rest phd dissertation. The REST interface is designed to be efficient for large-grain hypermedia data transfer, optimizing for the common case of the Web, but resulting in an interface that is not optimal for other forms of architectural interaction, rest phd dissertation.
In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior of components. REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application state.
These constraints will be discussed in Section 5. In order to further improve behavior for Internet-scale requirements, we add layered system constraints Figure As described in Section 3. By restricting knowledge of the system to a single layer, we place a bound on the overall system complexity and promote substrate independence.
Layers can be used to encapsulate legacy services and rest phd dissertation protect new services from legacy clients, rest phd dissertation, simplifying components by moving infrequently used functionality to a shared intermediary.
Intermediaries can also be used to improve system scalability by enabling load balancing of services across multiple networks and processors. The primary disadvantage of layered systems is that they add overhead and latency to the processing of data, rest phd dissertation, reducing user-perceived performance [ 32 ].
For a network-based system that supports cache constraints, this can be offset by the benefits of shared caching at intermediaries. Placing shared caches at the boundaries of rest phd dissertation organizational domain can result in significant performance benefits [ ]. Such layers also allow security policies to be enforced on data crossing the organizational boundary, as is required by firewalls [ 79 ]. The combination of layered system and uniform interface constraints induces architectural properties similar to those of the uniform pipe-and-filter style Section 3.
Although REST interaction is two-way, the large-grain data flows of hypermedia interaction can each be processed like a data-flow network, with filter components selectively applied to the data stream in rest phd dissertation to transform the content as it passes [ 26 ]. Within REST, intermediary components can actively transform the content of messages because the messages are self-descriptive and their semantics are visible to intermediaries. The final addition to our constraint set for REST comes from the code-on-demand style of Section 3.
REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number of features required to be pre-implemented. Allowing features to be downloaded after deployment improves system extensibility.
However, it also reduces visibility, and thus is only an optional constraint within REST. The notion of an optional constraint may seem like an oxymoron. However, it does have a purpose in the architectural design of a system that encompasses multiple organizational boundaries.
It means that the architecture only gains the benefit and suffers the disadvantages of the optional constraints when they are known to be in effect for some realm of the overall system. For example, if all of the client software within an organization is known to support Java applets [ 45 ], then services within that organization can be constructed such that they gain the benefit of enhanced functionality via downloadable Java classes.
At the same time, however, the organization's firewall may prevent the transfer of Java applets from external sources, rest phd dissertation, and thus to the rest of the Web it will appear as if those clients do not support code-on-demand, rest phd dissertation. An optional constraint allows us to design an architecture that supports the desired behavior in the general case, but with the understanding that it may be disabled within some contexts.
REST consists of a set of architectural constraints chosen for the properties they induce on candidate rest phd dissertation. Although each of these constraints can be considered in isolation, describing them in terms of their derivation from common architectural styles makes it easier to understand the rationale behind their selection.
Figure depicts the derivation of REST's constraints graphically in terms of the network-based architectural styles examined in Rest phd dissertation 3.
The Representational State Transfer REST style is an abstraction of the architectural elements within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements.
It encompasses the fundamental constraints upon components, connectors, and data that define the basis of the Web architecture, and thus the essence of its behavior as a network-based application. Unlike the distributed object style [ 31 ], where all data is encapsulated within and hidden by the processing components, rest phd dissertation, the nature and state of an architecture's data elements is a key aspect of REST.
The rationale for this design can be seen in the nature of distributed hypermedia. When a link is selected, information needs to be moved from the location where it is stored to the location where it will be used by, in most cases, a human reader.
This is unlike many other rest phd dissertation processing paradigms [ 650 ], where it is possible, and usually more efficient, to move rest phd dissertation "processing agent" e. to the data rather than move rest phd dissertation data to the processor. A distributed hypermedia architect has only three fundamental options: 1 render the data where it is located and send a fixed-format image to the recipient; 2 encapsulate the data with a rendering engine and send both to the recipient; or, 3 send the raw data to the recipient along with metadata that describes the data type, so that the recipient can choose their own rendering engine.
Each option has its advantages and disadvantages. Option 1, the traditional client-server style [ 31 ], allows all information about the true nature of the data to remain hidden within the sender, preventing assumptions from being made rest phd dissertation the data structure and making client implementation easier.
However, it also severely restricts the functionality of the recipient and places most of the processing load on the sender, leading to scalability problems. Option 2, the mobile object style [ 50 ], provides information hiding while enabling specialized processing of the data via its unique rendering engine, but limits the functionality of the recipient to what is anticipated within that engine and may vastly increase rest phd dissertation amount of data transferred.
Option 3 allows the sender to remain simple and scalable while minimizing the bytes transferred, but loses the advantages of information hiding and requires that both sender and recipient understand the same data types. REST provides a hybrid of rest phd dissertation three options by focusing on a shared understanding of data types with metadata, but limiting the scope of what is revealed to a standardized interface.
REST components communicate by transferring a representation of a resource in a format matching one of an evolving set of standard data types, selected dynamically based on the capabilities or desires of the recipient and the nature of the resource. Whether the representation is in the same format as the raw source, or is derived from the source, remains hidden behind the interface.
The benefits of the mobile object style are approximated by sending a representation that consists of instructions in the standard data format of an encapsulated rendering engine e. REST therefore gains the separation of concerns of the client-server style without the server scalability problem, allows information hiding through a generic interface to enable encapsulation and evolution of services, and provides for a diverse set of functionality through downloadable feature-engines.
The key abstraction of information in REST is a resource. Any information that can be named can be a resource: a document or image, a temporal service e. a person rest phd dissertation, and so on.
What to do if you only have 3 months left to finish your PhD
, time: 15:24Dissertation Help Service Online
Our custom papers allow you to improve your academic ratings. We offer a 24 hours certified online support. Cheap dissertation writing services online by uk experts. In Missing: rest UNIVERSITY OF CALIFORNIA, IRVINE Architectural Styles and the Design of Network-based Software Architectures DISSERTATION submitted in partial satisfaction of the requirements for the degree of Rest Phd Dissertation and are used to working under pressure and providing research papers Rest Phd Dissertation of exceptional quality. They Rest Phd Dissertation work fast so your custom paper will be completed as soon as possible and delivered to you by the deadline you specify. You will be able to download your completed assignment from your personal account on our website/10()
No comments:
Post a Comment