Docs‎ > ‎REST APIs‎ > ‎

REST Background

REST is an internet-based protocol for retrieving and updating information.  It is the de facto standard for Cloud / Mobile server access.  In the context of database access, a REST server responds to REST requests by making SQL and/or service calls to other REST servers, with enforcement of logic for security and integrity.

SOA

REST is a very good example of an Service Oriented Architecture.  It is language/architecture neutral (works with C#, Java, Ruby. PHP etc), and is therefore often used as the basis for Enterprise Application Integration.

REST calls are well-conceived for performance, able to deliver large amounts of desired data in a single transmission (so-called "coarse grained access").

HTTP Based

REST calls are simply HTTP calls.  Since virtually every language provides HTTP support, such languages therefore support REST.

REST calls (requests) consist of a URL, a Verb and a Request Body.  In the context of database information, we can summarize this as follows:

 Element Example Notes
 URL http:<<server>>request The prefix is the server location, and the suffix is the Resource Name.  It may be followed by parameters such as filters and sorts.

Resource names are the Base Tables from your database, or Resources you explicitly define in the Logic Designer.
 VerbGET
POST
PUT
DELETE
Read
Insert
Update
Delete - these are the foundation of any database access, often called CRUD
 Body     JSON, XMLAn encoding of attribute/values that the result of a read, or the data to be inserted/updated/deleted


In the context of Espresso Logic, we use JSON for data encoding.  In addition to being a simple protocol (virtually every language provides libraries to build/parse JSON), it is actual JavaScript so is particularly well-integrated with many mobile architectures.

In the context of Espresso Logic, the REST Lab provides an easy way for you to experiment with your REST server, without writing a program.