What is an API?

 

As a development company, we are often asked to extends existing systems by adding features or interact with remote systems. In both of these cases the first thing we look for is a API (Application Programmable Interface), this is a set of functions or interfaces that allow developers to talk to the existing system and add new features or just get data in and out of a remote system.

Without an API we are forced to implements all sorts of "hacks" or "workaround" that we can never be certain will always work and we run the risk that the remote system will change something and break something.

A simple example of an API is getting data of a remote site. One way of extracting data of a remote site is to read in the HTML that that site outputs for web browsers and attempt to parse the text, looking for the "bits" we are interested in. In almost all cases if the remote site makes the smallest change to their site it breaks our software. Instead if the remote site provides interfaces to read that same data in a computer friendly formate like RSS we can be more confident that we will be able to alway rely on that format to not break any software we build to retrieve the data.

The other type of API is that found built into software to allow third party developers to extend the functionality of the software. At Univate we do a lot of Drupal based development and are able to extend Drupal functionality because of the emphases the Drupal development team have put into making sure that the software has a solid API. This is why we think Drupal is the best platform for developing web applications that require a strong content management system backend as there is not much that Drupal can't do and for everything else we can extend the features Drupal provides to add the required functionality.

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <span>
  • Lines and paragraphs break automatically.

More information about formatting options