Most modern computer applications, particularly commercial packages, allow some sort of Application-level interaction. This is an interface (usually called an API) that allows other computer applications to use the facilities of the first application, thus minimising development time and stopping duplication of effort.

This concept allows the development of small, specialist systems, each of which providing a particular set of facilities, and which can then be linked together to form much more sophisticated computer systems.

The latest iteration of this concept is being heavily marketed as Web Services.