jsonAction.org
jsonAction is a remote procedure call protocol designed to be simple and extensible.
July 12, 2023
The jsonAction protocol is a simple, lightweight RPC protocol that uses the request-response pattern to request a server to execute an action and return the result. jsonAction can be used for stateless or stateful communications as well as for running synchronous or asynchronous commands.
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.
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.
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.
statefulA 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.
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.
asynchronousAn 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.
synchronousRemote 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.
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.
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.
statefulA 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.
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.
asynchronousAn 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.
synchronousAn 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.
synchronousA 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.
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.
statefulA 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.
asynchronousIn 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.
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.
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.