API Economy Definitions
In putting together our recent eBook on the API Economy we realized that there were a number of terms in the space that were widely used but didn’t have consistent definitions.
While no-one is likely to have a definitive list, we’ve pulled some of these together to make a start on common API Economy Definitions.
API (Application Program Interface): specific mechanism used for allowing software components to logically interact with each other.
API Driven: see API Enabled.
API Economy: An umbrella term referring to the emerging economic effects—and its related ecosystem—enabled by companies, governments, non-profits and individuals providing direct programmable access to their systems and processes through the means of APIs (Application Programming Interfaces).
API Enabled Enterprise / Organization: an organization that has deployed APIs to wrap significant proportions of its important systems in APIs and is using these APIs to drive business benefits.
App: app is short for application or application software. But often is used to refer to a mobile or tablet application. Software and programs are also sometimes referred to as apps.
Application: the software program that causes a computer or device to perform a useful task or function. Also called application software.
Cloud Computing: A computing model that allows application service provisioning using the Software as a Service (SaaS) model for system design. Note: it is understood that there is no commonly accepted unequivocal term for Cloud Computing. The definition provided is the general definition referred when using the term in this document.
Cloud [Trend]: refers to the general trend of deploying and using software systems in remote locations owned and run by third parties – often on virtualized shared hardware – instead of deploying software providing similar functionality on local hardware under the control of the organization.
Cloud Hosted: a piece of software deployed on and using software systems of remote locations owned and run by third parties.
Computing Trio: the combined threesome of Cloud Computing, Mobile Computing and Social Computing that is having such a profound impact on the computing industry and the API Economy.
Distribution (of Content/Transaction Capability): the act of delivering a piece of content or transaction functionality to an audience.
Ecosystem: a system involving multiple (typically) many elements – each of which interacts with other elements and through complex interactions is able to generate value and survive.
Internal Developer: Software Developer working within a particular organization on internal code and systems.
Mobile [Trend] (when not qualified with a concrete term such as “Device”): refers to the general trend towards access to information and system from devices that communicate using local area or wide areas wireless networks.
Natural person: A human being.
Organization: any business, government, non-profit or other institution that acts but is not a natural person.
Partner: organization or individual with which a mutually beneficial arrangement has been reached to provide services to each other.
Platform: a structure or system designed to provide a range of generally useful functions that can be combined in various ways by it’s users – often in ways which had not been explicitly thought of when the platform was built.
Person: A character deliberately assumed by a natural person.
Process: Instance of a piece of software, hardware or human activity that is executing in time to produce some functional result.
Resource: a digital or physical asset that provides some kind of utility.
REST (Representational State Transfer): an architectural pattern for the design of hypermedia based distributed software applications – http://en.wikipedia.org/wiki/Representational_state_transfer
Serendipitous Re-use: unexpected but welcome new utility for an existing system which was not contemplated for the system at design time.
Service: software or human systems which responds to requests for action via some external interface – usually a software interface.
Service Oriented Architecture (SOA): in this work, this term specifically refers to a software architectural pattern based running multiple components of a software system separately and making them communicate with one another using messages.
Siloed: applied to software systems – a set of systems which have hard / restrictive controls in place to prevent communication between any two such systems.
Single Page Architecture: a web application design pattern in which all data and libraries are retrieved with a single page load. Subsequently the browser code uses API calls with the server to create the dynamic features in the App.
SOAP (Simple Object Access Protocol): refers to the W3C specified Software communication protocol – http://en.wikipedia.org/wiki/SOAP
Social [Trend]: refers to the general trend of adding digital social media layers to many business activities.
Software: programs that runs on computing machinery to deliver a particular functional result.
Software As A Service (SAAS): refers primarily to a business model for providing functionality to third parties such that the software is hosted on the provider’s infrastructure and is generally paid for on a monthly fee basis.
Software Enabled Enterprise / Organization: an organization that has deployed Software to wrap significant proportions of its hardware assets and/or products and is using this software to drive business benefits.
Software Interface: see API.
Software Driven: see Software Enabled.
Transaction: One or more invocation of an software interface that together produce a single countable instance of a result.
Use: a natural person who is represented by a subject.
User-centric: Structured so as to allow users to conceptualize, enumerate and control their relationships with other parties, including the flow of information.
Web API: A set of messages, along with a definition of the structure of response messages that enable communication with a Software Interface across a local or wide area network.