Introduction to WebLogic Real Time

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Overview of WebLogic Real Time 2.0

This section contains information on the following subjects:

 


What is WebLogic Real Time?

WebLogic Real Time provides lightweight, front-office infrastructure for low latency, event-driven applications. For companies in highly-competitive environments where performance is key and every millisecond counts, WebLogic Real Time provides the first Java-based real-time computing infrastructure.

For example, for certain types of applications, particularly in the Telecom and Finance industries, stringent requirements are placed on transaction latency. When these applications are written in Java, the unpredictable pause times caused by garbage collection can have a profound and potentially harmful affect on this latency.

For this reason, WebLogic Real Time's proprietary BEA JRockit R27.3 JVM features deterministic garbage collection, a dynamic garbage collection priority that ensures extremely short pause times and limits the total number of those pauses within a prescribed window. Such short pauses can greatly lessen the lessen the impact of the deterministic garbage collection when compared to running a normal garbage collection.

WebLogic Real Time supports Java applications running in the following environments:

For a complete listing of supported configurations with WebLogic Server releases, see Supported Configurations for WebLogic Real Time.

WebLogic Real Time also supports standalone Java applications running on J2SE 1.4.2 and 5.0 runtime environments, as well as Spring Framework-based applications, as described in Software Components.

 


New JRockit Features in WebLogic Real Time 2.0

WebLogic Real Time 2.0 is bundled with BEA JRockit(R) JDK 5.0 R27.3.0. This version of JRockit includes the full version of Mission Control, which is a suite of tools designed to monitor, manage, profile, and gain insight into problems occurring in your Java application without requiring the performance overhead normally associated with these types of tools.

Mission Control includes the following two tools that are of particular interest to WebLogic Real Time 2.0 users:

JRockit Latency Analyzer Tool

The Latency Analyzer Tool, part of the JRockit Runtime Analyzer (JRA) helps you work your way down to a Java application latency. You can use the Latency Graph to visually see how a Java application that contains latencies looks like. This tool gives you great flexibility to pinpoint where in the code waits and other latencies occur.

To record latency data, you need to create a JRA recording. Before you start the JRA recording, you must select one of the Latency Recording profiles in order to record latency data.

See BEA JRockit Runtime Analyzer for additional information about using the latency analyzer tool and JRA recordings to record latency data. After you launch JRockit Mission Control, you can also access additional documentation about this feature using online help.

JRockit Memory Leak Detector

The BEA Memory Leak Detector is a tool for discovering and finding the cause for memory leaks in a Java application. The BEA JRockit Memory Leak Detector's trend analyzer discovers slow leaks, it shows detailed heap statistics (including referring types and instances to leaking objects), allocation sites, and it provides a quick drill down to the cause of the memory leak. The Memory Leak Detector uses advanced graphical presentation techniques to make it easier to navigate and understand the sometimes complex information.

See Introduction to JRockit Memory Leak Detector for additional information about using the memory leak detector. After you launch JRockit Mission Control, you can also access additional documentation about this feature using online help.

Starting JRockit Mission Control

To start JRockit Mission Control, follow these steps:

  1. Ensure that your JAVA_HOME environment variable points to the root folder of the JRockit JDK included in WebLogic Real Time 2.0.
  2. This directory is called BEA_HOME\jrockit-realtime20_150_11, where BEA_HOME refers to the main BEA Home directory into which you installed WebLogic Real Time 2.0, such as d:\beahome_wlrt.

  3. Open up a command window.
  4. Execute the jrmc executable file, located in the %JAVA_HOME%\bin directory:
  5. (Windows)  prompt> %JAVA_HOME%\bin\jrmc
    (Linux)    prompt> ${JAVA_HOME}/bin/jrmc

 


Example Use Cases

These use cases provide examples of how WebLogic Real Time can provide solutions for high-performance environments with response-time sensitive applications.

Derivative Exchange Defies Arbitrage Traders

An investment arm of a large retail bank provides an exchange for derivatives of European securities. It is an over-the-counter (OTC) request-for-quote and execution system (but provides no settlement and clearing services). A broker submits a request for a quotation and includes the investment identifier and quantity. The system accepts the quotation and applies certain business rules. Depending upon the investment identifier and market conditions, the request is routed to a particular third-party market-maker who then calculates and provides the bid and ask price for the derivative. The response is returned to the broker via the OTC exchange. The broker can then execute the trade of the derivative through a subsequent request, which is routed via the OTC exchange to the appropriate market maker.

The complication with this arrangement is that arbitrage traders can take advantage of the latency delay in the bank's OTC exchange infrastructure because the arbitrage trader can measure the latency that occurs during the small period in which the request for quotation is handled. In a fast moving market, price changes of the derivative may occur within this latency period. This presents an opportunity for an arbitrage trader to take advantage of inefficiency in the marketplace and expose the investment bank to intolerable risk.

The investment bank requires a very high performance-driven software infrastructure, such as WebLogic Real Time. It requires that the latency of the OTC exchange be extremely low. Specifically, to combat arbitrage traders, the latency of the exchange's infrastructure must be less than the latency of the arbitrage traders' infrastructure. In this way, the arbitrage traders' data becomes stale before the exchange's, and therefore is not actionable.

Competition-Beating Risk Calculation Infrastructure

A large investment bank is a market-maker for fixed income securities. A request-for-quote (RFQ) is received from an inter-dealer market electronic communication network (ECN), such as TradeWeb. This RFQ would have been submitted to a number of entities. To be competitive, it is vital that the quotation is returned as quickly as possible with the best possible price. Therefore, a minimum amount of latency is necessary to ensure that the investment bank wins customers, or at least, the latency is less than that of the organization's competitors.

