Asynchronous Javascript and XML AJAX Research Paper

Total Length: 4094 words ( 14 double-spaced pages)

Total Sources: 15

Page 1 of 14

Asynchronous JAVA Script & XML (AJAX)

Asynchronous JavaScript and XML (AJAX) are set of technologies with different function that work together to allow the client-server to create a rich web application (Deursen & Mesbah, 2009). The purpose of this paper is to describe more about AJAX, how is it used to create a web application, the difference from classical web application, companies utilizing this technique, security issues, and how to migrate those concerns. Looking at past research journal articles to provide useful insights on the structure of the AJAX literature would help get a better understanding of the construction and buildup of knowledge in this field of technology.

An inclusive list of references is also offered on how traditional web application load unnecessary volume of information, but with utilizing AJAX download page design and fast upload of new data, which can reduce application's bandwidth by amount of data transfer. There is a strong necessity for a rich web application to be created at asynchronous interaction to help developers finish projects at well convenient time. AJAX technology is growing in supply chain and that's the main issue, but if issues can be mitigated it can be the top technology for developer in the near future.

Introduction

AJAX is an application used for web development that enables web sites enhancement and appeal. In lesser terms, without Ajax, web pages would lack the level of appeal and usability inherent in the most popular websites (Lixandroiu, 2008). The main draw in the use of AJAX is to enhance an already accessible website. So the idea is to create a functioning website and then incorporate AJAX to enhance usability and functionality.

According to Lixandroiu (2008), "Another advantage of Ajax is a decrease in bandwidth use. Bandwidth in web hosting refers to the amount of data that can be communicated between user and server/website. In Ajax, bandwidth is used only to accomplish specific demands without requiring that the page be reloaded (which requires bandwidth, every dime a request is made). Contents are loaded on demand and HTML is produced locally from the browser. Ajax also allows programmers to separate methods and formatting of specific information delivery functions on the Web." (Lixandroiu, 2008)

Additionally, according to Jiaqi, Jie, Shujuan, (2009), "With the popularity of the Internet and the rapid development of information technology, web application has become an integral part of the information age. Ajax (Asynchronous JavaScript and XMl) is a new interaction method between server and client side, and asynchronous interactive technology is involved with web applications, so that applications could give users more efficient response and a good user experience." (Jiaqi, Jie, Shujuan, 2009)

Essentially, AJAX enables the use of cache to retrieve website information without using bandwidth to reload the website. Without the use of AJAX, there is a question with regard to the inherent efficiency, usability, and potential for loading error with the non-AJAX-based website. Therefore, rather than having to update and retrieve information from the website, AJAX enables cache to obtain the requisite information and refreshes the webpage accordingly.

AJAX is a functional application that has tremendous benefit for small and medium sized businesses that have capital constraints that perhaps prevent a greater share of bandwidth capacity to the website. As traffic to the site builds up, the inability for the site to load quickly and effectively becomes an issue. Additionally, programmers are able to incorporate a variety of languages into the development of specific goals as a conduit to further communication between the "client and server browsers." (Lixandroiu, 2008)

According to Jiaqi, Jie, Shujuan, (2009), "Traditional web applications allow users to fill out the form, and then send a request to the web server when the form is submitted. The server receives and processes the request, then returns a new page. This transaction wastes a log of bandwidth, as most HTML codes in the two pages are the same. Since each interaction of the application needs to send out the requests to the server, the response latency of the application depends on the server respondence period, which has resulted in the problem that the answering to the user interface is much slower than the local applications." (Jiaqi, Jie, Shujuan, 2009)

By adapting a multi-language format, the interface becomes extremely friendly to programmers that would like to adopt AJAX as their web application. According to Lixandroiu (2008), "Programmers can use whatever languages or formats work for their specific goal. For example, JavaScript on the client-side browser is combined with XML Http to enable communication between client and server browsers.
Then any server-side program or scripting language allows the programmer to quickly respond to client requests in a language and format they are familiar with." (Lixandroiu, 2008)

