MigratoryData Platform is built around the following key concepts:
Subject — A pub/sub topic of the MigratoryData server. Clients publish and subscribe to subjects to exchange real-time messages.
API (or Streaming API)— A collection of real-time pub/sub endpoints, each backed by a Subject. It is the real-time counterpart to a traditional REST API, exposing pub/sub endpoints rather than GET/POST endpoints.
API Hub — Public catalog of Streaming APIs. Developers browse, discover, and adopt Streaming APIs from here for their real-time apps.
Developer Portal — Where developers create Apps, adopt Streaming APIs, generate Access Tokens, and test adopted Streaming APIs in a live console.
App — A client real-time application. Adopts one or more Streaming APIs and holds Access Tokens.
Access Token — A JWT credential signed with a Signing Key, scoped to an App and a set of Streaming APIs. Passed by clients when connecting to the Server.
Signing Key — A cryptographic secret created in the Portal to sign Access Tokens, and shared with Gateways to verify them.
AsyncAPI — Industry-standard specification used by Portal to document Streaming APIs (the real-time equivalent of OpenAPI).
User — A person who has a Role that determines what they can do in the Portal. Users can share Apps and APIs with other users.
Role — Determines what a User can do in the Portal. Available roles are Administrator (full control), API Provider (creates and publishes Streaming APIs), and API Consumer (discovers and adopts Streaming APIs into Apps).
Gateway — Portal’s term for a MigratoryData server it manages. One Portal can manage a cluster of one or more Gateways. The Portal can be used to monitor configuration, logs, and metrics for each Gateway.
Client — A language-specific MigratoryData SDK (Java, Node.js, Android, iOS, C#, C++, Python, PHP, and more) used to connect to a Gateway, authenticate with an Access Token, and publish or subscribe to the APIs’ endpoints. The Portal generates a ready-to-run code snippet for each supported language.