Skip to main content

jsonAction.org

jsonAction Glossary

jsonAction.org glossary

AMQP

AMQP is short for Advanced Message Queuing Protocol, which is an industry standard messaging protocol. It allows clients to publish messages to message brokers for guaranteed delivery to subscribers. It is optimized to distribute each message to a different subscriber. This is a simple and effective way to parallelize data processing to increase throughput. AMQP can also publish the same message to many subscribers.

MQTT is another industry standard messaging protocol that is simpler to implement and use than AMQP. MQTT is optimized for publishing each message to many subscribers. MQTT can also distribute each message to a different subscriber.

jsonAction works over AMQP and MQTT.

asynchronous

An asynchronous protocol sends a request without waiting for a response. This approach allows a client to continue working in its current execution thread without waiting for a response. This makes it easy for a client to send multiple requests to many servers and continue working. This approach can make applications highly responsive and performant.

The main disadvantage of this approach is that a client must register a callback to handle server responses as they come in. This is challenging to program because a program can be interrupted at any time with a response and it has to restore the original programming context and state to process the response. WebSocket is an asynchronous protocol.

jsonAction works over synchronous and asynchronous protocols.

See Also synchronous.

HTTP

Hypertext Transfer Protocol (HTTP) is a standard request-response protocol that works on top of TCP/IP. It allows a client computer to send a request to a server computer, which in turn, replies to the request. The purpose of HTTP is to allow software to ask questions and receive answers.

JSON

JavaScript Object Notation (JSON) is a simple format for representing data. It requires very little markup and is flexible enough to represent the majority of data structures. It is self-describing, which makes it ideal for schemaless applications and search. It can optionally be paired with a schema to define an expected structure.JSON

JSON Schema

JSON Schema is a standard for validating JSON documents. It requires a schema to be defined in one JSON file and uses that file to validate the content of another JSON file.

A JSON database may use a JSON Schema to validate the structure of a JSON document before it stores it in its database. This ensures data is complete and valid so that it can be queried reliably.

JSON Schema is not to be confused with SQL Schema.

MQTT

Message Queueing Telemetry Transport (MQTT) is the Internet standard protocol for publishing and subscribing to messages that are sent to topics on an MQTT broker (see MQTT.org for more information).

remote procedure call

See RPC.

request-response

In a request-response protocol, a client sends a request to a server and receives a response. This simple technique is the most common form of client-server communications. Because a server cannot push requests to a client, the client is protected from external push attacks.

The jsonAction protocol is a request-response protocol.

RPC

Remote Procedure Call (RPC) is an API pattern that executes a procedure on a remote server and returns the result. The RPC pattern is one of the most effective techniques for creating distributed client/server programs.

FairCom provides jsonAction APIs that use JSON to invoke actions and return responses.

stateful

A stateful protocol requires a server to retain the state of each connected client. This has the advantage of simplifying client communications.

Database servers, on the other hand, are typically stateful because databases are state machines that store and track the current state of data and the visibility of that data .

jsonAction works well for stateful and stateless protocols.

See Also ???TITLE???.

stateless

A stateless protocol does not require a server to retain the state of each connected client. This has the advantage of requiring fewer resources. Application servers are typically stateless.

jsonAction works well for stateful and stateless protocols.

See Also stateful.

synchronous

A synchronous protocol sends a request and waits for a response. This approach is simple to understand and implement. Its main disadvantage is that a client cannot do additional work while it is waiting for a response unless it launches another execution thread. HTTP is a synchronous protocol.

jsonAction works over synchronous and asynchronous protocols.

See Also asynchronous.

WebSocket

WebSocket (WS) is a standard communication protocol for bidirectional exchange of data between computers, see RFC 6455. It works over TCP/IP and HTTP. It is often used by single page web applications because web browsers have built in support for WebSocket. It is also used by applications and servers that want to push messages to other computers in additional to using the request-response provided by HTTP.