The basic idea centers around a software component that provides some service:
- data retrieval,
- hotel reservation,
- service management metrics,
- supply chain,
- mobile payment
There are also other software components that wish to make use of the provider's services.
Distributed computing allows the two components, provider and user to communicate across a network.