XML
Latest changes are in bolded black text and underlined
Assessing AJAX Application Performance over Optimized XML Networks
Both TCP/IP and XML have emerged as market standards globally. AJAX-based applications show the potential of significantly increasing enterprise platform performance. The intent of this research effort is to quantify the performance of AJAX-based applications on both TCP/IP and XML networks. What makes this analysis particularly relevant is the fact that while XML is pervasive, it is inherently resource-intensive as its commands are textual in nature (Souders, 2008). XML compression techniques are used in this analysis to mitigate the performance drain or penalty inherent in this communications protocol structure. TCP/IP-based configurations used in the analysis have been designed to support DHCP-based configuration. A DHCP-based TCP/IP configuration is significantly more flexible to use for testing as it provides a unique IP address on a leased basis. Having the TCP/IP network configured using DHCP also provides a test foundation that can manage the variation of network traffic inherent in this research effort.
AJAX-based applications are known for their performance advantages over other development platforms and languages due to their component-based refresh model which only updates those parts of the application that have changed (Serrano, Aroztegi, 2007). AJAX is also specifically designed to support large-scale transaction-based queries from relational and dimensional databases (MacVittie, 2007). No previous study to date has captured the level of scalability of applications when application and data queries have been randomized over TCP/IP and XML networks. AJAX performance analysis on TCP/IP-based networks has initially been completed only at a cursory level (MacVittie, 2007) (Yang, Liao, Fang, 2007). The completed performance tests of AJAX applications running on TCP/IP networks used a small number of transactions, which was another limitation of this previous study. The researchers who completed this specific test (MacVittie, 2007) chose to use a small number of transactions in their AJAX tests deliberately. They did this so that HTML-based applications could be included in the analysis.
Most significant to this study is the fact that no previous tests have set as their goal the testing of TCP/IP vs. XML-based networks, where randomized transaction loads were introduced through the use of AJAX-based applications. Creating randomized transaction loads across TCP/IP and XML networks shows the potential of AJAX's scalability in enterprise environments (Ives, Halevy, Weld, 2009).
Table of Contents
Chapter 1: Introduction
The History of XML
25 XML Compression and the Implications for AJAX Application Performance:
29 XML Scalability
32 XML Integration and Optimization for and Web Services
Integrating Previous Studies into This Dissertations' Research Model
Conclusion
Chapter 2: Background and Review of Literature:
Introduction
44 XML as a Communications Standard
An Assessment of Design Objectives for XML
Features of XML
The differences between the XML and the HTML
51 eXtensible Stylesheet Language (XSL)
51 XLinks and XPointers
Chapter 3: Theory
Introduction
Assumptions
Conclusion
Chapter 4: Analysis and Design
Introduction
Research Design
Objectives:
Project Outline
Chapter 5: Methods and Realization
Introduction
Design Modifications
Data Collection
For the test run of the four server configuration the following results were attained. Each of the Applet Frequency levels were interpolated through the use of a Cisco Network Router to evaluate its overall performance.
Conclusion
Chapter 6: Results and Evaluation
Introduction
Results and Evaluation
Conclusion
References Cited
List of Figures
Figure 1: Example of a Private Trading Exchange Architecture
Figure 2 Variations in PTX Platform Design Dictate XML Optimization Strategic Value and Urgency
Figure 3 XML Compression Analysis
Figure 4 Web Services Operational Structure
Figure 5 Progression of TCP/IP to XML Source: (Ives, Halevy, Weld, 2009)
Figure 6 Test Design Structure
Chapter 1: Introduction
Companies involved in the production and distribution of newspapers, magazines, books and printed materials needed a more efficient means for sharing large amounts of content with each other quickly. Over the last fifteen years, many of these companies, who together form the worldwide publishing industry, defined the Extensible Markup Language (XML). Their goal was to get a standard set of processes and technologies in place to make it easier to share large, complex files with one another. As the Internet has grown, so has the need to share large files and also connect systems together. On this second point of connecting systems, XML has seen widespread adoption by many other companies outside the worldwide publishing industry. When a technology is adopted across many different industries it is considered a market standard. That is why many industry analysts and research firms today call XML a market standard. It is being adopted across many different industries. Companies in these industries need to share content with each other electronically. XML is well designed for these tasks. That is why so many companies, across a wide variety of industries, are adopting it.
As the growth of distributing printing and publishing continued to grow, Extensible Markup Language (XML) quickly established itself as an emerging standard for integrating systems and applications with one another. XML became significant as a de facto standard, and has been actively managed as such by the World Wide Web Consortium (W3C) (Walsh, 1998). As the W3C refined and added to the standard's definition, XML quickly became adopted as a de facto standard outside of the publishing industry, as well. In the last ten years, the growth of AJAX, C# and other programming languages have included support for the XML language and its key constructs. As a result, much has been done to create Rapid Application Development (RAD) environments, yet relatively little work on optimizing the performance of applications over XML networks (MacVittie, 2007). Initial tests of AJAX application performance only centered on HTML and page-based technologies comparisons (Yang, Liao, Fang, 2007). These tests completely ignored the more interactive and selective object-based technologies of AJAX that selectively only update a given element or widget on a page.
The growing adoption of Software as a Service (SaaS) has been responsible for AJAX software programming adoption growing. SaaS software runs on a centralized server, delivered over the Internet, and is accessed through Web browsers. As AJAX is designed to update only those segments of the screen that have changed, software vendors including Salesforce.com are standardizing on AJAX. In addition to AJAX, the programming languages of C# (pronounced C. sharp) and other Rapid Application Development (RAD) languages have grown rapidly due to the SaaS approach to delivering software growing. In comparing these other programming languages to AJAX however one important point must be kept in mind: only AJAX supports real-time updates and interactive use of data from databases (MacVittie, 2007).
It also created the necessary platform for supporting multi-tenancy and the development of more effective shared resource use models on XML and TCP/IP-based networks. XMLs' emergence as a global integration standard increased its adoption into many other industries and markets, as well. This is seen when the many variations of XML are taken into account, in addition to their many variations including RDF/XML, RSS, MathML, XHTML, SVG, MusicXML and Geography markup language (GML). The many variations of the XML standard continue to be a catalyst of its adoption, which is rivaling TCP/IP in popularity.
A third major factor in the growth of XML is its coding standards and flexibility in defining tags or placeholders in applications to further enable integration. The use of XML for defining, transmitting, validating, and managing data from one system to another is being driven by the demand on the part of organizations for supporting one-to-one, one-to-many, and many-to-many networking and hosted application architectures. As XML has grown as a market standard, companies who make programming languages, tools and solve very complex customer problems have begun to build applications to support it. The most popular development environment for AJAX is called Ruby on Rails (Choi, Wong, 2009). Ruby on Rails supports AJAX programming and XML, which is why so many programmers use it. In addition, software companies are also working to create parallel networks that can support over one thousands processes running at the same time. This is called a massively optimized parallel network (Choi, Wong, 2009) because it has the ability to keep track of so many processes at once. Ruby on Rails and support for massively optimized parallel networks are being invested in by software companies because XML makes connecting systems together easier and cost-effective. The scalability and security aspects of XML are the two primary catalysts that are fueling development of the standard in the areas of e-commerce and trading exchanges. Included in the further enhancements of XML for automating real-time financial reporting to government agencies is the Business Reporting Language (XBRL) standard. These two aspects of XML's development are making the scalability for broader enterprise-wide development and use for transaction-based systems possible. Adding in extra security on an XML networks makes it slow down. XML uses advanced security features to keep data from being intercepted or stolen. These advanced security features include security algorithms, pattern matching, and use of packets of data called metafiles. A metafile is like a container full of file folders with only the most important papers included in them. The implications of security payloads and overheads on the performance of optimized XML networks (Choi, Wong, 2009) are inherent in the continual design of XML standards and protocols attempting to compress these elements and optimize their performance. The integration of security into Business Reporting Language (XBRL) is having a minimal impact on overall performance of XML networks overall, as the features in this standard are compressed (Piechocki, Felden, Graning, Debreceny, 2009). Compression is also specifically used with the XML key management specification to increase performance (Ekelhart, Fenz, Goluch, Steinkellner, Weippl, 2008). Compression algorithms are used for shrinking the contents of data containers, packets and messages so they are more compact, which increases transmission speed and accuracy. The development and continual support for XML within Web Services has transformed transactional workflows from being simplistic to be multifaceted, supporting the development of trading networks (Kangasharju, Lindholm, Tarkoma, 2008). As a result of Web Services getting used so much more because companies are choosing to use them for handling transactions with suppliers and customers, software developers are looking at how XML can be used to make Web Services more efficiently. A Web Service managing millions of transactions a day with suppliers and customers slows down to the point of sometimes not working. Software developers are looking at how to use XML as a means to spread the workload across several different instances or installations of the same Web Service so all the transactions can be completed quickly. Spreading out the workload across different Web Services installations is often called scalability (Warkentin, Johnston, 2006). Programming developing Web Services concentrate on how to make transaction workflows highly scalable so both the XML network and Web Service will be able to continue working even when millions of transactions a day are occurring.
The design objective of creating distributed order management systems that are scalable and safe enough to manage complex transactions is achievable with the current advances in AJAX and XML technologies. The concurrent design of XML-Based Intelligent Agent Protocol Design Frameworks that support role-based access and transactions can today have the potential to scale into trusted networks (Warkentin, Johnston, 2006). Many companies today are using Virtual Private Networks (VPN) to connect with their remote employees and also to secure their supply chain networks. A network that relies on VPN is a form of a trusted network ((Warkentin, Johnston, 2006). Trusted networks have a lot of potential because they provide a secure connection from one computer to another, often carrying confidential cost, price and customer data. VPN networks can run on top of TCP/IP and XML networks. Because VPN networks are compatible with XML and TCP/IP, companies are looking at how they can grow their distributed order management systems without losing performance or security.
XML is progressing rapidly to the point of being able to support secured, multi-based roles through secured private and public connections, as well (Warkentin, Johnston, 2006).
The use of HTML optimization routines and techniques that have shown initial performance gains over XML were tested only at the page level, given the fact that HTML is page-based as a development technology (Yang, Liao, Fang, 2007). Up to date there has been no research completed on the optimization of XML networks to support higher performance AJAX-based applications. This is one of the key objectives of this study, to determine how to optimize the performance of XML networks and AJAX applications to attain the highest levels of transaction efficiency and performance possible.
Studies and tests have shown however that HTML-based applications, when used in conjunction with XML, lack the inherent ability to be optimized due to the inherent limitations in the HTML technology. Attempts to optimize the performance of HTML have continued to be mixed in their results due to the page-based approach taken to defining content, navigation, and page structure (Choi, Wong, 2009). HTML's performance as a programming language is further reduced by the many scripting languages that lack the necessary and critical security upgrades needed to make them suitable for use in transaction-intensive networks. When all of these factors are taken into account it is clear that AJAX and optimized XML networks have significant upside potential for performance and improvement. The intent of this research is to measure the performance of AJAX applications on XML and TCP/IP networks. Once measures of AJAX performance are completed on each network, it will be possible to determine how larger, more complex networks will perform. These larger, more complex networks are called exchanges, and often they have many different suppliers, buyers, and customers included in them. The performance of AJAX applications over TCP/IP and XML networks will provide insights into how these larger networks, called exchanges, will perform.
To attain the research objectives, it is necessary to concentrate on those parameters that best quantitatively measure the performance gains of XML networks and AJAX application performance. The XmlHttpRequest command is used to measure the relative speed and performance of the network. The XmlHttpRequest command is specifically used for requesting and delivering content of all types throughout an XML network. As this is a JavaScript-based command, it can also be used as part of a container-based metafile testing methodology which is used in the series of research efforts completed. The XmlHttpRequest command can also deliver or retrieve content, and therefore forms the foundation for an effective construct for measuring the performance of the network over time. This command is also used for transporting metafiles throughout the networks in a four-square test frame to normalize the specific interferences of the network transport, as well. Every attempt has been made to remove any item or factor that will detract from the accuracy of the research. This is why the network, operating systems and servers are all consistent. This is also why the decision was made to use the XmlHttpRequest command. This command not only manages the sending and receiving of content, it tracks network performance. As all networks have highly randomized resource loads, meaning they are very busy or slow depending on user's needs, it is important to also have this factor introduced. It had to be introduced randomly into the analysis however. That is why the XmlHttpRequest was also used, because it can have randomized packet sizes, which will make the network either very busy or slow.
You’re 88% 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.