Software interfaces form the transition between different programs and thereby enable the exchange of data between these programs.
These interfaces, known as programminginterfaces( API), can be used to read data, functions and commands from one application program and integrate them into another application program. For example, data from a word processor can be used in a database application, or program functions from a text program can be transferred to print commands in a printer driver.
Such software interfaces exist for all kinds of application programs, for communication programs, program components and also for inter- process communication. Well-known vendor-independent software interfaces include Remote Procedure Call( RPC), the Common Object Request Broker Architecture( CORBA), the network-based Simple Object Access Protocol( SOAP) and Microsoft's COM interface.