A question was raised about what is the difference between “interfacing” and between “integration”. At the end of this short note are some general definitions of the two.
The short synopsis is:
The key factor is that interfacing is a sub-set of integration. Interfacing is a passive stateless way in which two (or more) systems could communicate. Consider “Publish” and “Subscribe” for the one to many “interfacing”.
Integration is more active and typically systems that integrate maintain the state about what has happened and potentially are seeking the results from the integration.
(n.) A boundary across which two independent systems meet and act on or communicate with each other. In computer technology, there are several types of interfaces.
- user interface – the keyboard, mouse, menus of a computer system. The user interface allows the user to communicate with the operating system. Also see GUI.
- software interface – the languages and codes that the applications use to communicate with each other and with the hardware.
- hardware interface – the wires, plugs and sockets that hardware devices use to communicate with each other.
Interface Definition Language
Integration (from the Latin integer, meaning whole or entire) generally means combining parts so that they work together or form a whole. In information technology, there are several common usages:
1) Integration during product development is a process in which separately produced components or subsystems are combined and problems in their interactions are addressed.
2) Integration is an activity by companies that specialize in bringing different manufacturers’ products together into a smoothly working system.
3) In marketing usage, products or components said to be integrated appear to meet one or more of the following conditions:
A) They share a common purpose or set of objectives. (This is the loosest form of integration.)
C) They were all designed together at the same time with a unifying purpose and/or architecture. (They may be sold as piece-parts but they were designed with the same larger objectives and/or architecture.)
D) They share some of the same programming code.
E) They share some special knowledge of code (such as a lower-level program interface) that may or may not be publicly available. (If not publicly available, companies have been known to sue to make it available in order to make competition fair.)