Remote Procedure Call (RPC)

Go up to Terms and Definitions

Discussion

Remote Procedure Call (RPC) is an implementation interface style in which one software component invokes an operation provided by another software component across a process, service, system, or network boundary.

An RPC interface typically presents interactions as named operations with input parameters, output results, errors, and invocation semantics. RPC implementations may use different protocols, data formats, service definitions, transport mechanisms, authentication mechanisms, and runtime frameworks.

In the FX Demo Reference Architecture, RPC references identify possible implementation mechanisms. RPC does not define the logical meaning of a Communication Endpoint, Node, data structure, policy decision, command, acknowledgement, release package, or runtime plane.

An RPC interface can realize, expose, or support a logical communication pattern selected by an implementation profile. The logical architecture remains independent of RPC operation names, parameter formats, service definitions, transport protocols, framework selection, and deployment boundaries.

Definition

implementation interface style in which one software component invokes an operation provided by another software component across a process, service, system, or network boundary

Source

Generalised from common distributed-systems usage and specialized for use in the FX Demo Reference Architecture.

Note

RPC is not a logical Communication Endpoint, Application Programming Interface (API), command, data structure, runtime plane, deployment artifact, or policy mechanism. An RPC interface may implement or expose an architectural interaction selected by an implementation profile.

Example

A later implementation profile may use an RPC method to request replay from a replay service, while the logical architecture defines the interaction through the FX Replay Request Endpoint.