Integration and Interoperability

Open API

An open source specification to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic.

Modularity

Modularity refers to the extent to which a software/Web application may be divided into smaller modules. Software modularity indicates that the number of application modules are capable of serving a specified business domain. Allows typical applications to be divided into modules, as well as integration with similar modules, which helps developers use prewritten code. Modules are divided based on functionality, and programmers are not involved with the functionalities of other modules. Thus, new functionalities may be easily programmed in separate modules.

Interface Library

A user-facing web interface that provides a list of available APIs and is a repository for:

Documentation,
Example requests and output,
Specifications
Interactive tools (test client)
Terms of use
Contact information

Interface

Shared boundary between two functional units, defined by various characteristics pertaining to the functions, physical interconnections, signal exchanges, and other characteristics, as appropriate.

Integration Layer

Provides a level of indirection between the consumer of functionality and its provider. A service consumer interacts with the service provider via the Integration Layer. Hence, each service interface is only exposed via the Integration Layer (e.g., ESB), never directly and point-to-point integration is done at the Integration Layer instead of consumers/requestors doing it themselves. Consumers and providers are decoupled; this decoupling allows integration of disparate systems into new solutions.

Integration Hub

A flexible architectural pattern that allows for a reuse and reduction in the number of interfaces, reducing and/or eliminating point-to-point integration.  A hub also allows for centralization of data and functionality.

Graph QL

A query language for APIs and a runtime for fulfilling those queries with your existing data. Graph QL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.