a software solution designed to enable interaction between two devices over a network is generally referred to as:
any piece of software that makes itself available over the internet, using a standardized messaging system.  allows for communication between disparate systems
method of communication that allows two systems to exchange data over the internet