![]() ![]() ![]() ![]() ![]() ![]() |
This section contains information on the following subjects:
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.
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:
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.
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.
To start JRockit Mission Control, follow these steps:
JAVA_HOME
environment variable points to the root folder of the JRockit JDK included in WebLogic Real Time 2.0.
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
.
jrmc
executable file, located in the %JAVA_HOME%\bin
directory:(Windows) prompt> %JAVA_HOME%\bin\jrmc
(Linux) prompt> ${JAVA_HOME}/bin/jrmc
These use cases provide examples of how WebLogic Real Time can provide solutions for high-performance environments with response-time sensitive applications.
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.
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.
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:
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:
wl-realtime.jar
) for creating a 10.0 or later domain with Deterministic GC enabled. The installer also includes sample startup scripts, startRealTime
(.cmd/.sh
), that demonstrate how to start BEA JRockit with Deterministic GC enabled, which may be useful for Spring-based applications that are using some WebLogic Server facilities.For a listing of the hardware and software configurations supported by WebLogic Real Time, see Supported Configurations for WebLogic Real Time.
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:
wl-realtime.jar
) for creating an 8.1 SP2 and later domain with Deterministic GC enabled. The installer also includes sample startup scripts, startRealTime
(.cmd/.sh
), that demonstrate how to start BEA JRockit with Deterministic GC enabled, which may be useful for Spring-based applications that are using some WebLogic Server facilities.startRealTime
(.cmd/.sh
), that demonstrate how to start BEA JRockit with Deterministic GC enabled. However, in standalone mode, the WebLogic domain template is not installed.For a listing of the hardware and software configurations supported by WebLogic Real Time, see Supported Configurations for WebLogic Real Time.
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.
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.
For information on supported configurations, see BEA WebLogic Real Time 2.0 in Supported Configurations: WebLogic.
Table 1-1 defines the terms and acronyms used this document:
![]() ![]() ![]() |