Browse Prior Art Database

Method and system to support Java Data Stream over HTTP tunnel in performance test Disclosure Number: IPCOM000206908D
Publication Date: 2011-May-13

Publishing Venue

The Prior Art Database


To support performance test for applications built upon Java Data Stream rather than plain-text HTTP, this disclosure disclosed a new method and system to inject data transformation components into traditional performance test tool, which convert HTTP request and response between the unreadable data in Java Data Stream and the readable XML content. By this way, we enable test script editing and execution the same way as we do for typical web applications: data reference, correlation, content based verification point, kick off load testing, log analysis and so on. In summary, there are 4 key parts in our invention: 1. Data transformation components: which perform the data translation during both test generation and execution phase. 2. Transformation rule: which describes how to translate data between Java streaming and XML data. A rule is represented by a set of Data Element, Node Element, Loop Element and Condition Element. 3. Visual rule editor: which assists end user to create transformation rule intuitively 4. Approach to auto detect the transformation rule based on data type analysis in captured streaming data.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 22% of the total text.

Page 01 of 19

Method and system to support Java Data Stream over HTTP tunnel in performance test

Because of the ability of traversing firewall

                                NAT, HTTP Protocol is not only used by Web applications, but also used by more and more Java-based enterprise applications as a tunnel in which data is transferred by Java Data Stream. When testing the performance capability of this kind of applications, the general performance test tools could not be fully competent for the test. The general performance test tools are mature for handling HTTP Protocol with textual content (such as HTML or XML); but for the applications mentioned above, the data transferred over HTTP tunnel is encoded by Java Data Stream; general performance test tools will recognize this kind of data as binary content. That results in the data completely or partially unreadable in the test editor of the performance test tool, and it is more difficult to do further data manipulation, such as reference creation, data correlation and content based verification point creation, for the performance test.

The following examples show the issues happened on testing the performance of an application with Java streaming data transferring over HTTP tunnel when using a general performance test tool.

Issue 1. Data is completely or partially unreadable

Within the recorded scripts, parts of Java streaming data in HTTP Request were recognized as binary content and could not be readable in the test editor, as Figure 1 shows; meanwhile, other data is partially readable. Only strings can be displayed correctly, numerical data are displayed as blank squares, as Figure 2 shows.



Page 02 of 19

(This page contains 00 pictures or other non-text object)

In this situation, data correlation could not be operated on these test elements in the test editor.

Issue 2. Data Reference could not be created correctly

As Figure 3 shows, when creating a data reference for correlation in the HTTP Response content, the regular expression could not capture value from the Java streaming data correctly. So the data reference, correlation and content based verification point creation are invalid in the performance test.


Page 03 of 19

(This page contains 00 pictures or other non-text object)

In order to solve these problems, we invented the method and system which will enhance the general performance test tools to support

Java Data Stream over HTTP tunnel.

Java Data Stream has been already used by many of enterprise applications to exchange data between server and client sides over HTTP tunnel. In Java programming language, Data Streams perform binary I

/O operation on primitive data type values as well as String values.

In Data Streams, each specialized write is exactly matched by the corresponding specialized read. The input stream consists of simple binary data, with nothing to indicate the type of individual values , or where they begin in the stream.


Page 04 of 19

In our invention, the provided system injects the data...