Glossary of Terms

Key Terms

Apio

Apio is a next-generation integration platform for modern commerce operations. Seamlessly connect, transfer and monitor data within your ecosystem, including your warehouses, ERP, CRM, ESP, POS and other 3rd party applications.

Apio is a PaaS solution, it enables businesses to create their underlying service mesh from easy to deploy lightweight Apps, to support the growth of the organisation by providing flexibility and visibility.

Apps are created in an easy-to-use browser-based editor, can be downloaded and run on any Linux, Mac or Windows machine. The Apps send statistical information to the dashboard, providing visibility of the underlying integrations.

The browser-based editor can also debug the remote Apps, helping to understand what's happening with the data. The built-in simulator can be used to write the interfaces without guesswork.

App
Short for application, a program that runs inside another service. Apps are used to integrate datasets between platforms via interfaces. Each interface is constructed with flow based data processing modules.

Admin
The user interface for all set up, configuration, control and reporting for the Apps.

Build
A product feature contained within Admin that allows a user to construct flow based interfaces and subsequently create  apps.

Dashboard
A monitoring tool visualising the statistical events and behaviours processed through each app / interface.

Data
A set of values of qualitative or quantitative variables about one or more persons or objects, while a datum (singular of data) is a single value of a single variable.

Editor
Application feature that allows users to Create and Edit environment configurations /modules/interfaces and apps.

Environment Config
Stored configuration variables for an App that could include credentials, IPs, locations, domains etc.

Event
An event occurs each time an interface is attempted whether it is successful or not.

Event Log
A collection of event data over time.

Interface
A connection between systems (usually two) but could be many.  An interface is built using two or more modules

Module
Each of a set of standardized parts or independent units that can be used to construct an interface.

Organisation
A term that refers to an entity that could have an app or apps associated with them.  Referred to a [client] within the code and DB. An Organisation could also be assigned as an owner acting as a parent on behalf of other Organisations.

Users
An entity associated to an organisation who has access to the Admin with role based behavioural rules assigned.


General Glossary of Terms


Binary
A binary file is a file stored in binary format. A binary file is computer-readable but not human-readable. All executable programs are stored in binary files, as are most numeric data files.  In the case of APIO an App.

Flow
Flow is a stream of related packets that meet the same matching criteria and share the same characteristics.

Recipe
Recipes are a set of Modules that APIO will follow to get work done between 2 (or more*) predefined platforms. Recipes have many advanced features, allowing them to handle all app integration and workflow automation scenarios, including complex data transformations, conditional triggers and actions, duplicate detection and much more.

Payload
Payload is the carrying capacity of a packet or other transmission data unit. With headers and meta being present to aid the delivery of the said packet and stripped post transmission so only the data is left.

Packet
A packet is a small amount of data sent over a network. Each packet includes a source and destination as well as the content (or data) being transferred. When the packets reach their destination, they are reassembled into a single file or other contiguous block of data.

Header
A file header is a small amount of data at the beginning of a file. File headers vary between file formats, but they generally define the content of the file and list specific file attributes.

Meta
Metadata describes other data. It provides information about a certain item's content.

State
In flow based data processing the individual processes may occupy a variety of states. The state is the recorded position relating to information about previous data characters or packets received is stored in variables and used to affect the processing of the current character or packet.

OTA
Over-the-Air refers to a method of distributing and deploying a new binary without the need to stop the previous running app so no downtime is experienced.

Events Log
A list record of an event(s) attempted through an interface whether it is successful or not.

Data Log
A record of the data contained within an event.

Data Mapper
Data Mapper is a technology allowing selection of a data point – any data field – from a visual representation of the (otherwise unknown) input data structure. The data structure is represented by an example. The selection will define the location, using this information the next (similar) input data will be processed and the data points will be extracted.

Docker
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.

Log Viewer
A Log Viewer is a utility that reads application and subsystem log files. Log files provide a record of processing steps completed and record the status of an application or subsystem at a specific point in time

Proto Buff
Is a method of serialising structured data. It is useful in developing programs to communicate with each other over a wire or for storing data.

Registry
A hierarchical database structure that stores the information with regards to a payload processing.

Debugger
A tool used to test and debug software. A typical remote debugger runs on a host computer and connects to the target through a serial port or over a network. 

Simulator
A feature of the application that allows a user to view the behaviour of the interface construct at a module level.

Health Endpoint
Health Endpoint is a common practice in building APIs. Such an endpoint, unlike other resources of a REST API, instead of achieving a business activity, returns the status of the service and while it can gather and return some data, it is the HTTP status that defines whether the service is "Up or Down".

Endpoint
A communication endpoint is a type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

Version Management:
Version Management also called Version Control or Revision Control, is a means to effectively track and control changes to a collection of related entities. In the case of APIO Apps, Interfaces, Modules & Configurations

Subscription Management:
Subscription management refers to customer lifecycle operations like managing trials, assigning credits, issuing refunds and making mid-cycle subscription changes. While recurring billing is automated, subscription management involves billing actions that cannot always be scheduled.

Node:
A node is a basic unit of a data structure, such as a linked list or tree data structure. Nodes contain data and also may link to other nodes. Links between nodes are often implemented by pointers.

Websocket
WebSocket is a communications protocol, providing full-duplex communication channels over a single TCP connection.

Ingestion
Data ingestion is the process of taking raw data and adding it to the system.

Status
Within APIO the status relates to a current state of an App or Interface whether it is active or unavailable.

Asynchronous
Controlling the timing of operations by the use of pulses sent when the previous operation is completed rather than at regular intervals. Concurrency is common in asynchronous communication..

Synchronous
Controlling the timing of operations by a set of rules, like request and answer alternating or messages waiting in a queue, or organised into data frames, avoiding concurrency.

 

Module Definitions


File Input
Watching a folder for new files and processes new files

HTTP Poll Input
Polls a HTTP URL with given frequency/method/payload, processes the result.

HTTP Listener Input
Creates a HTTP server endpoint, listening on given port and path, processes incoming requests.

SQL Poll Input
Polls a database with a given SQL query, processes the result.

SFTP Poll Input
Logs in into an SFTP server periodically, checking the fiven folder for any new files, processes the content.

Cron Input:
Runs the workflow periodically with given cron configuration (plus seconds field), creating an empty payload.

Sync Out:
Sends result to the input step, for example HTTP result with status, headers and body for HTTP List

Combine Items:
Groups payload by given key into associative array, for example group records by sku.

File Output:
Writes the payload or result of a template into a new file in given format.

Parse Structure:
Parses a field into a structure, for example a field containing JSON or XML into the relevant structure.

Jump:
Forwards the payload to the given step's input queue.

Paginate:
Paginates any array in payload into more output payloads without changing the structure or content of other elements.

SFTP Output:
Logs in into an SFTP server and creates a new file with given content.

Stop:
Stop processing the payload.

HTTP Call:
Creates a HTTP request to an URL and processes the result.

FTP Client:
Logs in into an FTP or FTPS server and creates a new file with given content.

Switch:
Switch statement, splits processing into concurrent sub-flows. Can duplicate or filter payloads if necessary.

Javascript:
Powerful Javascript step, allowing modification of the payload, includes underscore.js.

Set:
Sets a payload header field to a processed template's output value.

Email:
Sends email through the configured SMTP server. 

SQL Step:
Runs and SQL statement (select, update, insert, delete, create etc) and stores the result in output payload.

Delay:
Delays execution for n* seconds for the current payload. Can be decimal, like 0.5 or 10.5.

Shell Command:
Run shell command, can be templated with configuration and payload. A shell is a program whose primary purpose is to read commands and run other programs.