In this XML, AJAX & Web API Assignment you will understand these different technical web application terminologies and their advantages and disadvantages.
XML stands for Extensible Markup Language used for documents containing structured information. It is used for display of both the content of the documents as well as the structure of the document as well. People generally take it to be like HTML (Hyper Text Markup Language) but there is difference between the two. In case of HTML, the tag semantics and the tags to be used are fixed. The tags are limited in terms of changes that can be made to them, by the browser vendors.XML, on the other hand, does not have a fixed set of tags or semantics. Users can actually define the tags according to their needs. XML was majorly developed to display vividly descriptive documents (with pictures and graphics) over the internet. It is also important to note that XML requires a designated processing system. (http://www.xml.com/pub/a/98/10/guide0.html?page=2, 2010)
The major use of XML is in the standardization of data interchange format which allows multiple applications on various platforms to work with the same data format. Since it is not a binary format it is easy to modify by the end users also.
Explore Data Mining Assignment Here
XML documents usually contain schema information within themselves which is written in the XSD or XML Schema definition.
- Most programming languages have libaries for parsing and generating XML. Thus it does not depend on which language the XML was generated from.
- Portable : Since XML is just a text based format it can be easily transported across the internet or stored in files and opened in any operating system.
- Extensible: Just like in a database systems, more data columns can be added simple by adding new tags to the XML file.
- The data is represented as a Document Object Model allowing for very easy access in a variety of situations.
- Storage space: the same data can be represented in binary format in a very compact notation. A lot of space is wasted by opening and closing tags for every data element.
- Documents do not have any concept of internal data types like integer string etc.
- Every time an XML file is loaded it must be parsed and then an object graph must be constructed requiring more CPU power than reading binary files
Explore here: Computing and System Development Assignment
API stands for Application Program Interface. It is basically a set of protocols and tools that are used for developing different software applications.
Most of the operating environments (for example Windows) have a provision of having an API because programmers need to develop software that are in sync with the operating system. API is particularly useful for the end users as well because all programs that use API have a similar interface and set of functions. This helps them learn and use any program or software relatively easily. (Robert, 2009)
Many of the websites today expose their data in XML or JSON format , for eg. flick, google maps, google search. This means that third party application which are not part of the original design can access their data and can create new applications. Recently there has been a growth of mashup applications which can combine data from various web services and develop new applications.
to access all your photos on flick it may be possible to say this :
http://flickr.com/users/453/photos/all : this may return all your photograph urls and their metadata in xml
Web API / Web Service can be delivered using JSON or XML which are both standards are have a lot of libraries in various languages for serialization and de serialization. To prevent improper usage most provider also require the use of an API key which is unique to you and must be kept a secret. Service like google search api also impose restrictions on the number of queries you can per day for free. Other APIs like the google docs api also require additional authentication by a username and password to protect your data from unauthorized usage.
- We do not need to maintain the infrastructure and database for such applications.
- The web being ubiquitous allows us to develop application which can be accessed from any computer and anywhere while still maintaining the consistent data.
- Allows a more than two user to collaborate on the same data in real time.
- Exposes the data stored on a service provider without the additional cost of maintenance
- Requires a Internet connection to work : by design web apis are not made for working with offline use
- The data format is decided by the service provider and cannot be modified by us.
- The data format may be changed at a later time breaking our application.
- The quality of service depends on the service provider and we have no control over it.
Rich Interface Application :
AJAX stands for Asynchronous Java Script and Java. It is basically a set of techniques that are used to develop content on the web. These techniques are used to develop interactive web applications. It is very useful for simultaneous working of programs and can help different web applications work coherently without interfering in the functioning of each other. It uses both HTML and CSS for this. The major drawback is that many popular devices like multimedia phones, PDAs and iPads are unable to support it and hence there are many AJAX based applications that fail to run on these devices. (Anglin, 2010)
This allowed them to replicate a lot of the desktop look and feel.
- The client developed with such technologies will live on the client side and will be downloaded every time the application is accessed, hence the interface can be modified on the server and that will change it every where.
- The user experience is more responsive compared to static HTML where the entire page is refreshed every time some data is required.
- Utilizes less bandwidth since only the user interface which needs to be displayed is fetched from the server instead of the entire page.
- The application can be easily modified without requiring a compilation step and hence the development time is fast.
- Allows to lower the server side load because a lot of processing is done on the client side.
- The application cannot be used offline. Support for this feature is still under development.
- The client cannot take advantage of operating system specific features because of web browser security restrictions.
- Anglin, T. (2010). http://www.code-magazine.com/downloads/telerik_ajax.pdf. Retrieved November 2010, from www.code-magazine.com.
- FairerPlatform. (2009, February). http://macdailynews.com/index.php/weblog/comments/23941/. Retrieved November 2010
- http://roshanbh.com.np/2008/03/jquery-benefits-examples-free-ebook.html. (n.d.). Retrieved November 2010, from www.roshanbh.com.np.
- http://www.xml.com/pub/a/98/10/guide0.html?page=2. (2010). Retrieved November 30, 2010, from www.xml.com.
- Robert, K. (2009, November). http://infotrope.net/blog/2009/11/16/defining-openness-open-source-open-data-open-apis-open-communities-and-more/. Retrieved November 2010, from www.infotrope.net.