Middle-ware

Software that manages communication between (possibly dissimilar) computers. Examples of middle-ware functions include data type abstraction, data marshalling, endian swaps and network abstraction so that the computers on all sides correctly interpret the raw data when presented to them.

From the perspective of the programmer, middle-ware can be a special case of Application Software, supporting some End User in the operation of other software that has a distinct End Use of its own.