During the quotation process, a risk and pricing model is executed to determine the quote price to provide to the customer. Because of the complexity of these calculations, they are currently performed overnight. The result is a stratum of at least four grades of risk advisories that govern fixed rate securities prices. Note that there is at least a twelve-hour lag in these risk calculations. This leads to a risk window since the calculations are stale even at the start of next-day business. To lower this risk, and potentially provide better rates to customers, a real-time risk and pricing calculator would be required. WebLogic Real Time provides a latency-adverse infrastructure to make this feasible.

 


Software Components

WebLogic Real Time supports Java applications running on WebLogic Event Server 2.0, WebLogic Server 10.0 (or higher), and WebLogic Server 8.1 environments, as well as supporting standalone Java applications running on J2SE 5.0 and 1.4.2 runtime environments.

WebLogic Real Time includes the following software components:

BEA JRockit 5.0 R27.3 JVM

The BEA JRockit® 5.0 R27.3 JVM is certified to be compatible with J2SE 5.0 (update 6), WebLogic Event Server 2.0, and WebLogic Server 10.0 or higher. The 5.0 R27.3 JVM includes the Deterministic Garbage Collector for dynamic garbage collection priority that ensures extremely short pause times and limits the total number of those pauses within a prescribed window, as described in Deterministic Garbage Collection. It also installs the JRockit Runtime Analyzer (JRA) tool, latency analyzer tool (LAT), and memory leak detector, which provide internal metrics that are useful for profiling JRockit, as described in JRockit Runtime Analyzer (JRA).

The realtime20_jdk1.5.0_XXX version of the installer kit can be installed in a WebLogic Event Server 2.0 or WebLogic Server 10.0 environment to work with WebLogic Event Server or WebLogic Server applications, as well as in standalone mode for standalone Java applications or Spring Framework-based applications, with the following installation differences:

For a listing of the hardware and software configurations supported by WebLogic Real Time, see Supported Configurations for WebLogic Real Time.

BEA JRockit 1.4.2 R27.3 JVM

The BEA JRockit® 1.4.2 R27.3 JVM is certified to be compatible with J2SE 1.4.2_14 and WebLogic Server 8.1 SP2 and later. The 1.4.2 R27.3 JVM includes the Deterministic Garbage Collector for dynamic garbage collection priority that ensures extremely short pause times and limits the total number of those pauses within a prescribed window, as described in Deterministic Garbage Collection. It also installs the BEA JRockit Runtime Analyzer (JRA) tool, which provides internal metrics for Java developers using BEA JRockit as their runtime JVM, as described in JRockit Runtime Analyzer (JRA).

The realtime20_jdk1.4.2_XXX version of the installer kit can be installed in a WebLogic Server 8.1 environment to work with WebLogic Server 8.1 SP2 and later applications, as well as in standalone mode for standalone Java applications or Spring Framework-based applications, with the following installation differences:

For a listing of the hardware and software configurations supported by WebLogic Real Time, see Supported Configurations for WebLogic Real Time.

Deterministic Garbage Collection

Memory management relies on effective garbage collection, which is the process of clearing dead objects from the heap, thus releasing that space for new objects. WebLogic Real Time uses a dynamic "deterministic" garbage collection priority (-Xgcprio:deterministic) that is optimized to ensure extremely short pause times and limit the total number of those pauses within a prescribed window.

For certain types of applications, particularly in the Telecom and Finance industries, stringent requirements are placed on transaction latency. When these applications are written in Java, the unpredictable pause times caused by garbage collection can have a profound and potentially harmful affect on this latency.

However, shorter deterministic pause times do not necessarily equal higher throughput. Instead the goal of the deterministic garbage collection is to lower the maximum latency for applications that are running when garbage collection occurs. Such shorter pause times should lessen the impact of the deterministic garbage collection compared to running a normal garbage collection.

For more information on the deterministic garbage collector, see the BEA JRockit Diagnostics Guide.

Enabling the Deterministic Garbage Collector

JRockit Runtime Analyzer (JRA)

The JRockit Runtime Analyzer (JRA) tool is an application that helps you profile your application and the Java runtime. It provides a wealth of useful metrics that are useful when using BEA JRockit as your runtime VM.

The BEA JRockit Runtime Analyzer consists of two parts. One is running inside the JVM and recording information about the JVM and the Java application currently running. This information is saved to a file which is then opened in the other part: the analyzer tool. This is a regular Java application used to visualize the information contained in the JRA recording file.

The JRocking Runtime Analyzer is packaged as part of the BEA JRockit Mission Control 2.0 tools suite. Documentation for Mission Control 2.0 is bundled with the tools as online documentation. For general information about Mission Control 2.0, see Introduction to BEA JRockit Mission Control.

 


Supported Configurations for WebLogic Real Time

For information on supported configurations, see BEA WebLogic Real Time 2.0 in Supported Configurations: WebLogic.

 


Terminology

Table 1-1 defines the terms and acronyms used this document:

Table 1-1 Terminology 
Terms
Definition
Real-time
A level of computer responsiveness that a user senses as sufficiently immediate or that enables the computer to keep up with some external process (for example, to present visualizations of the weather as it constantly changes).
Latency
An expression of how much time it takes for data to get from one designated point to another.
Throughput
The amount of work that a computer can do in a given time period.
Deterministic garbage collection
Short, predictable pause times for memory heap garbage collection, which is the process of clearing dead objects from the heap, thus releasing that space for new objects.


  Back to Top       Previous  Next