NICET SSI key terms
NICET SSI · Get comfortable with the vocabulary.
- Systems Software Integration
- Related: Interface Control Document, Integration Testing, Application Programming Interface
The practice of combining separately developed software components, drivers, and platforms into one working system, including the interfaces, configuration, and testing needed to make the parts operate together reliably.
- Application Programming Interface
- Related: Interface Control Document, Middleware, Software Development Kit
A defined set of rules and data formats that lets one software component request services or exchange data with another, hiding internal implementation details behind stable callable functions, methods, or message endpoints.
- Interface Control Document
- Related: Application Programming Interface, Integration Testing, Protocol
A written specification that records the exact data elements, protocols, timing, and responsibilities agreed between two systems or subsystems, serving as the authoritative reference during integration and acceptance testing.
- Middleware
- Related: Message Broker, Application Programming Interface, Protocol
Software that sits between applications and the operating system or network, providing messaging, transaction, or communication services so integrated components do not need to manage low-level connectivity themselves.
- Message Broker
- Related: Publish-Subscribe, Message Queue, Middleware
An intermediary service that receives messages from publishing components and routes or queues them to subscribing components, decoupling producers from consumers and supporting asynchronous integration between systems.
- Publish-Subscribe
- Related: Message Broker, Message Queue, Event-Driven Architecture
A messaging pattern in which senders publish messages to named topics without knowing which receivers exist, and interested subscribers receive only the topics they registered for, enabling loose coupling among integrated systems.
- Message Queue
- Related: Message Broker, Publish-Subscribe, Asynchronous Communication
A stored sequence of pending messages held until a receiving process retrieves them, providing buffering and delivery guarantees when producers and consumers operate at different rates or are temporarily offline.
- Asynchronous Communication
- Related: Message Queue, Synchronous Communication, Callback
Data exchange in which the sender does not wait for the receiver to process the message before continuing, typically relying on queues or callbacks so integrated components can proceed independently.
- Synchronous Communication
- Related: Asynchronous Communication, Remote Procedure Call, Timeout
Data exchange in which the sender blocks and waits for a response from the receiver before proceeding, making sequencing simple but coupling the timing and availability of both integrated components.
- Remote Procedure Call
- Related: Synchronous Communication, Marshalling, Application Programming Interface
A mechanism that lets software invoke a function on another machine as if it were local, with the underlying library handling request marshalling, network transport, and response decoding transparently to the caller.
- Marshalling
- Related: Serialization, Remote Procedure Call, Protocol
The process of converting in-memory data structures into a defined byte or text format suitable for transmission, and reconstructing them at the receiver, ensuring both integrated sides agree on representation.
- Serialization
- Related: Marshalling, Protocol, Data Mapping
Encoding an object or data structure into a linear format such as JSON, XML, or a binary layout so it can be stored or transmitted and later reconstructed by another software component.
- Protocol
- Related: Interface Control Document, Transport Layer, Handshake
An agreed set of rules governing message format, ordering, error handling, and timing between communicating systems, allowing independently built components to interpret each other's traffic correctly.
- Handshake
- Related: Protocol, Timeout, Heartbeat
An exchange of signals or messages at connection startup in which two components confirm readiness, agree on parameters, and establish state before normal data transfer begins.
- Heartbeat
- Related: Handshake, Timeout, Fault Tolerance
A periodic signal sent between integrated components to confirm that each is still alive and communicating, allowing monitoring logic to detect silent failures that produce no explicit error message.
- Timeout
- Related: Retry Logic, Heartbeat, Synchronous Communication
A configured limit on how long a component waits for an expected response before treating the operation as failed, freeing resources and triggering error handling or retry logic.
- Retry Logic
- Related: Timeout, Idempotency, Fault Tolerance
Programmed rules that automatically reattempt a failed operation a set number of times, often with increasing delay, while guarding against duplicate actions when the original request may have succeeded.
- Idempotency
- Related: Retry Logic, Message Queue, Transaction
A property of an operation that produces the same end state whether executed once or repeated, which makes safe retries possible in integrated systems prone to duplicate message delivery.
- Transaction
- Related: Idempotency, Two-Phase Commit, Data Integrity
A group of operations treated as a single unit that either fully completes or fully rolls back, preserving data consistency when an integration step spans multiple components or data stores.
- Two-Phase Commit
- Related: Transaction, Data Integrity, Fault Tolerance
A coordination protocol in which a coordinator first asks all participating systems to prepare, then instructs them to commit or abort together, keeping distributed updates consistent across integrated databases.
- Data Mapping
- Related: Serialization, Schema, Data Integrity
The documented translation between fields in a source system and fields in a target system, including units, formats, and code values, so integrated data retains its intended meaning.
- Schema
- Related: Data Mapping, Serialization, Interface Control Document
A formal description of the structure, field names, data types, and constraints of a data set or message, used to validate that integrated components exchange compatible information.
- Software Development Kit
- Related: Application Programming Interface, Device Driver, Firmware
A packaged collection of libraries, headers, samples, and documentation supplied by a vendor so integrators can build software that uses a particular platform, device, or service correctly.
- Device Driver
- Related: Firmware, Software Development Kit, Operating System
Low-level software that translates commands from the operating system or application into the specific signal sequences a hardware device requires, isolating integration code from hardware detail.
- Firmware
- Related: Device Driver, Embedded System, Software Development Kit
Software embedded in a hardware device and stored in nonvolatile memory, controlling the device's basic operation and often exposing the interface that higher-level integration software calls.
- Embedded System
- Related: Firmware, Real-Time Operating System, Device Driver
A dedicated computer built into a larger product to perform specific control functions, typically with limited resources and real-time constraints that shape how it integrates with other systems.
- Real-Time Operating System
- Related: Embedded System, Determinism, Latency
An operating system designed to guarantee that critical tasks complete within defined deadlines, using priority scheduling and bounded interrupt latency so integrated control functions meet timing requirements.
- Determinism
- Related: Real-Time Operating System, Latency, Jitter
The property that a system produces the same output for the same input within a predictable, bounded time, which integrators rely on when combining components with strict timing requirements.
- Latency
- Related: Jitter, Determinism, Timeout
The elapsed time between a stimulus entering a system and the corresponding response appearing, a key measure when integrating components whose combined delays must stay within limits.
- Jitter
- Related: Latency, Determinism, Heartbeat
Variation in the timing of repeated events or message delivery, which can destabilize integrated systems that assume regular intervals even when average latency is acceptable.
- Operating System
- Related: Device Driver, Real-Time Operating System, Virtual Machine
System software that manages processor time, memory, files, and devices, providing the services and scheduling that integrated applications depend on for stable, shared access to hardware.
- Virtual Machine
- Related: Containerization, Operating System, Hypervisor
A software-emulated computer that runs its own operating system and applications isolated from the host, letting integrators consolidate or test components without dedicated physical hardware.
- Hypervisor
- Related: Virtual Machine, Containerization, Operating System
Software that creates and manages virtual machines, allocating physical processor, memory, and device resources among guests while keeping them isolated from one another.
- Containerization
- Related: Virtual Machine, Deployment, Configuration Management
Packaging an application with its dependencies into an isolated, portable unit that runs consistently across environments, simplifying integration by removing host-specific configuration differences.
- Configuration Management
- Related: Version Control, Baseline, Deployment
The disciplined process of identifying, recording, and controlling versions of software, settings, and interface definitions so integrated systems can be reproduced and changes traced.
- Version Control
- Related: Configuration Management, Baseline, Build
A system that tracks changes to source code and configuration files over time, allowing integrators to retrieve earlier revisions, compare differences, and merge contributions from multiple developers.
- Baseline
- Related: Configuration Management, Version Control, Integration Testing
A formally approved and frozen snapshot of configuration items and their interfaces, against which later changes are evaluated and integration test results are compared.
- Build
- Related: Version Control, Deployment, Continuous Integration
The automated process of compiling source code, resolving dependencies, and assembling deployable artifacts, whose repeatability is essential for reliable integration across environments.
- Continuous Integration
- Related: Build, Integration Testing, Deployment
A practice in which developers merge changes frequently and an automated pipeline builds and tests the combined code, exposing integration defects early rather than at final assembly.
- Deployment
- Related: Build, Configuration Management, Containerization
The process of installing and activating a software release in a target environment, including configuration, dependency checks, and rollback provisions if the integrated system fails to operate.
- Integration Testing
- Related: Interface Control Document, Continuous Integration, Test Harness
Testing that combines individually verified components and exercises their interfaces to reveal defects in data exchange, sequencing, and error handling that unit testing cannot expose.
- Test Harness
- Related: Integration Testing, Simulator, Test Case
A set of tools, scripts, and simulated components that drives an integrated system under controlled conditions and captures results, often standing in for hardware or external services not yet available.
- Simulator
- Related: Test Harness, Integration Testing, Emulation
Software or hardware that imitates the behavior and interfaces of a real component, allowing integrators to test interactions before the actual device, network, or external system is present.
- Emulation
- Related: Simulator, Virtual Machine, Test Harness
Reproducing the functional behavior of one system on different hardware or software so that unmodified integrated components behave as if running on the original platform.
- Fault Tolerance
- Related: Redundancy, Heartbeat, Failover
The ability of an integrated system to continue operating acceptably when a component or link fails, achieved through redundancy, graceful degradation, and recovery mechanisms.
- Redundancy
- Related: Fault Tolerance, Failover, Data Integrity
Duplication of critical components, paths, or data so that a single failure does not stop the system, a common design choice when integrating systems with high availability requirements.
- Failover
- Related: Redundancy, Fault Tolerance, Heartbeat
The automatic transfer of operation from a failed component to a standby one, preserving service continuity in an integrated system designed for high availability.
- Data Integrity
- Related: Transaction, Data Mapping, Checksum
The assurance that data remains accurate, complete, and unaltered across transfers and processing steps, maintained through validation, checksums, transactions, and controlled mappings between systems.
- Checksum
- Related: Data Integrity, Protocol, Serialization
A computed value derived from data and sent alongside it so the receiver can recompute and compare, detecting corruption introduced during storage or transmission between integrated components.
- Cybersecurity Hardening
- Related: Authentication, Configuration Management, Encryption
The process of reducing a system's attack surface by disabling unused services, applying patches, restricting accounts, and enforcing secure configuration before and after integration with other systems.
- Authentication
- Related: Authorization, Encryption, Cybersecurity Hardening
The process of verifying that a user, device, or service is who or what it claims to be before granting access to integrated resources, often using credentials, certificates, or tokens.
- Authorization
- Related: Authentication, Cybersecurity Hardening, Least Privilege
The process of determining which actions or resources an authenticated identity is permitted to use, enforced at interfaces so integrated components access only what they require.
- Encryption
- Related: Authentication, Protocol, Cybersecurity Hardening
Transforming data into an unreadable form using a key so that only authorized parties can recover it, protecting information moving between integrated systems or stored at rest.
- Least Privilege
- Related: Authorization, Cybersecurity Hardening, Authentication
The principle of granting each user, service, or component only the minimum access needed for its function, limiting the damage a compromised or misconfigured integration point can cause.
- Event-Driven Architecture
- Related: Publish-Subscribe, Message Broker, Asynchronous Communication
A design in which components emit and react to events rather than calling each other directly, allowing loosely coupled integration where new consumers can be added without modifying producers.
- Callback
- Related: Asynchronous Communication, Event-Driven Architecture, Application Programming Interface
A function or endpoint supplied by one component for another to invoke when an event occurs or a long-running operation finishes, enabling asynchronous notification without continuous polling.
- Polling
- Related: Callback, Heartbeat, Asynchronous Communication
A technique in which one component repeatedly queries another at intervals to detect changes or retrieve data, simple to implement but adding latency and unnecessary traffic compared with event notification.
- Legacy System
- Related: Adapter, Middleware, Interface Control Document
An older system still in productive use that must be integrated with newer software, often requiring adapters or wrappers because its interfaces, formats, or documentation are outdated or proprietary.
- Adapter
- Related: Legacy System, Middleware, Data Mapping
A software component that converts one system's interface, protocol, or data format into another's, allowing incompatible or legacy systems to exchange information without internal modification.
- Transport Layer
- Related: Protocol, Handshake, Latency
The layer of a communication stack responsible for delivering data reliably or unreliably between endpoints, handling segmentation, flow control, and connection management beneath application protocols.