The ability of software components to interact and exchange data[4] and functionality[1], enabling modular and scalable[3] application[2] development.
Defined Terms
1. ↑ functionality.
The collective term describing what a system does: That is, the different types of functions a component is expected to perform as part of a business operation, such as create, update, manipulate, report or delete data.