XML performance optimization for AJAX applications using network configuration
✍️ How to write this paper — writing tools ▾
XML Project Specification and Design Document
Project Specification and Design Report
Specification
XML has emerged as the globally adopted standard for Internet-based integration of systems and processes and has made the development of knowledge-sharing networks possible (Choi, Wong, 2009)(Ives, Halevy, Weld, 2009). As the amount of transactions, both commercial and knowledge-based continues to exponentially increase, XML performance is hitting a plateau however. Governed by Web browsers and applications that in effect throttle back the bandwidth potential of XML, page-based browser technologies including HTML and its many variants are significantly reducing the performance of XML (Yang, Liao, Fang, 2007). The AJAX programming standard however has shown significantly potential for increasing the performance of applications delivered via XML integration (Yang, Liao, Fang, 2007) due to XML's ability to selectively replicate content based on user requests within applications (Smullen, Smullen, 2009).
Optimizing XML network performance through the use of structural recursion of query languages (Robertson, Saxton, Van Gucht, Vansummeren, 2009), the development of AJAX server optimization predominantly of open source Web Application Servers (Smullen, Smullen, 2009) and the development of data harmonization (Wusteman, O'hlceadha, 2006) and advanced data query models (Niemi, Nappila, Jarvelin, 2009) show the wide spectrum of approaches being investigated to increase application performance. Optimizing XML network performance specifically for AJAX application optimization is in its nascent stages (Yang, Liao, Fang, 2007) and more robust research is required to better define XML optimization for data- and query intensive AJAX applications (Wusteman, O'hlceadha, 2006).
The performance variations between XML-based integration and TCP/IP-configured networks specifically using DHCP (Dynamic Host Configuration Protocol) and static IP address definitions to measure the performance of AJAX applications is the focus on this research project. Performance increases or degradation based on the configuration of TCP/IP vs. XML networks attributable to AJAX programming constraints including the use of XSLT style sheets, database queries using SQL-based command launched within an AJAX application, and the selective refresh of data elements in the browser need to be measured to define with greater precision how XML can be optimized to increase AJAX application performance. Variations in programming interpretations of AJAX through the use of Ruby on Rails development has been treated as a standardized variable in AJAX performance analysis (Bachle, Kirchberg, 2007). That assumption will also be used in this analysis as well. Optimizing XML performance will also be predicated on AJAX application development incorporating search optimization (Wusteman, O'hlceadha, 2006) and AJAX framework validation (Serrano, Aroztegi, 2007).
The following are the deliverables for this research project.
Development and execution of test methodology to evaluate cached vs. non-cached performance of the XMLHTTPObject over TCP/IP and XML-based networks. This methodology will define the series of constraints and then seek to measure performance of the XMLHTTPObject as a metric of cached vs. non-cached SQL-based transaction traffic over a range of resource loads on the network.
Creation and testing of XML-based network of four Web Application Servers replicating traffic comparable to a distributed order management system running SQL queries over a randomized set of load conditions. The intent of this step in the analysis is to replicate the randomized constraints SQL-based queries running on XML networks would encounter in a typical distributed order management system configuration. AJAX constraint-based programming using Ruby on Rails Rapid Application Development (RAD) will be used for standardizing the AJAX smaller applications or Widgets produced (Viswanathan, 2008).
Prototype of the AJAX Application Widgets. The development of an AJAX-based application widget that has sufficient levels of functionality to replicate database queries is in the evaluation stages and will be an objective of the study. These Widgets will specifically designed to replicate the performance of distributed order management, order capture and order entry applications found in multichannel management environments.
XSLT Normalization. As XSLT Style Sheets are predominantly used for the customization of XML-based applications. They can significantly reduce the performance of XML-based queries over networks. Normalization of XSLT effects on XML application performance is required to evaluate the effects of XML network and AJAX application optimization.
Constraint-based modeling of XML network performance varying configuration options. The use of a constraint-based logic configurator to define XML network performance options will be attempted, relying on rules-based configuration logic to attain constraint-based optimization outcomes which will be used as recommendations.
Conduct of the project
The researchers who to this point have addressed XML network performance optimization will be contacted and interviewed base on their preliminary test results and published analysis. These are the researchers who completed the HTML, DHTML vs. AJAX application performance on XML (Yang, Liao, Fang, 2007) and the XML network optimization research completed across a replicated server and transaction-based methodology (Smullen, Smullen, 2009). Efforts will be made to collaborate with these researchers to learn from their expertise that has not been published in their analyses and also to collaborate on how to capture XML network optimization concepts and AJAX programming best practices that can further accentuate and strengthen the results of this analysis.
During the project the following data will be gathered:
XML network performance measures and analysis across a randomized set of load factors using four-square network configuration of open source Web Application Servers running on the Linux operating system.
AJAX Widget performance using SQL queries randomized to replicate the activity of a distributed order management system.
Use of network analyzers to evaluate packet traffic efficiency from XML optimization for non-optimized AJAX Widget performance. AJAX Widgets optimized for XML will also be charted against these specific results and variance analysis completed.
XSLT as a control variable will be introduced into the second phase of XML performance and performance degradation will be measured over the randomized pattern of XML network traffic.
A separate methodology will be used to capture the performance of HTML vs. AJAX-based Widget (*small application) performance over TCP/IP vs. XML-based networks
TCP/IP
XML
HTML Application Performance
Page-based refresh using IP address
Page-based using XML Link
AJAX-based Application
Component-based refresh using IP Address
Component-based refresh using XML Link
Skills required for completing the analysis including XML programming expertise with skills in JAVA, XLST style sheets and C# programming languages. For the creation of the AJAX Widgets, AJAX programming language expertise is required. Knowledge of open source Web Application Servers and their configuration for XML integration across a closed-loop network is required as is expertise of software and hardware-based network analyzers which can evaluate the performance of the Widgets during the extended evaluation. Finally expertise in randomizing resource loads on networks to ensure that randomized of results is achieved is also required.
Software required to complete this analysis include the following:
Linux-based Server Operating Systems (Server PC)
Linux-based Desktop operating system (Client PC)
Ruby of Rails AJAX Programming Language and Kit
Java Development Kit
Java Enterprise Edition
Visual Web JavaServer Faces;
Oracle Open Source Application Server
Native XML Database 1.3.
MySQL Enterprise database server
Cisco Network Analyzer and configuration of packets
Cisco Randomized and Packet Evaluation Analysis Tools
Design
The design of the test will be based on a four-square-based testing structure to replicate in a closed-loop network environment the effects of XML performance and AJAX application optimization. The following design provides a structural model of the proposed network topology to be used.
The basis of the testing environment will focus on the randomization of network traffic and resource loads across the test region to replicate the resource constraints of enterprise applications. The primary focus of the study will be on replicating what a distributed order management system will experience over XML networks with randomized traffic and resource loads.
The specific attributes of this model include the following:
SQL Server Consolidation Layer -- To fully replicate what occurs in a distributed network environment with an enterprise this layer will be a centralized Oracle open source Database running in conjunction with a MySQL Open Source database to evaluate ht effects of XML optimization across a closed-loop network. Variations in network performance will be evaluated across the network based on these database performance metrics.
Analytics Layer -- using the analytics and performance measurement applications available via Open Source in Linux-based operating systems the development of scorecards and benchmarks will be completed. This will enable greater levels of performing monitoring and prediction based on the results of randomized resourcing loading of the XML network.
Cisco Network Analyzer -- This device will be used to initiate the resource loads across the network and the randomized of packets to replicate what network traffic is like in large-scale enterprises. This is critically important so that a performance analysis can be completed of the AJAX-based Widgets over time. This is also critically important for evaluating how the XML configuration options respond to overall network performance loads.
Standardization on open source operating systems -- By definition open source operating systems standardize on byte ordering consistency which will ensure this aspect of the testing stay constant and therefore do not introduce variation into the results over time.
Ruby on Rails Development of AJAX Applications -- The use of Ruby on Rails as the development platform will be standard across all four server used in the testing to also alleviate programming language as a source of potential variation in results.
Standardization of hardware configurations -- All four of the servers included in this configuration will be based on the Intel architecture and will also have identical memory, disk, and processor configurations to alleviate this as a potential source of variation in performance results.
XLST Style Sheets -- Each of the AJAX Widgets will also specifically be defined using XSLT style sheets that are identical to each other and have minimal levels of graphics and Java-based builds on them so that any potential variation in performance as a result of them will be minimized.
Deliverables
Performance Analysis of AJAX-based applications running on a closed-loop XML network.
Yield curves of AJAX application performance based on randomization of XML network resource loads initiated by a Cisco network Analyzer.
Best practices in XML network configuration as a result of determining the level of performance attainable through the use of AJAX code optimization given the constraints of this study.
Constraint-based analysis of XML network configurations and the resulting impact on performance over the duration of the study.
SQL performance of XML-based Widgets over time based on the development of performance benchmarks using analytics as defined in the testing diagram.
Definition of XML network optimization for AJAX applications based on analysis.
Plan
Project Plan and Timing
The total duration of this project is anticipated to be seven months.
Phase one of the project plan is to define a test region across a secured Intranet where XML integration links could be made, and the AJAX-based applications tested. This phase is expected to take approximately a month to gain access to a lab, get the systems configured with the Linux operating system, set up TCP/IP connections and completes the XML integration points.
Phase 2 is the development of the XML integration links and the programming of the AJAX query applications and databases. Again, public domain programming tools and databases will be used to save on costs. This phase is anticipated to take the longer of the project, approximately 2 1/2 months, to complete.
Phase 3 is the actual running of the experiment. This will include changing the level of traffic congestion on the XML-based network, testing AJAX-based traffic loads using SQL statements and testing the interaction of XML and SQL loads over the network. Phase 3 is the analysis phase, and this will take the remainder of the project's seven-month duration. During this phase the resource and yield curves will also be created and analyzed as well.
Activity
Start Date
End Date
Complete the Research Methods module
23 September 2009
21 October 2009
Refine project proposal and Literature Survey
23 September 2009
21 October 2009
Define test region and set up lab environment
23 September 2009
21 October 2009
Project Specification
22 October 2009
22 November 2009
AJAX query applications and databases
22 October 2009
7 January 2009
Conducting experiments and testing
8 January 2009
8 March 2009
Design Report
1 March 2010
9 March 2010
Dissertation Draft
9 March 2010
9 April 2010
Final Dissertation
10 April 2010
27 April 2010
Acronyms
AJAX -- Asynchronous JavaScript and XML, a programming language used for the development of high performance Web applications. This technology when used for programming selectively updates only those components being refreshed onscreen.
DHCP -- Dynamic Host Configuration Protocol. A command within TCP/IP for dynamically allocation IP addresses on a network.
HTML -- Hypertext Markup Language, where an entire page is refreshed at the same time.
TCP/IP -- Transmission Control Protocol/Internet Protocol.
XML -- Extensible Markup Language.
XMLHTTPObject -- Value within XML that can interpret caching vs. noncaching performance and report back on its effects; critical to the evaluation of XML-based networks.
XSLT -- Style Sheets that serve as the graphical interfaces of XML-based networks and applications.
Create your account
Always verify citation format against your institution’s current style guide requirements.