In general, abstraction is implemented by what is generically termed an Application Programming
Interface (API). API is a somewhat nebulous term that means different things in the context of various
programming endavours. Fundamentally, a programmer designs a set of functions and documents their
interface and functionality with the principle that the actual implementation providing the API is opaque.
For example, many large web-applications provide an API accessible via HTTP. Accessing data via this
method surely triggers many complicated series of remote-procedure calls, database queries and data
transfer; all of which is opaque to the end user who simply receives the contracted data.