The future is ostensibly the present with regard to the web based interface improvement applications. The level of integration between the website and the server via the AJAX multi-lingual capability has enabled dynamic analysis within the domain. According to Marchetto, Ricca, Tonella (2008), "Asynchronous Javascript And XML (AJAX) is a Web development technology that allows developers to realize Rich Internet Applications (RIA'ss), i.e., Web applications that include advanced and sophisticated user interactions, that are not possible according to the traditional (multipage) Web paradigm. The main difference between traditional multipage Web applications and AJAX-based applications is that the "more conventional" and synchronous request-response protocol has been replaced by one based on asynchronous communications." (Marchetto, Ricca, Tonella, 2008)

AJAX-based Web 2.0 (Mesbah & Deursen) is defined. According to Mesbah & Deursen (2009), "Recently, many new web trends have appeared under the Web 2.0 umbrella, changing the web significantly, from read-only static pages to dynamic user-created content and rich interaction. Many Web 2.0 sites rely heavily on AJAX (Asyncrhronous JavaSCRIPT and XML), a prominent enabling technology in which a clever combination of JavaSCRIPT and document Object Model (DOM) manipulation, along with asynchronous client/server delta-communication is used to achieve a high level of user interactivity on the web." (Mesbah, Deursen, 2009)

The industry trend appears to be the adoption of AJAX as the web application. The testing of AJAX states is achieved using invariants (Mesbah, Deursen, 2009). According to Mesbah & Deursen (2009), "With access to different dynamic DOM states we can check the user interface against different constraints. We propose to express those as invariants on the DOM tree, which we thus can check automatically in any state. We distinguish between invariants on the DOM-tree, between DOM-tree states, and application-specific invariants. Each invariant is based on a fault model, representing AJAX specific faults that are likely to occur and which can be captured through the given invariant." (Meshbah, Deursen, 2009)

The invariant is expressed on each branch of the DOM tree as a means to test the interface against different constraints (Mesbah, Deursen, 2009). As each invariant represents a fault on the interface, running the AJAX states through invariants will enable improvement by identifying the faults that are likely to occur when not running in simulation. The improvement on the design by running the system through the invariant process enables further development and integration of AJAX, DOM and JavaSCRIPT.

According to Mesbah & Deursen (2009), "Malformed HTML code cam be the cause of many vulnerability and browser portability problems. Although browsers are designed to tolerate HTML malformedness to some extent, such errors have led to browser crashes and security vulnerabilities. All current HTML validators expect all the structure and content be present in the HTML source code." (Mesbah, Deursen, 2009)

Additionally, according to Mesbah & Deursen (2009), "To prevent faults, we must make sure that the application has a valid DOM on every possible execution path and modification step. We use the DOM tree obtained after each state change while crawling and transform it to the corresponding HTML instance. A W3C HTML validator serves as oracle to determine whether errors or warnings occur." (Mesbah, Deursen, 2009)

Literature Review

AJAX applications involve Client-Server interactions which dictate the relationship between the end user computer and the host server. According to Matthijssen, Zaidman, Storey, Bull, Deursen, 2010), "Over the last decade web development has evolved from creating static web sites to creating rich and highly interactive web applications. The most important technology in realizing this shift is Ajax (Asynchronous javascript and XML), an umbrella term for existing techniques such as JavaScript, DOM manipulation and the XML Http Request object." (Matthijssen, Zaidman, Storey, Bull, Deursen, 2010)

According to Matthijssen et al., "Ajax is popular: since the term was coined in 2005, a vast amount of Ajax enabled web sites have emerged, numerous Ajax frameworks have been created and "an overwhelming number of articles have appeared." A good example of an Ajax application is Gmail, which uses Ajax technologies to update only a part of the page when you open an email conversion, and to suggest email addresses of recent correspondents as you type." (Matthijssen, Zaidman, Storey, Bull, Deursen, 2010)

However, Matthijssen et al. also point to AJAX as a hindrance as it makes web development more complex......

Need Help Writing Your Essay?