background preloader

APIs

Facebook Twitter

REST. In computing, representational state transfer (REST) is the software architectural style of the World Wide Web.[1][2][3] More precisely, REST is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system.

REST

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.[4][1] Through the application of REST architectural constraints certain architectural properties are induced: Performance, Scalability, Simplicity, Modifiability, Visibility, Portability, and Reliability.[4][1] To the extent that systems conform to the constraints of REST they can be called RESTful. How to design a REST API. We propose a “Quick Reference Card”, as a summary of best practices in REST API design.

How to design a REST API

Download API Design – Quick Reference Card As soon as we start working on an API, design issues arise. A robust and strong design is a key factor for API success. A poorly designed API will indeed lead to misuse or – even worse – no use at all by its intended clients: application developers. Creating and providing a state of the art API requires taking into account: RESTful API principles as described in the literature (Roy Fielding, Leonard Richardson, Martin Fowler, HTTP specification…)The API practices of the Web Giants Nowadays, two opposing approaches are seen.

“Purists” insist upon following REST principles without compromise. Designing a REST API raises questions and issues for which there is no universal answer. To facilitate and accelerate the design and development of your APIs, we share our vision and beliefs with you in this article. KISS – « Keep it simple, stupid » cURL examples Example. RESTful API design OCTO Quick Reference Card 2.2.

- The RESTful cookbook. REST Security Cheat Sheet. Last revision (mm/dd/yy): 12/4/2015 REST (or REpresentational State Transfer) is a means of expressing specific entities in a system by URL path elements. REST is not an architecture but it is an architectural style to build services on top of the Web. REST allows interaction with a web-based system via simplified URLs rather than complex request body or POST parameters to request specific items from the system.

Interagent/http-api-design. Architectural Styles and the Design of Network-based Software Architectures. Principled Design of the ModernWeb Architecture. Web API Design. RESTful Web APIs. In this huge world that is getting bigger every day, RESTful API plays a huge role, in fact a lot of companies are moving their API to RESTful API since it's easier to use, therefore more attractive for potential clients.

RESTful Web APIs

This book is an average-size book, in fact is a 356 (real) pages long book and features 38 additional pages containing other things like covers, indexes, glossary, etc. The book is easy to read thanks to it's simple language and the fact that is split in 13 chapters and 3 appendices (averagely ~22 pages per chapter/appendix). One of the good things of this book is the fact that it does not require any specific knowledge acquired before start reading the book.

RPC. In computer science, a remote procedure call (RPC) is client/server system in which a computer program causes a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction.[1] That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote.

RPC

When the software in question uses object-oriented principles, RPC might be called remote invocation or remote method invocation (RMI). Many different (often incompatible) technologies have been used to implement the concept. History and origins[edit] SOAP. Characteristics[edit] SOAP can form the foundation layer of a web services protocol stack, providing a basic messaging framework for web services.

SOAP

This XML-based protocol consists of three parts: an envelope, which defines the message structure[1] and how to process ita set of encoding rules for expressing instances of application-defined datatypesa convention for representing procedure calls and responses SOAP has three major characteristics: extensibility (security and WS-routing are among the extensions under development)neutrality (SOAP can operate over any transport protocol such as HTTP, SMTP, TCP, UDP, or JMS)independence (SOAP allows for any programming model)

WSDL. The Web Services Description Language (WSDL /ˈwɪz dəl/) is an XML-based interface definition language that is used for describing the functionality offered by a web service.

WSDL

The acronym is also used for any specific WSDL description of a web service (also referred to as a WSDL file), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. It thus serves a purpose that corresponds roughly to that of a method signature in a programming language. The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the D stood for Definition. Description[edit] Representation of concepts defined by WSDL 1.1 and WSDL 2.0 documents.

The WSDL describes services as collections of network endpoints, or ports.