Data Transfer Object (DTO) An object that carries data between processes in order to reduce the number of method calls needed for communication between the processes.

Hypermedia as the Engine of Application State (HATEOAS) A constraint of REST whereby a client interacts with a network application entirely through hypermedia provided dynamically by application servers. A client enters the application through a simple fixed URL. All future actions the client may take are discovered within resource representations returned from the server. The client transitions through application states by selecting from the links within a representation, or by manipulating the representation in other ways afforded by its media type.

ServiceStack An open-source framework for building Web services on Microsoft platforms.

Facts, Thoughts and Opinions

Basic ServiceStack web service components

By definition, a ServiceStack web service will have, at minimum, the following components:

Request DTO object - The input of a service method. It represents the action to be performed. Usually the name of the class contains a verb (e.g., GetOrderRequest, DeleteItem).

Service - Implements the internal logic and acts as a “controller”. Implements some or all of the standard HTTP verbs.

Response DTO object - Represents the result of an action. Usually the data returned should be named with a noun (e.g., MoviesResponse, Orders, ProductResponse).