Open API: Difference between revisions

Content deleted Content added
WP:Hatnote goes before maintenance templates; removed references that were oddly placed at the start of paragraphs—that's not where inline citations go; capitalization per MOS:CAPS; removed red link
we
Tags: references removed Visual edit Mobile edit Mobile web edit
Line 4:
{{essay-like|article|date=November 2007}}
}}
An '''open API''' (often referred to as a public API) is a publicly available [[application programming interface]] that provides developers with programmatic access to a proprietary software application or web service.<ref>{{Cite web|title = What is open API? - Definition from WhatIs.com|url = http://searchcloudapplications.techtarget.com/definition/open-API|website = SearchCloudApplications|accessdate = 2015-10-26}}</ref><ref>{{Cite web|url = http://readwrite.com/2013/09/19/api-defined|title = What APIs Are And Why They're Important|date = September 19, 2013|accessdate = 28 October 2015|website = Readwrite|publisher = |last = Proffitt|first = Brian}}</ref> APIs are sets of requirements that govern how one application can communicate and interact with another. APIs can also allow developers to access certain internal functions of a program, although this is not typically the case for [[web<span API|lang="sv" dir="ltr">web APIs]]</span>. In the simplest terms, an API allows one piece of software to interact with another piece of software, whether within a single computer via a mechanism provided by the [[operating system]] or over an internal or external [[TCP/IP]]-based or non-TCP/IP-based network.<ref name=":0">{{Cite web|title = API Strategy 201: Private APIs vs. Open APIs {{!}} API Design and Strategy|url = http://www.apiacademy.co/resources/api-strategy-lesson-201-private-apis-vs-open-apis/|website = www.apiacademy.co|accessdate = 2015-11-02}}</ref> In the late 2010s, many APIs are provided by organisations for access with [[Hypertext Transfer Protocol|<s>HTTP</s>]]. APIs may be used by both developers inside the organisation that published the API or by any developers outside that organisation who wish to register for access to the interface.
 
== Characteristics ==
Open APIs have three main characteristics:
# They are available for use by developers and other users with relatively few restrictions. Restrictions might include the necessity to register with the service providing the API.<ref>{{Cite web|title = What is an Open API?|url = http://blog.ldodds.com/2014/03/25/what-is-an-open-api/|website = Lost Boy|accessdate = 2015-11-02|first = Leigh|last = Dodds}}</ref>
# They are typically backed by [[open data|<span lang="ruq-grek" dir="ltr">open</span> data]].<ref>{{Cite web|title = What is Open Data?|url = http://opendatahandbook.org/guide/en/what-is-open-data/|website = opendatahandbook.org|accessdate = 2015-11-02}}</ref> Open data is freely available for everyone to use and republish as they wish, without restrictions from copyright, patents or other mechanisms of control. An Open API may be free to use but the publisher may limit how the API data can be used.
# They are based on an [[OSCRE|open standard]].
 
== Open API vs. private API ==
Line 18:
 
===Open API===
In contrast to a private API, an open API is publicly available for all developers to access. They allow developers, outside of an organisation's workforce, to access backend data that can then be used to enhance their own applications. Open APIs can significantly increase revenue without the business having to invest in hiring new developers making them a very profitable software application.<ref>{{Cite web|title = Beat the risks of managing public, private APIs|url = http://searchsoa.techtarget.com/feature/Beat-the-risks-of-managing-public-private-APIs|website = SearchSOA|accessdate = 2015-11-04}}</ref> However, it is important to remember that opening back end information to the public can create a range of security and management challenges.<ref>{{Cite journal|title = iRiS: Vetting Private API Abuse in iOS Applications|url = http://doi.acm.org/10.1145/2810103.2813675|publisher = ACM|journal = Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security|date = 2015-01-01|___location = New York, NY, USA|isbn = 978-1-4503-3832-5|pages = 44–56|series = CCS '15|doi = 10.1145/2810103.2813675|first = Zhui|last = Deng|first2 = Brendan|last2 = Saltaformaggio|first3 = Xiangyu|last3 = Zhang|first4 = Dongyan|last4 = Xu}}</ref> For example, publishing open APIs can make it harder for organisations to control the experience end users have with their information assets. Open API publishers cannot assume client apps built on their APIs will offer a good user experience. Furthermore, they cannot fully ensure that client apps maintain the look and feel of their corporate branding.
 
== Open APIs in business ==
Line 24:
[[File:Open-APIs-v5.png|thumb|Open API business chart]]
 
For example,<ref>{{Cite web|title = What Are APIs, And How Are Open APIs Changing The Internet|url = http://www.makeuseof.com/tag/api-good-technology-explained/|website = MakeUseOf|accessdate = 2015-11-02}}</ref> Yahoo's open search API allows developers to integrate [[Yahoo! Answers|Yahoo]] search into their own software applications. The addition of this API provides search functionality to the developer's application whilst also increasing search traffic for Yahoo's search engine hence benefitting both parties. With respect to [[Facebook]] and [[Twitter]], we can see how third parties have enriched these services with their own code. For example, the ability to create an account on an external site/app using your Facebook credentials is made possible using Facebook's open API.
 
Many large technology firms, such as Twitter, [[LinkedIn]] and Facebook, allow the use of their service by third parties and [[Competition|competitors]].
 
== Open APIs on the Web ==
With the rise in prominence of [[HTML5]] and Web 2.0, the modern browsing experience has become interactive and dynamic and this has, in part, been accelerated through the use of open APIs. Some open APIs fetch data from the database behind a website and these are called Web APIs. For example, Google's YouTube API allows developers to integrate YouTube into their applications by providing the capability to search for videos, retrieve standard feeds, and see related content.
 
Web APIs are used for exchanging information with a website either by receiving or by sending data. When a web API fetches data from a website, the application makes a carefully constructed HTTP request to the server the site is stored on. The server then sends data back in a format your application expects (if you requested data) or incorporates your changes to the website (if you sent data).
Line 36:
*[[OpenAPI Specification]]
*[[Application enablement]]
*[[Open system (computing)]]
*[[Mashup (web application hybrid)]]
*[[Webhook]]
 
==References==