User:Tancre/Prototyping/API: Difference between revisions
(18 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== What is an API? == | == What is an API? == | ||
'''''Sooo an API is basically an application that works on a meta-level and permits the exchange of informations between two software services through the use of protocols.''''' <br><br> | '''''Sooo an API is basically an application that works on a meta-level and permits the exchange of informations between two software services through the use of protocols.''''' <br><br> | ||
It is really interesting the idea of '''API's ecosystem''' | It is really interesting the idea of '''API's ecosystem''' | ||
=== Types of API's === | === Types of API's === | ||
==== Methods of access ==== | ==== Methods of access ==== | ||
Line 10: | Line 9: | ||
*OS (<small>POSIX</small>) | *OS (<small>POSIX</small>) | ||
*Remote | *Remote | ||
*Message-Oriented Middlewere (MOM) | |||
*Web | |||
<div style="margin-top:-149px; margin-left:300px;"> | |||
==== Styles of Organizzations ==== | ==== Styles of Organizzations ==== | ||
*Procedural | *Procedural | ||
Line 18: | Line 17: | ||
*Service-oriented | *Service-oriented | ||
*Resources-oriented | *Resources-oriented | ||
</div> | |||
<br> | |||
=== History of API's === | === History of API's === | ||
==== '60 ==== | |||
As '''libraries''', but problems of distribution for the lack of a dystributed system. <br> | |||
==== '70-'80 ==== | |||
Emergence of a distributed system and possibility of exchange by '''remote''' through the ''Remote Procedure Call (RPC)'' systems, that uses the ''Interface Definition Languages (IDL)'', or alternatively on techniques based on '''Message Oriented Middleware''', such as ''IBM MQSeries'', through the use of "''queues''". | |||
==== late '80- early '90 ==== | |||
Emergence of the commercial ''WWW'' and evolution of the distributed system in advanced client-server topologies (1990's "[https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing fallacies of distributed computing"]) | |||
Emergence of the ''Object-oriented programming (OOP)'', API's as objects, and possibilities of remote access to objects as ''Common Object Request Broker Architecture (CORBA)'' for open systems and ''DCOM'' from Microsoft, through the use of IDL. | |||
==== late '90 ==== | |||
Translations of RPC (through the use of ''XML'') and remote object techniques into the WWW vs ubiquity of ''HTTP''. Emergence of different architectural styles such as ''Service-oriented Architecture (SOA)'' through the use of ''Web Services Description Language (WSDL)'' and ''SOAP'' to define the protocols. Emergence of different frameworks. | |||
==== 2000 ==== | |||
Roy Fielding - ''Representative State Transfer (REST)'' in his "2000 dissertation", and the emergence of the paradigm of the ''Resource-oriented architecture'' + Tim Berners-Lee - ''Semantic Web'' <br> | |||
leads to the emrgence of the actual '''Web API''' approach. | |||
== Web API == | |||
==Sources== | ==Sources== | ||
[https://en.wikipedia.org/wiki/Application_programming_interface wikipedia] | [https://en.wikipedia.org/wiki/Application_programming_interface wikipedia] | ||
Alan Frye - [https://www.benefitfocus.com/blogs/design-engineering/api What is an API?] | / [https://www.limswiki.org/index.php/Application_programming_interface limswiki]<br> | ||
/[https://www.benefitfocus.com/blogs/design-engineering/ | Alan Frye - [https://www.benefitfocus.com/blogs/design-engineering/api What is an API?] | ||
/[https://www.benefitfocus.com/blogs/design-engineering/api A bit of API history?] | / [https://www.benefitfocus.com/blogs/design-engineering/types-apis Types of API?] | ||
/ [https://www.benefitfocus.com/blogs/design-engineering/bit-api-history A bit of API history?] <br> | |||
[https://www.programmableweb.com/ Programmableweb.com] - repository and tracking published APIs since 2005 |
Latest revision as of 16:20, 21 October 2018
API
Application Programming Interface
What is an API?
Sooo an API is basically an application that works on a meta-level and permits the exchange of informations between two software services through the use of protocols.
It is really interesting the idea of API's ecosystem
Types of API's
Methods of access
- Software libraries & Frameworks
- OS (POSIX)
- Remote
- Message-Oriented Middlewere (MOM)
- Web
Styles of Organizzations
- Procedural
- Object-oriented
- Service-oriented
- Resources-oriented
History of API's
'60
As libraries, but problems of distribution for the lack of a dystributed system.
'70-'80
Emergence of a distributed system and possibility of exchange by remote through the Remote Procedure Call (RPC) systems, that uses the Interface Definition Languages (IDL), or alternatively on techniques based on Message Oriented Middleware, such as IBM MQSeries, through the use of "queues".
late '80- early '90
Emergence of the commercial WWW and evolution of the distributed system in advanced client-server topologies (1990's "fallacies of distributed computing") Emergence of the Object-oriented programming (OOP), API's as objects, and possibilities of remote access to objects as Common Object Request Broker Architecture (CORBA) for open systems and DCOM from Microsoft, through the use of IDL.
late '90
Translations of RPC (through the use of XML) and remote object techniques into the WWW vs ubiquity of HTTP. Emergence of different architectural styles such as Service-oriented Architecture (SOA) through the use of Web Services Description Language (WSDL) and SOAP to define the protocols. Emergence of different frameworks.
2000
Roy Fielding - Representative State Transfer (REST) in his "2000 dissertation", and the emergence of the paradigm of the Resource-oriented architecture + Tim Berners-Lee - Semantic Web
leads to the emrgence of the actual Web API approach.
Web API
Sources
wikipedia
/ limswiki
Alan Frye - What is an API?
/ Types of API?
/ A bit of API history?
Programmableweb.com - repository and tracking published APIs since 2005