# Introduction to WebLogic Real Time, Core Edition

# Overview of WebLogic Real Time, Core Edition

This section contains information on the following subjects:

- What is WebLogic Real Time, Core Edition?
- Example Use Cases
- Software Components
- Supported Configurations for WebLogic Real Time, Core Edition
- Support for WebLogic Real Time, Core Edition
- Terminology

## What is WebLogic Real Time, Core Edition?

WebLogic Real Time, Core Edition 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, Core Edition 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, Core Edition's proprietary BEA JRockit R27.1 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, Core Edition supports Java applications running in WebLogic Server 8.1 (SP2 and later) and WebLogic Server 9.1 and later environments. For a complete listing of supported configurations with WebLogic Server releases, see Supported Configurations for WebLogic Real Time, Core Edition.

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

## Example Use Cases

These use cases provide examples of how WebLogic Real Time, Core Edition 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, Core Edition. 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, Core Edition provides a latency-adverse infrastructure to make this feasible.

## Software Components

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

WebLogic Real Time, Core Edition includes the following software components:

### BEA JRockit 1.4.2 R27.1 JVM

The BEA JRockit® 1.4.2 R27.1 JVM is certified to be compatible with J2SE 1.4.2_11 and WebLogic Server 8.1 SP2 and later. The 1.4.2 R27.1 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 `realtime11_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:

- WebLogic Server 8.1 (SP2 and later) install mode — The installer includes a WebLogic domain configuration template (`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.
- Standalone install mode — When installed in a BEA Home directory without WebLogic Server, the installer still includes the sample startup scripts, `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, Core Edition, see Supported Configurations for WebLogic Real Time, Core Edition.

### BEA JRockit 5.0 R27.1 JVM

The BEA JRockit® 5.0 R27.1 JVM is certified to be compatible with J2SE 5.0 (update 6) and WebLogic Server 9.1 or higher. The 5.0 R27.1 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, which provides internal metrics that are useful for profiling JRockit, as described in JRockit Runtime Analyzer (JRA).

The `realtime11_jdk1.5.0_``XXX` version of the installer kit can be installed in a WebLogic Server 9.x environment to work with WebLogic Server 9.1and later applications, as well as in standalone mode for standalone Java applications or Spring Framework-based applications, with the following installation differences:

- WebLogic Server 9.1 (and later) install mode — The installer includes a WebLogic domain configuration template (`wl-realtime.jar`) for creating a 9.1 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.
- Standalone install mode — When installed in a BEA Home directory without WebLogic Server, the installer still includes the sample Deterministic GC startup scripts, which may be useful for Spring-based applications that are using some WebLogic Server facilities. However, in this scenario, the WebLogic domain template is not installed.

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

### 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. WLRT, Core Edtion 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 Minimal Transaction Latency (The Deterministic Garbage Collector) in the BEA JRockit Diagnostics Guide.

#### Enabling the Deterministic Garbage Collector

- For standalone or Spring-Based Java applications, either:

- Enter the `-Xgcprio:deterministic` option from a Java command line.
- Use the sample startup scripts, `startRealTime` (`.cmd/.sh`), that demonstrate how to start BEA JRockit with Deterministic GC enabled.

- For WebLogic Server environments, either:

- Start WebLogic Server with the `-Xgcprio:deterministic` option in the startup script.
- Use the Start menu > BEA Products > Tools > Configuration Wizard to create a domain with Deterministic GC enabled.

### 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, Core Edition

Table 1-1 lists the operating system and hardware configurations on which BEA supports WebLogic Real Time, Core Edition - Version 1.1 and WebLogic Server.

Table 1-1 Operating System and Hardware Supported by WebLogic Real Time, Core Edition
Operating System | Version | JRockit JVM | Hardware | WebLogic Server
--- | --- | --- | --- | ---
Microsoft Windows Server 2003 | Standard Enterprise Datacenter | 1.4.2 R27.1 | x86 | 8.1 SP2 and later
AMD64, EM64T1 | 8.1 SP4 and later
5.0 R27.1 | x86 | 9.1 and later
AMD64, EM64T1 | 9.1 and later
Microsoft Windows XP | SP1 | 1.4.2 R27.1 | x86 | 8.1 SP2 and later
AMD64, EM64T1 | n/a
SP2 | 5.0 R27.1 | x86 | 9.1 and later
AMD64, EM64T1 | n/a
Novell SuSE Linux | Enterprise Server 9 (SP2 or later) | 1.4.2 R27.1 | x86 | 8.1 SP4 and later
AMD64, EM64T1 | 8.1 SP5
5.0 R27.1 (32-bit JVM) | x86 | 9.1 and later
AMD64, EM64T1 | 9.1 and later
5.0 R27.1 (64-bit JVM) | AMD64, EM64T | 9.2 and later
Red Hat Enterprise Linux | 3.0 AS, ES, WS (Update 5 or later) | 1.4.2 R27.1 | x86 | 8.1 SP2 and later
5.0 R27.1 | x86 | 9.1 and later
4.0 AS, ES, WS (Update 1 or later) | 1.4.2 R27.1 | x86 | 8.1 SP5 and later
AMD64, EM64T1 | 8.1 SP4 and later
5.0 R27.1 (32-bit JVM) | x86 | 9.1 and later
AMD64, EM64T1 | 9.1 and later
5.0 R27.1 (64-bit JVM) | AMD64, EM64T | 9.2 and later
Sun Solaris | 9 | 1.4.2 R27.1 | SPARC2 | n/a
5.0 R27.1 | SPARC2 | 9.1 and later
10 | 1.4.2 R27.1 | SPARC2 | n/a
5.0 R27.1 | SPARC2 | 9.1 and later

132-bit JVM 264-bit JVM only

Note: | The following conditions apply to certain configuration's compatibility with particular WebLogic Server releases:

- Microsoft Windows 2003 and XP on x86 — JRockit 1.4.2_10 (R27.1) for WebLogic Real Time, Core Edition is supported for WebLogic Server 8.1 SP2 and later. However, a performance patch is required for 8.1 SP2 through 8.1 SP5.
- Red Hat Enterprise Linux WS on x86 — JRockit 1.4.2_10 (R27.1) is only supported on WebLogic Server 8.1 SP4 and later.
- Novell SuSE Linux on x86 — For JRockit 5.0 (R27.1), SLES SP3 or later is required for WebLogic Server 9.1.

## Support for WebLogic Real Time, Core Edition

You are entitled to support if you have a support agreement with BEA.

## Terminology

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

Table 1-2 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.