• spacer
    • spacer Arcitura IT Certified Professionals (AITCP)
    • spacer Prentice Hall Service Technology Series
  • spacer
    • spacer Arcitura IT Certified Professionals (AITCP)
    • spacer Prentice Hall Service Technology Series
  • spacer
    • spacer Arcitura IT Certified Professionals (AITCP)
    • spacer Prentice Hall Service Technology Series
    • spacer Service Technology Magazine
  • spacer
    • spacer Arcitura YouTube Channel

WhatIsREST.com

  • Introduction to Services
    • Overview
    • Service
    • Service Contract
    • Service Capability
    • Service Consumer
    • Service Agent
    • Service Composition
    • Services and REST
  • REST Constraints
    • Overview
    • Client-Server
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
    • Stateless
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
    • Cache
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
    • Uniform Contract
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
    • Layered System
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
    • Code-on-Demand
      • Overview
      • Profile
      • Related Excerpts from Fielding's Dissertation
  • REST Architectural Goals
    • Overview
    • Performance
    • Scalability
    • Simplicity
    • Modifiability
    • Visibility
    • Portability
    • Reliability
  • Uniform Contract Elements
    • Overview
    • Resource Identifier Syntax (and Resources)
    • Methods
    • Media Types
  • REST Service Contracts
    • Capability and Contracts
    • REST Service Contracts vs. Non-REST Service Contracts
      • Overview
      • Non-REST Service with Custom Service Contract
      • REST Service with Uniform Contract
      • HTTP Messaging vs. SOAP Messaging
    • Hypermedia and Late Binding
      • Overview
      • URI Templates and Resource Queries
      • REST Service Contracts and Late Binding
  • State Management Explained
    • Overview
    • Origins of State Management
    • Deferral vs. Delegation
    • Types of State
      • Overview
      • Active and Passive
      • Stateless and Stateful
      • Session and Context Data
      • Measuring Service Statelessness
  • Web-centric Industry Standards
    • Overview
    • The Internet Engineering Taskforce (IETF)
    • The World Wide Web consortium
    • Other Web Standards
  • Service Technology Specs
    • Overview
    • SOA Specs
    • Semantic Web Specs
    • Cloud Computing Specs
    • Web/REST Specs
    • WS-* Specs
    • Component Specs
    • XML Specs
Home > REST Constraints > Overview

REST Constraints

REST constraints are design rules that are applied to establish the distinct characteristics of the REST architectural style.

The formal REST constraints are:

  • Client-Server
  • Stateless
  • Cache
  • Interface / Uniform Contract
  • Layered System
  • Code-On-Demand

Each constraint is a pre-determined design decision that can have both positive and negative impacts. The intent is for the positives of each constraint to balance out the negatives to produce an overall architecture that resembles the Web.

An architecture that weakens or eliminates a required REST constraint is generally considered to no longer conform to REST. This requires that educated decisions be made to understand the potential trade-offs when deliberately deviating from the application of REST constraints.

REST Constraints Reference

This section provides profile tables for the five REST constraints. Every profile table contains the following sections:

  • Short Definition - A concise, single-statement definition that establishes the fundamental purpose of the constraint.
  • Long Definition - A longer description of the constraint that provides more detail as to what it is intended to accomplish.
  • Application - A list of common steps and requirements for applying the constraint.
  • Impacts - A list of positive and negative impacts that can result from the application of the constraint.
  • Relationship to REST - A brief explanation of how the constraint can relate to other constraints and overall REST architecture.
  • Related REST Goals - A list of REST design goals that are related to and relevant to the application of this constraint.

Each profile table is followed by a Related Excerpts from Fielding's Dissertation section that provides relevant excerpts from Roy Fielding's "Architectural Styles and the Design of Network-based Software Architectures" for reference purposes.

Note that the upcoming constraint profiles have been authored using language and terminology compatible with this Website. You may notice different terminology being used in the aforementioned excerpts. For example, Fielding's references to interface or uniform interface correspond to the term uniform contract on this Website. This and other vocabulary differences were explained earlier.

info@arcitura.com
Tel: 1.800.579.6582
Tel: 1.604.904.4100
Fax: 1.604.904.4465

Arcitura Education Inc. is a leading global provider of progressive, vendor-neutral training and certification programs. With a worldwide network of certified trainers, training partners, and testing centers, Arcitura schools and accreditation programs have become internationally established and further proven through a series of published books, papers, and on-going industry
research. For more information, visit: www.arcitura.com

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.