This paper describes the research methodology for a dissertation investigating how AJAX and HTML applications perform across different network types. The study employs a two-by-two matrix design comparing application types (AJAX vs. HTML) against network protocols (TCP/IP vs. XML). The research comprises three phases: construction of a standardized test-bed using Linux servers and SQL Server databases, development of AJAX applications using Ruby on Rails to ensure coding consistency, and execution of automated performance testing using Cisco network analyzers. The methodology emphasizes minimizing variation through identical server configurations, standardized application code, and simulated real-world network traffic patterns. Key findings indicate that AJAX code quality and conciseness significantly outweigh XML compression techniques in determining application performance.
The primary objective of this dissertation is to measure the performance of optimized AJAX (asynchronous JavaScript and XML) applications on both XML and TCP/IP-based networks. To define the research plan clearly and concisely, a two-by-two matrix comparing the performance of applications by network type was created. The two application types compared were AJAX and HTML; the two networks were TCP/IP and XML.
This research design effectively captures page-based performance of HTML across two different networks, consistent with HTML's approach to defining web applications. AJAX performance was captured at the component level, allowing for granular analysis of optimization techniques. The two-by-two matrix simplified the research design and isolated the effects of HTML versus AJAX-based applications, enabling clear attribution of performance differences to either application architecture or network protocol rather than confounding factors.
The initial phase of the methodology concentrated on defining, developing, and installing the XML network test-bed, which would be used for testing both HTML and AJAX applications. The test-bed was constructed using four Intel-based blade servers running the Red Hat distribution of the Linux operating system. Red Hat was selected for several reasons: low cost, high scalability, support for AJAX programming through open-source compilers, and broad support for TCP/IP and XML network configuration. Every effort was made to ensure each server was identical in configuration and network connectivity, minimizing any variation in application or network performance.
The primary objective of this phase was to create an infrastructure capable of testing how AJAX applications perform data-intensive tasks over TCP/IP versus XML networks. A SQL Server database was deployed on each of the four servers, simulating a product catalog in an order management system. Because the methodology's goal is to capture AJAX application performance in a distributed environment, each server had an identical SQL Server installation. Each installation contained identical data files to ensure no variation in data usage across the research.
A Cisco network analyzer was used to introduce random network traffic onto both the TCP/IP and XML networks. The same analyzer measured AJAX application performance as the two networks were randomly loaded and unloaded with network packets. This loading and unloading pattern simulated real network traffic, reflecting how large-scale company networks often experience large bursts of data packets followed by periods of sporadic traffic throughout the business day.
For testing results to be as accurate as possible, the AJAX-based applications had to be written in identical format, syntax, and sequence of database calls. This standardization was critical because the literature review revealed that variation in AJAX application coding could account for large performance differences across XML networks. To minimize introduced variation, Ruby on Rails was selected as the programming language for all application development.
Ruby on Rails was chosen specifically because it supports TCP/IP and XML network integration through reliable Application Programmer Interfaces (APIs). The APIs supporting TCP/IP and XML have been in use for several years, making them highly reliable and more accurate than APIs provided by other coding languages. This selection ensured that performance differences would reflect genuine architectural differences between AJAX and HTML, rather than emerging from inconsistencies in network abstraction layers.
With the test-bed created, AJAX applications developed, and TCP/IP and XML networks configured, Phase 3 involved executing the actual performance testing. A scorecard was created to measure the performance of HTML and AJAX applications across each network. The Cisco analyzer was programmed to measure application performance on both network types.
The testing protocol proceeded systematically. The Cisco analyzer was first tested on the XML network to ensure it could randomly send packets successfully. Once this validation was complete, the TCP/IP network underwent identical testing. When both networks could accept randomized packets from the Cisco router with AJAX and HTML applications running on the servers, formal testing commenced.
The Cisco analyzer's automation capabilities proved invaluable. By defining shell scripts that automated the testing procedure, the system could run tests continuously until stopped or until a predetermined hours counter was reached, saving considerable time and ensuring consistent test conditions. At the conclusion of the testing period, results obtained from the Cisco analyzer were analyzed and documented. Performance testing methodologies were applied to extract meaningful patterns from the collected data, which are presented in the dissertation's results sections.
Both the research design and methodology concentrated on removing as much variation from the final testing as possible. This objective was accomplished through the three-phase methodology described above. As a result, the key finding is that AJAX code quality and conciseness are more important than XML compression techniques. This finding was further supported by the results of the literature review.
The implications of this conclusion extend to mobile-based platforms, including cell phones, smartphones, and network-ready tablets. AJAX-based applications will run faster on these remote devices if the code is written as efficiently as possible. Currently, HTML-based applications are unusable on mobile platforms. Understanding how to optimize AJAX applications across XML networks could revolutionize mobile application development over time.
The choice of SQL Server as the database platform reflects a practical reality: both AJAX and HTML applications require rapid access to large volumes of data. In many emerging cell phone and smartphone applications, this requirement is equally critical. Companies seeking to deliver large datasets to field-based sales and service personnel can benefit significantly from knowing that developing applications in AJAX will deliver greater performance. This knowledge can substantially reduce development time and costs while improving user experience across diverse platforms.
You’re 98% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.