Tuesday, 8 November 2011

Web Services and APIs

The materiality of our technology is changing; our need to possess a physical retention of our data is relaxing, perhaps enabled by our growing trust in the reliability of the World Wide Web. It used to be that you bought a computer and then you bought disks with different applications that you loaded onto that computer, you used these to create various types of documents, which then in turn were also stored on your hard drive. The danger of this is losing your data and running out of space for storage. A more modern approach is the computer as a portal through which applications are used online to create documents, which can then be stored there as well. This almost ethereal data storage is referred to as cloud computing.

Cloud computing is one, in a number of steps, of changing the way we use technology, particularly the World Wide Web. Other features of change are Web services, APIs, XML and Mashups.

Web services
When viewing a webpage we are given information, but this information is arranged aesthetically. It is surrounded by formats, fonts, colours all set by the pages designer. The reason for this design is that a webpage is intended to be read by humans. As the Web evolves, we expect it to perform increasingly complex tasks, and for this to be possible it is necessary for a computer to be able to read the information on a webpage as well.  A Web service ‘is away of transferring information over the Internet which is primarily aimed to be read by machines.’
The webpage as intended for humans is written in a language called HTML; this language labels the information with formatting instructions to tell the web browser how to present it to the user.
In order for web services to be readable to machines a new language had to be developed.

XML
XLM is a metalanguage, a series of rules that describe the making of a language that is used to create ’self- describing information’. It was developed using SGML (Standard generalised mark up language) as a building block by a W3 workgroup.
The workgroups intentions were to fix common Internet problems that could be affiliated with HTML, slowness and issues of Information retrieval. Slowness due to HTML documents needing to be bounced to and fro between a server when changes are made and the difficulty of searching when a computer has no way of knowing what information is. Also the added problem of the rigidness of HTML, it was inflexible for programmers using different applications when they needed new tags.
XLM allows different languages, known as dialects, to be created for different applications, as long as the rules are adhered to. The result is data that also contains information describing what it is, which can be read by machines.
By utilising XML there is the potential to ‘extend the Internet beyond information delivery to many other kinds of human activity.’ This extension begins to take place in APIs and Mashups.

APIs
Application Programming Interfaces or APIs are an intermediary between the inner workings of software and the interface the user inputs to. If a software application is working correctly we should have no awareness of how it does so, in a similar way to when our body is functioning, as it should we are not aware of our internal organs. It is only when we are sick that their existence enters into our perception. ‘APIs allow programmers access to complex underlying functionality without having to go to the effort of understanding exactly what is going on’.
It is becoming common for APIs to be published, Google maps, Facebook and twitter all do so. This allows users do build upon the established functions for their own needs.

Mashups
Using XML and APIs ‘programs providing simple services can interact with each other in order to deliver sophisticated added-value services’. Data from numerous services can be streamed into one place creating a Mashup, working in a similar way to a price comparison website but without the mediator. 

No comments:

Post a Comment