Application Interface Services (APIS) is an extended profile network communications protocol designed for the exchange of information between functionally-independent applications incorporated in a distributed real-time system.
APIS conceptually encompasses Layers 5 to 7 of the ISO OSI Reference Model and so interfaces below to Layer 4, the Transport Layer and above to the Application Service Service (ASU) which will normally be a collaborative, networked, software application.
The ASU is a producer and/or consumer of data of different types. Data types are pre-defined by an ASU administration authority, as part of the network system design and each data type is ascribed a unique identification code or Message Identifier. The APIS protocol establishes the necessary communication channels between ASUs by registering and matching their producers and consumers. LAN dataflow will therefore be determined by the data type of ASU messages and not by predefined ASU addresses.
This data-driven approach to dataflow management provides a higher level of flexibility than the traditional addressed-point-to-addressed-point facilities provided by general purpose LAN protocols. The objective of this approach is to simplify ASU communication and configuration logic, thereby decoupling system design from network design.
Principles of Operation
The intrinsic operation of APIS requires a number of specific services from the lower layer protocols. These are broadcast, reliable multicast and multicast group management.
Message classification characterises each message by type, sub-type and identifier (ID). Messages are grouped by type and sub-type and uniquely identified by Message ID. Such classification is made on the basis of origin (i.e. producer) and application category (e.g. contact, target, navigation data, etc.).
Producers and consumers register with their own (local) APIS which identifies them to the system by means of an APIS broadcast. The status of all producers and consumers is then maintained in a local status table which is updated periodically as well as at each significant status event. The aggregate of this process provides a distributed, real-time, dataflow management agent.
When a consumer requires a message it registers its requirement (i.e. demands the message) and APIS sets up all necessary internal mechanisms and control messages to ensure that the producer provides this message.
The Message Identification scheme is designed in such a way as to support wildcarding. Wildcarding is defined as group addressing by means of address subsets. Thus groups of producers and consumers can be accessed using a generic addressing scheme. APIS employs wildcarding to manage production and consumption of messages, both individually as well as by group (type) and sub-group (sub-type). Wildcard demand and limited wildcard produce are both supported as APIS service options.
APIS employs multicast and multicast group management to manage production and consumption of messages. A Producer uses reliable multicast to transmit to all Consumers requiring a particular message. Consumer groups, including the joining and leaving of groups after startup, are managed by multicast group management facilities.
The interface to APIS is defined by the following service requests :
APIS   Issue 3 2010-09-01