# US 2017/0286261 A1 · System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286261 A1
- Document ID: US20170286261A1
- Status: Published application
- Kind: A1
- Application number: 15/193,934
- Filed: 2016-06-27
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: WEI LI; BOSHU GUO
- Web page: https://patentgrep.com/patent/US20170286261A1

## CPC

- G06F 11/3636: {by tracing the execution of the program}
- G06F 8/315: {Object-oriented languages}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/44526: {Plug-ins; Add-ons}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In accordance with an embodiment, described herein is a system and method for providing runtime tracing for a web-based client that accesses a transactional middleware platform using an extension interface. The extension interface provides an extension server and a class library to make application services in the transactional middleware platform available to web-based clients. A trace generator can be provided to compose a trace filter specifying categories of trace points, and to generate trace records based on the composed trace filter and trace points encountered at runtime. Code snippets can be inserted into each class in the class library for use in invoking the trace generator. At runtime, one or more objects instantiated from the class library can invoke the trace generator to generate trace records that track a particular web-based client end to end, from the time it starts a service call to the time it gets a response.

## Claims

### Claim 1

A system for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface, comprising:
a computer including one or more microprocessors;
a transactional middleware platform, executing on the computer, wherein the transactional middleware platform includes an extension interface with an extension server for transmitting messages between a web-based client and application services in the transactional middleware platform;
a trace generator that includes a plurality of operations for use in creating a trace filter specifying categories of trace points, based on a trace specification defined by the transactional middleware platform, and in generating trace records according to the trace filter; and
a class library that includes a plurality of classes for use by the web-based client to communicate with the transactional middleware platform, wherein one or more objects instantiated from the class library operate to invoke the trace generator to generate trace records for a service call from the web-based client to a particular application service.

### Claim 2 (depends on 1)

The system of claim 1, wherein the trace specification is defined by an environmental variable in a configuration file of the transactional middleware environment.

### Claim 3 (depends on 1)

The system of claim 1, wherein the trace records include information for a path of the service call, from the time the web-based client starts the service call to the time the web-based client gets a response.

### Claim 4 (depends on 1)

The system of claim 1, wherein the web-based client is one of a Java applet in a Java-enabled web browser, or a standalone Java application.

### Claim 5 (depends on 1)

The system of claim 1, wherein the trace specification is a string with a particular syntax that defines a filter, a receiver, and a trigger, wherein the filter specifies categories of trace points to be examined or ignored, wherein the receiver represents an entity to which the trace records are written, and wherein the trigger defines an action to be performed after a trace record is emitted.

### Claim 6 (depends on 1)

The system of claim 1, wherein the trace points can include one or more trace points for use in tracing application calls to a communication interface in the transactional middleware platform, and one or more trace points for use in tracing network activities.

### Claim 7 (depends on 1)

The system of claim 1, wherein one or more trace records are associated with an execution context identifier to correlate events across a plurality of layers in the extension interface.

### Claim 8 (depends on 1)

The system of claim 1, wherein the transactional middleware platform uses a message-based communications system to distribute applications across a plurality of different types of operating system platforms and databases.

### Claim 9 (depends on 1)

The system of claim 1, wherein the transactional middleware platform includes an Application-to-Transaction Monitor Interface (ATMI) environment for transferring messages between one or more client programs and one or more server programs.

### Claim 10

A method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface, comprising:
providing an extension interface to a transactional middleware platform executing on one or more microprocessors, wherein the extension interface includes an extension server for transmitting messages between a web-based client and application services in the transactional middleware platform;
providing a trace generator that includes a plurality of operations for use in creating a trace filter specifying categories of trace points, based on a trace specification defined by the transactional middleware platform, and in generating trace records according to the trace filter; and
providing a class library that includes a plurality of classes for use by the web-based client to communicate with the transactional middleware platform; and
invoking, via one or more objects instantiated from the class library, the trace generator to generate trace records for a service call from the web-based client to a particular application service.

### Claim 11 (depends on 10)

The method of claim 10, wherein the trace specification is defined by an environmental variable in a configuration file of the transactional middleware environment.

### Claim 12 (depends on 10)

The method of claim 10, wherein the trace records include information for a path of the service call, from the time the web-based client starts the service call to the time the web-based client gets a response.

### Claim 13 (depends on 10)

The method of claim 10, wherein the web-based client is one of a Java applet in a Java-enabled web browser, or a standalone Java application.

### Claim 14 (depends on 10)

The method of claim 10, wherein the trace specification is a string with a particular syntax that defines a filter, a receiver, and a trigger, wherein the filter specifies categories of trace points to be examined or ignored, wherein the receiver represents an entity to which the trace records are written, and wherein the trigger defines an action to be performed after a trace record is emitted.

### Claim 15 (depends on 10)

The method of claim 10, wherein the trace points can include one or more trace points for use in tracing application calls to a communication interface in the transactional middleware platform, and one or more trace points for use in tracing network activities.

### Claim 16 (depends on 10)

The method of claim 10, wherein one or more trace records are associated with an execution context identifier to correlate events across a plurality of layers of the extension interface.

### Claim 17 (depends on 10)

The method of claim 10, wherein the transactional middleware platform uses a message-based communications system to distribute applications across a plurality of different types of operating system platforms and databases.

### Claim 18 (depends on 10)

The method of claim 10, wherein the transactional middleware platform includes an Application-to-Transaction Monitor Interface (ATMI) environment for transferring messages between one or more client programs and one or more server programs.

### Claim 19

A non-transitory computer-readable storage medium storing a set of instructions for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface, said instructions, when executed by one or more processors, causing the one or more processors to perform steps comprising:
providing an extension interface to a transactional middleware platform executing on one or more microprocessors, wherein the extension interface includes an extension server for transmitting messages between a web-based client and application services in the transactional middleware platform;
providing a trace generator that includes a plurality of operations for use in creating a trace filter specifying categories of trace points, based on a trace specification defined by the transactional middleware platform, and in generating trace records according to the trace filter; and
providing a class library that includes a plurality of classes for use by the web-based client to communicate with the transactional middleware platform; and
invoking, via one or more objects instantiated from the class library, the trace generator to generate trace records for a service call from the web-based client to a particular application service.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the trace specification is defined by an environmental variable in a configuration file of the transactional middleware environment.
